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
10
11const unsigned MAX_SUBTARGET_PREDICATES = 161;
12using PredicateBitset = llvm::Bitset<MAX_SUBTARGET_PREDICATES>;
13
14#endif // GET_GLOBALISEL_PREDICATE_BITSET
15
16#ifdef GET_GLOBALISEL_TEMPORARIES_DECL
17
18 mutable MatcherState State;
19 typedef ComplexRendererFns(X86InstructionSelector::*ComplexMatcherMemFn)(MachineOperand &) const;
20 typedef void(X86InstructionSelector::*CustomRendererFn)(MachineInstrBuilder &, const MachineInstr &, int) const;
21 const ExecInfoTy<PredicateBitset, ComplexMatcherMemFn, CustomRendererFn> ExecInfo;
22 static X86InstructionSelector::ComplexMatcherMemFn ComplexPredicateFns[];
23 static X86InstructionSelector::CustomRendererFn CustomRenderers[];
24 bool testImmPredicate_I64(unsigned PredicateID, int64_t Imm) const override;
25 bool testImmPredicate_APInt(unsigned PredicateID, const APInt &Imm) const override;
26 bool testImmPredicate_APFloat(unsigned PredicateID, const APFloat &Imm) const override;
27 const uint8_t *getMatchTable() const override;
28 bool testMIPredicate_MI(unsigned PredicateID, const MachineInstr &MI, const MatcherState &State) const override;
29 bool testMOPredicate_MO(unsigned PredicateID, const MachineOperand &MO, const MatcherState &State) const override;
30 bool testSimplePredicate(unsigned PredicateID) const override;
31 bool runCustomAction(unsigned FnID, const MatcherState &State, NewMIVector &OutMIs) const override;
32
33#endif // GET_GLOBALISEL_TEMPORARIES_DECL
34
35#ifdef GET_GLOBALISEL_TEMPORARIES_INIT
36
37, State(1),
38ExecInfo(TypeObjects, NumTypeObjects, FeatureBitsets, ComplexPredicateFns, CustomRenderers)
39
40#endif // GET_GLOBALISEL_TEMPORARIES_INIT
41
42#ifdef GET_GLOBALISEL_IMPL
43
44// LLT Objects.
45enum {
46 GILLT_s1,
47 GILLT_s8,
48 GILLT_s16,
49 GILLT_s32,
50 GILLT_s64,
51 GILLT_s80,
52 GILLT_s128,
53 GILLT_v2s1,
54 GILLT_v2s64,
55 GILLT_v4s1,
56 GILLT_v4s32,
57 GILLT_v4s64,
58 GILLT_v8s1,
59 GILLT_v8s16,
60 GILLT_v8s32,
61 GILLT_v8s64,
62 GILLT_v16s1,
63 GILLT_v16s8,
64 GILLT_v16s16,
65 GILLT_v16s32,
66 GILLT_v32s1,
67 GILLT_v32s8,
68 GILLT_v32s16,
69 GILLT_v64s1,
70 GILLT_v64s8,
71};
72const static size_t NumTypeObjects = 25;
73const static LLT TypeObjects[] = {
74 LLT::scalar(1),
75 LLT::scalar(8),
76 LLT::scalar(16),
77 LLT::scalar(32),
78 LLT::scalar(64),
79 LLT::scalar(80),
80 LLT::scalar(128),
81 LLT::vector(ElementCount::getFixed(2), 1),
82 LLT::vector(ElementCount::getFixed(2), 64),
83 LLT::vector(ElementCount::getFixed(4), 1),
84 LLT::vector(ElementCount::getFixed(4), 32),
85 LLT::vector(ElementCount::getFixed(4), 64),
86 LLT::vector(ElementCount::getFixed(8), 1),
87 LLT::vector(ElementCount::getFixed(8), 16),
88 LLT::vector(ElementCount::getFixed(8), 32),
89 LLT::vector(ElementCount::getFixed(8), 64),
90 LLT::vector(ElementCount::getFixed(16), 1),
91 LLT::vector(ElementCount::getFixed(16), 8),
92 LLT::vector(ElementCount::getFixed(16), 16),
93 LLT::vector(ElementCount::getFixed(16), 32),
94 LLT::vector(ElementCount::getFixed(32), 1),
95 LLT::vector(ElementCount::getFixed(32), 8),
96 LLT::vector(ElementCount::getFixed(32), 16),
97 LLT::vector(ElementCount::getFixed(64), 1),
98 LLT::vector(ElementCount::getFixed(64), 8),
99};
100
101// Bits for subtarget features that participate in instruction matching.
102enum SubtargetFeatureBits : uint8_t {
103 Feature_TruePredicateBit = 67,
104 Feature_HasEGPRBit = 5,
105 Feature_NoEGPRBit = 4,
106 Feature_HasNDDBit = 6,
107 Feature_NoNDDBit = 27,
108 Feature_HasZUBit = 157,
109 Feature_PreferLegacySetCCBit = 33,
110 Feature_PreferNoLegacySetCCBit = 34,
111 Feature_HasNDDIBit = 29,
112 Feature_NoNDDIBit = 28,
113 Feature_HasCFBit = 32,
114 Feature_HasJMPABSBit = 155,
115 Feature_HasCMOVBit = 31,
116 Feature_NoCMOVBit = 139,
117 Feature_HasMMXBit = 112,
118 Feature_HasSSE1Bit = 53,
119 Feature_UseSSE1Bit = 60,
120 Feature_HasSSE2Bit = 52,
121 Feature_UseSSE2Bit = 61,
122 Feature_HasSSE3Bit = 44,
123 Feature_UseSSE3Bit = 70,
124 Feature_HasSSSE3Bit = 113,
125 Feature_UseSSSE3Bit = 71,
126 Feature_UseSSE41Bit = 68,
127 Feature_UseSSE42Bit = 75,
128 Feature_HasSSE4ABit = 85,
129 Feature_NoAVXBit = 81,
130 Feature_HasAVXBit = 62,
131 Feature_HasAVX2Bit = 56,
132 Feature_HasAVX1OnlyBit = 54,
133 Feature_HasAVX10_2Bit = 111,
134 Feature_NoAVX10_2Bit = 74,
135 Feature_HasAVX512Bit = 98,
136 Feature_UseAVXBit = 58,
137 Feature_NoAVX512Bit = 49,
138 Feature_HasCDIBit = 102,
139 Feature_HasVPOPCNTDQBit = 106,
140 Feature_HasDQIBit = 100,
141 Feature_NoDQIBit = 72,
142 Feature_HasBWIBit = 101,
143 Feature_NoBWIBit = 69,
144 Feature_HasVLXBit = 99,
145 Feature_NoVLXBit = 48,
146 Feature_NoVLX_Or_NoBWIBit = 66,
147 Feature_HasVNNIBit = 108,
148 Feature_HasVP2INTERSECTBit = 110,
149 Feature_HasFP16Bit = 104,
150 Feature_HasAVXVNNIINT16Bit = 97,
151 Feature_HasAVXVNNIINT8Bit = 92,
152 Feature_HasAVXVNNIBit = 86,
153 Feature_NoVLX_Or_NoVNNIBit = 87,
154 Feature_HasBITALGBit = 109,
155 Feature_HasPOPCNTBit = 73,
156 Feature_HasAESBit = 78,
157 Feature_HasVAESBit = 80,
158 Feature_NoVLX_Or_NoVAESBit = 79,
159 Feature_HasFXSRBit = 45,
160 Feature_HasX87Bit = 43,
161 Feature_HasXSAVEBit = 128,
162 Feature_HasXSAVEOPTBit = 129,
163 Feature_HasXSAVECBit = 130,
164 Feature_HasXSAVESBit = 131,
165 Feature_HasPCLMULBit = 82,
166 Feature_NoVLX_Or_NoVPCLMULQDQBit = 83,
167 Feature_HasVPCLMULQDQBit = 84,
168 Feature_HasGFNIBit = 89,
169 Feature_HasFMABit = 46,
170 Feature_HasFMA4Bit = 50,
171 Feature_NoFMA4Bit = 47,
172 Feature_HasXOPBit = 51,
173 Feature_HasTBMBit = 26,
174 Feature_NoTBMBit = 144,
175 Feature_HasLWPBit = 12,
176 Feature_HasMOVBEBit = 3,
177 Feature_NoNDD_Or_NoMOVBEBit = 2,
178 Feature_HasRDRANDBit = 7,
179 Feature_HasF16CBit = 88,
180 Feature_HasFSGSBaseBit = 132,
181 Feature_HasLZCNTBit = 9,
182 Feature_HasBMIBit = 10,
183 Feature_HasBMI2Bit = 11,
184 Feature_NoBMI2Bit = 143,
185 Feature_HasVBMIBit = 103,
186 Feature_HasVBMI2Bit = 107,
187 Feature_HasIFMABit = 105,
188 Feature_HasAVXIFMABit = 90,
189 Feature_NoVLX_Or_NoIFMABit = 91,
190 Feature_HasRTMBit = 115,
191 Feature_HasSHABit = 77,
192 Feature_HasSHA512Bit = 94,
193 Feature_HasSM3Bit = 95,
194 Feature_HasRDSEEDBit = 8,
195 Feature_HasSSEPrefetchBit = 63,
196 Feature_HasPREFETCHIBit = 20,
197 Feature_HasPrefetchWBit = 114,
198 Feature_HasMWAITXBit = 142,
199 Feature_HasCLDEMOTEBit = 24,
200 Feature_HasMOVDIRIBit = 14,
201 Feature_HasMOVDIR64BBit = 15,
202 Feature_HasMOVRSBit = 25,
203 Feature_HasPTWRITEBit = 135,
204 Feature_FPStackf32Bit = 41,
205 Feature_FPStackf64Bit = 42,
206 Feature_HasSM4Bit = 96,
207 Feature_HasCLFLUSHBit = 64,
208 Feature_HasCLFLUSHOPTBit = 22,
209 Feature_HasCLWBBit = 23,
210 Feature_HasWBNOINVDBit = 127,
211 Feature_HasRDPIDBit = 134,
212 Feature_HasWAITPKGBit = 13,
213 Feature_HasINVPCIDBit = 133,
214 Feature_HasCX8Bit = 140,
215 Feature_HasCX16Bit = 141,
216 Feature_HasENQCMDBit = 16,
217 Feature_HasAMXFP16Bit = 120,
218 Feature_HasCMPCCXADDBit = 21,
219 Feature_HasAVXNECONVERTBit = 93,
220 Feature_HasKLBit = 116,
221 Feature_HasRAOINTBit = 125,
222 Feature_HasSERIALIZEBit = 17,
223 Feature_HasTSXLDTRKBit = 18,
224 Feature_HasAMXTILEBit = 117,
225 Feature_HasAMXBF16Bit = 119,
226 Feature_HasAMXINT8Bit = 118,
227 Feature_HasAMXCOMPLEXBit = 121,
228 Feature_HasAMXFP8Bit = 122,
229 Feature_HasAMXAVX512Bit = 123,
230 Feature_HasAMXTF32Bit = 124,
231 Feature_HasUINTRBit = 19,
232 Feature_HasUSERMSRBit = 126,
233 Feature_HasCRC32Bit = 76,
234 Feature_Not64BitModeBit = 0,
235 Feature_In64BitModeBit = 1,
236 Feature_IsLP64Bit = 137,
237 Feature_NotLP64Bit = 136,
238 Feature_NotWin64WithoutFPBit = 138,
239 Feature_IsPSBit = 147,
240 Feature_NotPSBit = 146,
241 Feature_KernelCodeBit = 148,
242 Feature_NearDataBit = 150,
243 Feature_IsNotPICBit = 149,
244 Feature_OptForSizeBit = 57,
245 Feature_OptForMinSizeBit = 55,
246 Feature_OptForSpeedBit = 145,
247 Feature_UseIncDecBit = 30,
248 Feature_NoSSE41_Or_OptForSizeBit = 59,
249 Feature_ImportCallOptimizationEnabledBit = 39,
250 Feature_ImportCallOptimizationDisabledBit = 37,
251 Feature_IsWin64CCFuncBit = 154,
252 Feature_IsNotWin64CCFuncBit = 153,
253 Feature_IsHiPECCFuncBit = 152,
254 Feature_IsNotHiPECCFuncBit = 151,
255 Feature_CallImmAddrBit = 156,
256 Feature_FavorMemIndirectCallBit = 35,
257 Feature_HasFastSHLDRotateBit = 40,
258 Feature_HasMFenceBit = 65,
259 Feature_UseIndirectThunkCallsBit = 38,
260 Feature_NotUseIndirectThunkCallsBit = 36,
261 Feature_HwMode2Bit = 160,
262 Feature_HwMode1Bit = 159,
263 Feature_HwMode0Bit = 158,
264};
265
266PredicateBitset X86InstructionSelector::
267computeAvailableModuleFeatures(const X86Subtarget *Subtarget) const {
268 PredicateBitset Features{};
269 if (true)
270 Features.set(Feature_TruePredicateBit);
271 if (Subtarget->hasEGPR())
272 Features.set(Feature_HasEGPRBit);
273 if (!Subtarget->hasEGPR())
274 Features.set(Feature_NoEGPRBit);
275 if (Subtarget->hasNDD())
276 Features.set(Feature_HasNDDBit);
277 if (!Subtarget->hasNDD())
278 Features.set(Feature_NoNDDBit);
279 if (Subtarget->hasZU())
280 Features.set(Feature_HasZUBit);
281 if (!Subtarget->hasZU() || Subtarget->preferLegacySetCC())
282 Features.set(Feature_PreferLegacySetCCBit);
283 if (Subtarget->hasZU() && !Subtarget->preferLegacySetCC())
284 Features.set(Feature_PreferNoLegacySetCCBit);
285 if (Subtarget->hasNDD() && Subtarget->hasNDDI())
286 Features.set(Feature_HasNDDIBit);
287 if (!Subtarget->hasNDD() || !Subtarget->hasNDDI())
288 Features.set(Feature_NoNDDIBit);
289 if (Subtarget->hasCF())
290 Features.set(Feature_HasCFBit);
291 if (Subtarget->hasJMPABS())
292 Features.set(Feature_HasJMPABSBit);
293 if (Subtarget->canUseCMOV())
294 Features.set(Feature_HasCMOVBit);
295 if (!Subtarget->canUseCMOV())
296 Features.set(Feature_NoCMOVBit);
297 if (Subtarget->hasMMX())
298 Features.set(Feature_HasMMXBit);
299 if (Subtarget->hasSSE1())
300 Features.set(Feature_HasSSE1Bit);
301 if (Subtarget->hasSSE1() && !Subtarget->hasAVX())
302 Features.set(Feature_UseSSE1Bit);
303 if (Subtarget->hasSSE2())
304 Features.set(Feature_HasSSE2Bit);
305 if (Subtarget->hasSSE2() && !Subtarget->hasAVX())
306 Features.set(Feature_UseSSE2Bit);
307 if (Subtarget->hasSSE3())
308 Features.set(Feature_HasSSE3Bit);
309 if (Subtarget->hasSSE3() && !Subtarget->hasAVX())
310 Features.set(Feature_UseSSE3Bit);
311 if (Subtarget->hasSSSE3())
312 Features.set(Feature_HasSSSE3Bit);
313 if (Subtarget->hasSSSE3() && !Subtarget->hasAVX())
314 Features.set(Feature_UseSSSE3Bit);
315 if (Subtarget->hasSSE41() && !Subtarget->hasAVX())
316 Features.set(Feature_UseSSE41Bit);
317 if (Subtarget->hasSSE42() && !Subtarget->hasAVX())
318 Features.set(Feature_UseSSE42Bit);
319 if (Subtarget->hasSSE4A())
320 Features.set(Feature_HasSSE4ABit);
321 if (!Subtarget->hasAVX())
322 Features.set(Feature_NoAVXBit);
323 if (Subtarget->hasAVX())
324 Features.set(Feature_HasAVXBit);
325 if (Subtarget->hasAVX2())
326 Features.set(Feature_HasAVX2Bit);
327 if (Subtarget->hasAVX() && !Subtarget->hasAVX2())
328 Features.set(Feature_HasAVX1OnlyBit);
329 if (Subtarget->hasAVX10_2())
330 Features.set(Feature_HasAVX10_2Bit);
331 if (!Subtarget->hasAVX10_2())
332 Features.set(Feature_NoAVX10_2Bit);
333 if (Subtarget->hasAVX512())
334 Features.set(Feature_HasAVX512Bit);
335 if (Subtarget->hasAVX() && !Subtarget->hasAVX512())
336 Features.set(Feature_UseAVXBit);
337 if (!Subtarget->hasAVX512())
338 Features.set(Feature_NoAVX512Bit);
339 if (Subtarget->hasCDI())
340 Features.set(Feature_HasCDIBit);
341 if (Subtarget->hasVPOPCNTDQ())
342 Features.set(Feature_HasVPOPCNTDQBit);
343 if (Subtarget->hasDQI())
344 Features.set(Feature_HasDQIBit);
345 if (!Subtarget->hasDQI())
346 Features.set(Feature_NoDQIBit);
347 if (Subtarget->hasBWI())
348 Features.set(Feature_HasBWIBit);
349 if (!Subtarget->hasBWI())
350 Features.set(Feature_NoBWIBit);
351 if (Subtarget->hasVLX())
352 Features.set(Feature_HasVLXBit);
353 if (!Subtarget->hasVLX())
354 Features.set(Feature_NoVLXBit);
355 if (!Subtarget->hasVLX() || !Subtarget->hasBWI())
356 Features.set(Feature_NoVLX_Or_NoBWIBit);
357 if (Subtarget->hasVNNI())
358 Features.set(Feature_HasVNNIBit);
359 if (Subtarget->hasVP2INTERSECT())
360 Features.set(Feature_HasVP2INTERSECTBit);
361 if (Subtarget->hasFP16())
362 Features.set(Feature_HasFP16Bit);
363 if (Subtarget->hasAVXVNNIINT16())
364 Features.set(Feature_HasAVXVNNIINT16Bit);
365 if (Subtarget->hasAVXVNNIINT8())
366 Features.set(Feature_HasAVXVNNIINT8Bit);
367 if (Subtarget->hasAVXVNNI())
368 Features.set(Feature_HasAVXVNNIBit);
369 if (!Subtarget->hasVLX() || !Subtarget->hasVNNI())
370 Features.set(Feature_NoVLX_Or_NoVNNIBit);
371 if (Subtarget->hasBITALG())
372 Features.set(Feature_HasBITALGBit);
373 if (Subtarget->hasPOPCNT())
374 Features.set(Feature_HasPOPCNTBit);
375 if (Subtarget->hasAES())
376 Features.set(Feature_HasAESBit);
377 if (Subtarget->hasVAES())
378 Features.set(Feature_HasVAESBit);
379 if (!Subtarget->hasVLX() || !Subtarget->hasVAES())
380 Features.set(Feature_NoVLX_Or_NoVAESBit);
381 if (Subtarget->hasFXSR())
382 Features.set(Feature_HasFXSRBit);
383 if (Subtarget->hasX87())
384 Features.set(Feature_HasX87Bit);
385 if (Subtarget->hasXSAVE())
386 Features.set(Feature_HasXSAVEBit);
387 if (Subtarget->hasXSAVEOPT())
388 Features.set(Feature_HasXSAVEOPTBit);
389 if (Subtarget->hasXSAVEC())
390 Features.set(Feature_HasXSAVECBit);
391 if (Subtarget->hasXSAVES())
392 Features.set(Feature_HasXSAVESBit);
393 if (Subtarget->hasPCLMUL())
394 Features.set(Feature_HasPCLMULBit);
395 if (!Subtarget->hasVLX() || !Subtarget->hasVPCLMULQDQ())
396 Features.set(Feature_NoVLX_Or_NoVPCLMULQDQBit);
397 if (Subtarget->hasVPCLMULQDQ())
398 Features.set(Feature_HasVPCLMULQDQBit);
399 if (Subtarget->hasGFNI())
400 Features.set(Feature_HasGFNIBit);
401 if (Subtarget->hasFMA())
402 Features.set(Feature_HasFMABit);
403 if (Subtarget->hasFMA4())
404 Features.set(Feature_HasFMA4Bit);
405 if (!Subtarget->hasFMA4())
406 Features.set(Feature_NoFMA4Bit);
407 if (Subtarget->hasXOP())
408 Features.set(Feature_HasXOPBit);
409 if (Subtarget->hasTBM())
410 Features.set(Feature_HasTBMBit);
411 if (!Subtarget->hasTBM())
412 Features.set(Feature_NoTBMBit);
413 if (Subtarget->hasLWP())
414 Features.set(Feature_HasLWPBit);
415 if (Subtarget->hasMOVBE())
416 Features.set(Feature_HasMOVBEBit);
417 if (!Subtarget->hasNDD() || !Subtarget->hasMOVBE())
418 Features.set(Feature_NoNDD_Or_NoMOVBEBit);
419 if (Subtarget->hasRDRAND())
420 Features.set(Feature_HasRDRANDBit);
421 if (Subtarget->hasF16C())
422 Features.set(Feature_HasF16CBit);
423 if (Subtarget->hasFSGSBase())
424 Features.set(Feature_HasFSGSBaseBit);
425 if (Subtarget->hasLZCNT())
426 Features.set(Feature_HasLZCNTBit);
427 if (Subtarget->hasBMI())
428 Features.set(Feature_HasBMIBit);
429 if (Subtarget->hasBMI2())
430 Features.set(Feature_HasBMI2Bit);
431 if (!Subtarget->hasBMI2())
432 Features.set(Feature_NoBMI2Bit);
433 if (Subtarget->hasVBMI())
434 Features.set(Feature_HasVBMIBit);
435 if (Subtarget->hasVBMI2())
436 Features.set(Feature_HasVBMI2Bit);
437 if (Subtarget->hasIFMA())
438 Features.set(Feature_HasIFMABit);
439 if (Subtarget->hasAVXIFMA())
440 Features.set(Feature_HasAVXIFMABit);
441 if (!Subtarget->hasVLX() || !Subtarget->hasIFMA())
442 Features.set(Feature_NoVLX_Or_NoIFMABit);
443 if (Subtarget->hasRTM())
444 Features.set(Feature_HasRTMBit);
445 if (Subtarget->hasSHA())
446 Features.set(Feature_HasSHABit);
447 if (Subtarget->hasSHA512())
448 Features.set(Feature_HasSHA512Bit);
449 if (Subtarget->hasSM3())
450 Features.set(Feature_HasSM3Bit);
451 if (Subtarget->hasRDSEED())
452 Features.set(Feature_HasRDSEEDBit);
453 if (Subtarget->hasSSEPrefetch())
454 Features.set(Feature_HasSSEPrefetchBit);
455 if (Subtarget->hasPREFETCHI())
456 Features.set(Feature_HasPREFETCHIBit);
457 if (Subtarget->hasPrefetchW())
458 Features.set(Feature_HasPrefetchWBit);
459 if (Subtarget->hasMWAITX())
460 Features.set(Feature_HasMWAITXBit);
461 if (Subtarget->hasCLDEMOTE())
462 Features.set(Feature_HasCLDEMOTEBit);
463 if (Subtarget->hasMOVDIRI())
464 Features.set(Feature_HasMOVDIRIBit);
465 if (Subtarget->hasMOVDIR64B())
466 Features.set(Feature_HasMOVDIR64BBit);
467 if (Subtarget->hasMOVRS())
468 Features.set(Feature_HasMOVRSBit);
469 if (Subtarget->hasPTWRITE())
470 Features.set(Feature_HasPTWRITEBit);
471 if (!Subtarget->hasSSE1())
472 Features.set(Feature_FPStackf32Bit);
473 if (!Subtarget->hasSSE2())
474 Features.set(Feature_FPStackf64Bit);
475 if (Subtarget->hasSM4())
476 Features.set(Feature_HasSM4Bit);
477 if (Subtarget->hasCLFLUSH())
478 Features.set(Feature_HasCLFLUSHBit);
479 if (Subtarget->hasCLFLUSHOPT())
480 Features.set(Feature_HasCLFLUSHOPTBit);
481 if (Subtarget->hasCLWB())
482 Features.set(Feature_HasCLWBBit);
483 if (Subtarget->hasWBNOINVD())
484 Features.set(Feature_HasWBNOINVDBit);
485 if (Subtarget->hasRDPID())
486 Features.set(Feature_HasRDPIDBit);
487 if (Subtarget->hasWAITPKG())
488 Features.set(Feature_HasWAITPKGBit);
489 if (Subtarget->hasINVPCID())
490 Features.set(Feature_HasINVPCIDBit);
491 if (Subtarget->hasCX8())
492 Features.set(Feature_HasCX8Bit);
493 if (Subtarget->hasCX16())
494 Features.set(Feature_HasCX16Bit);
495 if (Subtarget->hasENQCMD())
496 Features.set(Feature_HasENQCMDBit);
497 if (Subtarget->hasAMXFP16())
498 Features.set(Feature_HasAMXFP16Bit);
499 if (Subtarget->hasCMPCCXADD())
500 Features.set(Feature_HasCMPCCXADDBit);
501 if (Subtarget->hasAVXNECONVERT())
502 Features.set(Feature_HasAVXNECONVERTBit);
503 if (Subtarget->hasKL())
504 Features.set(Feature_HasKLBit);
505 if (Subtarget->hasRAOINT())
506 Features.set(Feature_HasRAOINTBit);
507 if (Subtarget->hasSERIALIZE())
508 Features.set(Feature_HasSERIALIZEBit);
509 if (Subtarget->hasTSXLDTRK())
510 Features.set(Feature_HasTSXLDTRKBit);
511 if (Subtarget->hasAMXTILE())
512 Features.set(Feature_HasAMXTILEBit);
513 if (Subtarget->hasAMXBF16())
514 Features.set(Feature_HasAMXBF16Bit);
515 if (Subtarget->hasAMXINT8())
516 Features.set(Feature_HasAMXINT8Bit);
517 if (Subtarget->hasAMXCOMPLEX())
518 Features.set(Feature_HasAMXCOMPLEXBit);
519 if (Subtarget->hasAMXFP8())
520 Features.set(Feature_HasAMXFP8Bit);
521 if (Subtarget->hasAMXAVX512())
522 Features.set(Feature_HasAMXAVX512Bit);
523 if (Subtarget->hasAMXTF32())
524 Features.set(Feature_HasAMXTF32Bit);
525 if (Subtarget->hasUINTR())
526 Features.set(Feature_HasUINTRBit);
527 if (Subtarget->hasUSERMSR())
528 Features.set(Feature_HasUSERMSRBit);
529 if (Subtarget->hasCRC32())
530 Features.set(Feature_HasCRC32Bit);
531 if (!Subtarget->is64Bit())
532 Features.set(Feature_Not64BitModeBit);
533 if (Subtarget->is64Bit())
534 Features.set(Feature_In64BitModeBit);
535 if (Subtarget->isTarget64BitLP64())
536 Features.set(Feature_IsLP64Bit);
537 if (!Subtarget->isTarget64BitLP64())
538 Features.set(Feature_NotLP64Bit);
539 if (Subtarget->isTargetPS())
540 Features.set(Feature_IsPSBit);
541 if (!Subtarget->isTargetPS())
542 Features.set(Feature_NotPSBit);
543 if (TM.getCodeModel() == CodeModel::Kernel)
544 Features.set(Feature_KernelCodeBit);
545 if (TM.getCodeModel() == CodeModel::Small ||TM.getCodeModel() == CodeModel::Kernel)
546 Features.set(Feature_NearDataBit);
547 if (!TM.isPositionIndependent())
548 Features.set(Feature_IsNotPICBit);
549 if (Subtarget->isLegalToCallImmediateAddr())
550 Features.set(Feature_CallImmAddrBit);
551 if (!Subtarget->slowTwoMemOps())
552 Features.set(Feature_FavorMemIndirectCallBit);
553 if (Subtarget->hasFastSHLDRotate())
554 Features.set(Feature_HasFastSHLDRotateBit);
555 if (Subtarget->hasMFence())
556 Features.set(Feature_HasMFenceBit);
557 if (Subtarget->useIndirectThunkCalls())
558 Features.set(Feature_UseIndirectThunkCallsBit);
559 if (!Subtarget->useIndirectThunkCalls())
560 Features.set(Feature_NotUseIndirectThunkCallsBit);
561 if (!((Subtarget->is64Bit()) && (!Subtarget->getTargetTriple().isX32())) && !((Subtarget->getTargetTriple().isX32())))
562 Features.set(Feature_HwMode2Bit);
563 if ((Subtarget->getTargetTriple().isX32()))
564 Features.set(Feature_HwMode1Bit);
565 if ((Subtarget->is64Bit()) && (!Subtarget->getTargetTriple().isX32()))
566 Features.set(Feature_HwMode0Bit);
567 return Features;
568}
569
570void X86InstructionSelector::setupGeneratedPerFunctionState(MachineFunction &MF) {
571 AvailableFunctionFeatures = computeAvailableFunctionFeatures((const X86Subtarget *)&MF.getSubtarget(), &MF);
572}
573PredicateBitset X86InstructionSelector::
574computeAvailableFunctionFeatures(const X86Subtarget *Subtarget, const MachineFunction *MF) const {
575 PredicateBitset Features{};
576 if (!Subtarget->isTargetWin64() ||Subtarget->getFrameLowering()->hasFP(*MF))
577 Features.set(Feature_NotWin64WithoutFPBit);
578 if (shouldOptForSize(MF))
579 Features.set(Feature_OptForSizeBit);
580 if (MF->getFunction().hasMinSize())
581 Features.set(Feature_OptForMinSizeBit);
582 if (!shouldOptForSize(MF))
583 Features.set(Feature_OptForSpeedBit);
584 if (!Subtarget->slowIncDec() || shouldOptForSize(MF))
585 Features.set(Feature_UseIncDecBit);
586 if (shouldOptForSize(MF) || !Subtarget->hasSSE41())
587 Features.set(Feature_NoSSE41_Or_OptForSizeBit);
588 if (MF->getFunction().getParent()->getModuleFlag("import-call-optimization"))
589 Features.set(Feature_ImportCallOptimizationEnabledBit);
590 if (!MF->getFunction().getParent()->getModuleFlag("import-call-optimization"))
591 Features.set(Feature_ImportCallOptimizationDisabledBit);
592 if (Subtarget->isCallingConvWin64(MF->getFunction().getCallingConv()))
593 Features.set(Feature_IsWin64CCFuncBit);
594 if (!Subtarget->isCallingConvWin64(MF->getFunction().getCallingConv()))
595 Features.set(Feature_IsNotWin64CCFuncBit);
596 if (MF->getFunction().getCallingConv() == CallingConv::HiPE)
597 Features.set(Feature_IsHiPECCFuncBit);
598 if (MF->getFunction().getCallingConv() != CallingConv::HiPE)
599 Features.set(Feature_IsNotHiPECCFuncBit);
600 return Features;
601}
602
603// Feature bitsets.
604enum {
605 GIFBS_Invalid,
606 GIFBS_FPStackf32,
607 GIFBS_FPStackf64,
608 GIFBS_HasAVX,
609 GIFBS_HasAVX1Only,
610 GIFBS_HasAVX2,
611 GIFBS_HasAVX512,
612 GIFBS_HasAVXNECONVERT,
613 GIFBS_HasBITALG,
614 GIFBS_HasBMI,
615 GIFBS_HasBWI,
616 GIFBS_HasCDI,
617 GIFBS_HasCLDEMOTE,
618 GIFBS_HasCLFLUSH,
619 GIFBS_HasCLFLUSHOPT,
620 GIFBS_HasCLWB,
621 GIFBS_HasDQI,
622 GIFBS_HasFP16,
623 GIFBS_HasFXSR,
624 GIFBS_HasFastSHLDRotate,
625 GIFBS_HasKL,
626 GIFBS_HasLWP,
627 GIFBS_HasLZCNT,
628 GIFBS_HasMFence,
629 GIFBS_HasMMX,
630 GIFBS_HasMOVBE,
631 GIFBS_HasMOVRS,
632 GIFBS_HasMWAITX,
633 GIFBS_HasNDD,
634 GIFBS_HasNDDI,
635 GIFBS_HasPOPCNT,
636 GIFBS_HasPTWRITE,
637 GIFBS_HasPrefetchW,
638 GIFBS_HasRTM,
639 GIFBS_HasSERIALIZE,
640 GIFBS_HasSHA,
641 GIFBS_HasSHA512,
642 GIFBS_HasSM3,
643 GIFBS_HasSM4,
644 GIFBS_HasSSE1,
645 GIFBS_HasSSE2,
646 GIFBS_HasSSE3,
647 GIFBS_HasSSE4A,
648 GIFBS_HasSSEPrefetch,
649 GIFBS_HasTBM,
650 GIFBS_HasTSXLDTRK,
651 GIFBS_HasVBMI2,
652 GIFBS_HasVLX,
653 GIFBS_HasVPOPCNTDQ,
654 GIFBS_HasWAITPKG,
655 GIFBS_HasWBNOINVD,
656 GIFBS_HasX87,
657 GIFBS_HasXOP,
658 GIFBS_HasXSAVE,
659 GIFBS_HasXSAVEC,
660 GIFBS_HasXSAVEOPT,
661 GIFBS_HasXSAVES,
662 GIFBS_HasZU,
663 GIFBS_In64BitMode,
664 GIFBS_IsPS,
665 GIFBS_NoAVX,
666 GIFBS_NoDQI,
667 GIFBS_NoEGPR,
668 GIFBS_NoNDD,
669 GIFBS_NoNDDI,
670 GIFBS_NoNDD_Or_NoMOVBE,
671 GIFBS_NoVLX,
672 GIFBS_Not64BitMode,
673 GIFBS_NotPS,
674 GIFBS_UseAVX,
675 GIFBS_UseIncDec,
676 GIFBS_UseSSE1,
677 GIFBS_UseSSE2,
678 GIFBS_UseSSE3,
679 GIFBS_UseSSE41,
680 GIFBS_UseSSSE3,
681 GIFBS_HasAES_HasAVX,
682 GIFBS_HasAES_NoAVX,
683 GIFBS_HasAMXBF16_In64BitMode,
684 GIFBS_HasAMXCOMPLEX_In64BitMode,
685 GIFBS_HasAMXFP16_In64BitMode,
686 GIFBS_HasAMXFP8_In64BitMode,
687 GIFBS_HasAMXINT8_In64BitMode,
688 GIFBS_HasAMXTF32_In64BitMode,
689 GIFBS_HasAMXTILE_In64BitMode,
690 GIFBS_HasAVX_In64BitMode,
691 GIFBS_HasAVX_NoBWI,
692 GIFBS_HasAVX_NoVLX,
693 GIFBS_HasAVX_NoVLX_Or_NoBWI,
694 GIFBS_HasAVX10_2_HasSM4,
695 GIFBS_HasAVX2_NoVLX,
696 GIFBS_HasAVX2_NoVLX_Or_NoBWI,
697 GIFBS_HasAVX512_HasVAES,
698 GIFBS_HasAVX512_HasVLX,
699 GIFBS_HasAVX512_NoBWI,
700 GIFBS_HasAVX512_NoDQI,
701 GIFBS_HasAVX512_NoEGPR,
702 GIFBS_HasAVX512_NoVLX,
703 GIFBS_HasAVX512_OptForSize,
704 GIFBS_HasBITALG_HasVLX,
705 GIFBS_HasBITALG_NoVLX,
706 GIFBS_HasBMI_HasEGPR,
707 GIFBS_HasBMI_NoEGPR,
708 GIFBS_HasBMI2_HasEGPR,
709 GIFBS_HasBMI2_NoEGPR,
710 GIFBS_HasBWI_HasDQI,
711 GIFBS_HasBWI_HasVLX,
712 GIFBS_HasBWI_NoEGPR,
713 GIFBS_HasBWI_NoVLX,
714 GIFBS_HasCDI_HasVLX,
715 GIFBS_HasCDI_NoVLX,
716 GIFBS_HasCRC32_NoEGPR,
717 GIFBS_HasDQI_HasVLX,
718 GIFBS_HasDQI_NoBWI,
719 GIFBS_HasDQI_NoEGPR,
720 GIFBS_HasDQI_NoVLX,
721 GIFBS_HasEGPR_HasINVPCID,
722 GIFBS_HasEGPR_In64BitMode,
723 GIFBS_HasFMA4_NoAVX512,
724 GIFBS_HasFMA4_NoVLX,
725 GIFBS_HasFP16_HasVLX,
726 GIFBS_HasFP16_In64BitMode,
727 GIFBS_HasFP16_OptForSize,
728 GIFBS_HasFSGSBase_In64BitMode,
729 GIFBS_HasFXSR_In64BitMode,
730 GIFBS_HasINVPCID_NoEGPR,
731 GIFBS_HasINVPCID_Not64BitMode,
732 GIFBS_HasMOVBE_NoEGPR,
733 GIFBS_HasMOVDIR64B_NoEGPR,
734 GIFBS_HasMOVDIRI_NoEGPR,
735 GIFBS_HasNDD_In64BitMode,
736 GIFBS_HasNDD_UseIncDec,
737 GIFBS_HasNDDI_UseIncDec,
738 GIFBS_HasPREFETCHI_In64BitMode,
739 GIFBS_HasPTWRITE_In64BitMode,
740 GIFBS_HasRDPID_In64BitMode,
741 GIFBS_HasRDPID_Not64BitMode,
742 GIFBS_HasUINTR_In64BitMode,
743 GIFBS_HasUSERMSR_NoEGPR,
744 GIFBS_HasVAES_HasVLX,
745 GIFBS_HasVAES_NoVLX,
746 GIFBS_HasVBMI2_HasVLX,
747 GIFBS_HasVBMI2_NoVLX,
748 GIFBS_HasVLX_HasVPOPCNTDQ,
749 GIFBS_HasVPOPCNTDQ_NoVLX,
750 GIFBS_HasWAITPKG_In64BitMode,
751 GIFBS_HasWAITPKG_Not64BitMode,
752 GIFBS_HasXSAVE_In64BitMode,
753 GIFBS_HasXSAVEC_In64BitMode,
754 GIFBS_HasXSAVEOPT_In64BitMode,
755 GIFBS_HasXSAVES_In64BitMode,
756 GIFBS_In64BitMode_UseIncDec,
757 GIFBS_In64BitMode_UseSSE2,
758 GIFBS_NoNDD_UseIncDec,
759 GIFBS_NoNDDI_UseIncDec,
760 GIFBS_Not64BitMode_OptForSize,
761 GIFBS_NotWin64WithoutFP_OptForMinSize,
762 GIFBS_OptForSize_UseAVX,
763 GIFBS_OptForSize_UseSSE1,
764 GIFBS_OptForSize_UseSSE2,
765 GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES,
766 GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode,
767 GIFBS_HasAMXTILE_HasEGPR_In64BitMode,
768 GIFBS_HasAMXTILE_In64BitMode_NoEGPR,
769 GIFBS_HasAVX10_2_HasMOVRS_In64BitMode,
770 GIFBS_HasAVX512_HasEGPR_In64BitMode,
771 GIFBS_HasBWI_HasEGPR_In64BitMode,
772 GIFBS_HasCRC32_HasEGPR_In64BitMode,
773 GIFBS_HasDQI_HasEGPR_In64BitMode,
774 GIFBS_HasDQI_HasVLX_NoBWI,
775 GIFBS_HasEGPR_HasMOVBE_In64BitMode,
776 GIFBS_HasEGPR_HasMOVDIR64B_In64BitMode,
777 GIFBS_HasEGPR_HasMOVDIRI_In64BitMode,
778 GIFBS_HasEGPR_HasMOVRS_In64BitMode,
779 GIFBS_HasEGPR_HasUSERMSR_In64BitMode,
780 GIFBS_HasFMA_NoAVX512_NoFMA4,
781 GIFBS_HasFMA_NoFMA4_NoVLX,
782 GIFBS_HasMOVBE_HasNDD_In64BitMode,
783 GIFBS_HasMOVDIR64B_In64BitMode_NoEGPR,
784 GIFBS_HasMOVDIRI_In64BitMode_NoEGPR,
785 GIFBS_HasMOVRS_In64BitMode_NoEGPR,
786};
787constexpr static PredicateBitset FeatureBitsets[] {
788 {}, // GIFBS_Invalid
789 {Feature_FPStackf32Bit, },
790 {Feature_FPStackf64Bit, },
791 {Feature_HasAVXBit, },
792 {Feature_HasAVX1OnlyBit, },
793 {Feature_HasAVX2Bit, },
794 {Feature_HasAVX512Bit, },
795 {Feature_HasAVXNECONVERTBit, },
796 {Feature_HasBITALGBit, },
797 {Feature_HasBMIBit, },
798 {Feature_HasBWIBit, },
799 {Feature_HasCDIBit, },
800 {Feature_HasCLDEMOTEBit, },
801 {Feature_HasCLFLUSHBit, },
802 {Feature_HasCLFLUSHOPTBit, },
803 {Feature_HasCLWBBit, },
804 {Feature_HasDQIBit, },
805 {Feature_HasFP16Bit, },
806 {Feature_HasFXSRBit, },
807 {Feature_HasFastSHLDRotateBit, },
808 {Feature_HasKLBit, },
809 {Feature_HasLWPBit, },
810 {Feature_HasLZCNTBit, },
811 {Feature_HasMFenceBit, },
812 {Feature_HasMMXBit, },
813 {Feature_HasMOVBEBit, },
814 {Feature_HasMOVRSBit, },
815 {Feature_HasMWAITXBit, },
816 {Feature_HasNDDBit, },
817 {Feature_HasNDDIBit, },
818 {Feature_HasPOPCNTBit, },
819 {Feature_HasPTWRITEBit, },
820 {Feature_HasPrefetchWBit, },
821 {Feature_HasRTMBit, },
822 {Feature_HasSERIALIZEBit, },
823 {Feature_HasSHABit, },
824 {Feature_HasSHA512Bit, },
825 {Feature_HasSM3Bit, },
826 {Feature_HasSM4Bit, },
827 {Feature_HasSSE1Bit, },
828 {Feature_HasSSE2Bit, },
829 {Feature_HasSSE3Bit, },
830 {Feature_HasSSE4ABit, },
831 {Feature_HasSSEPrefetchBit, },
832 {Feature_HasTBMBit, },
833 {Feature_HasTSXLDTRKBit, },
834 {Feature_HasVBMI2Bit, },
835 {Feature_HasVLXBit, },
836 {Feature_HasVPOPCNTDQBit, },
837 {Feature_HasWAITPKGBit, },
838 {Feature_HasWBNOINVDBit, },
839 {Feature_HasX87Bit, },
840 {Feature_HasXOPBit, },
841 {Feature_HasXSAVEBit, },
842 {Feature_HasXSAVECBit, },
843 {Feature_HasXSAVEOPTBit, },
844 {Feature_HasXSAVESBit, },
845 {Feature_HasZUBit, },
846 {Feature_In64BitModeBit, },
847 {Feature_IsPSBit, },
848 {Feature_NoAVXBit, },
849 {Feature_NoDQIBit, },
850 {Feature_NoEGPRBit, },
851 {Feature_NoNDDBit, },
852 {Feature_NoNDDIBit, },
853 {Feature_NoNDD_Or_NoMOVBEBit, },
854 {Feature_NoVLXBit, },
855 {Feature_Not64BitModeBit, },
856 {Feature_NotPSBit, },
857 {Feature_UseAVXBit, },
858 {Feature_UseIncDecBit, },
859 {Feature_UseSSE1Bit, },
860 {Feature_UseSSE2Bit, },
861 {Feature_UseSSE3Bit, },
862 {Feature_UseSSE41Bit, },
863 {Feature_UseSSSE3Bit, },
864 {Feature_HasAESBit, Feature_HasAVXBit, },
865 {Feature_HasAESBit, Feature_NoAVXBit, },
866 {Feature_HasAMXBF16Bit, Feature_In64BitModeBit, },
867 {Feature_HasAMXCOMPLEXBit, Feature_In64BitModeBit, },
868 {Feature_HasAMXFP16Bit, Feature_In64BitModeBit, },
869 {Feature_HasAMXFP8Bit, Feature_In64BitModeBit, },
870 {Feature_HasAMXINT8Bit, Feature_In64BitModeBit, },
871 {Feature_HasAMXTF32Bit, Feature_In64BitModeBit, },
872 {Feature_HasAMXTILEBit, Feature_In64BitModeBit, },
873 {Feature_HasAVXBit, Feature_In64BitModeBit, },
874 {Feature_HasAVXBit, Feature_NoBWIBit, },
875 {Feature_HasAVXBit, Feature_NoVLXBit, },
876 {Feature_HasAVXBit, Feature_NoVLX_Or_NoBWIBit, },
877 {Feature_HasAVX10_2Bit, Feature_HasSM4Bit, },
878 {Feature_HasAVX2Bit, Feature_NoVLXBit, },
879 {Feature_HasAVX2Bit, Feature_NoVLX_Or_NoBWIBit, },
880 {Feature_HasAVX512Bit, Feature_HasVAESBit, },
881 {Feature_HasAVX512Bit, Feature_HasVLXBit, },
882 {Feature_HasAVX512Bit, Feature_NoBWIBit, },
883 {Feature_HasAVX512Bit, Feature_NoDQIBit, },
884 {Feature_HasAVX512Bit, Feature_NoEGPRBit, },
885 {Feature_HasAVX512Bit, Feature_NoVLXBit, },
886 {Feature_HasAVX512Bit, Feature_OptForSizeBit, },
887 {Feature_HasBITALGBit, Feature_HasVLXBit, },
888 {Feature_HasBITALGBit, Feature_NoVLXBit, },
889 {Feature_HasBMIBit, Feature_HasEGPRBit, },
890 {Feature_HasBMIBit, Feature_NoEGPRBit, },
891 {Feature_HasBMI2Bit, Feature_HasEGPRBit, },
892 {Feature_HasBMI2Bit, Feature_NoEGPRBit, },
893 {Feature_HasBWIBit, Feature_HasDQIBit, },
894 {Feature_HasBWIBit, Feature_HasVLXBit, },
895 {Feature_HasBWIBit, Feature_NoEGPRBit, },
896 {Feature_HasBWIBit, Feature_NoVLXBit, },
897 {Feature_HasCDIBit, Feature_HasVLXBit, },
898 {Feature_HasCDIBit, Feature_NoVLXBit, },
899 {Feature_HasCRC32Bit, Feature_NoEGPRBit, },
900 {Feature_HasDQIBit, Feature_HasVLXBit, },
901 {Feature_HasDQIBit, Feature_NoBWIBit, },
902 {Feature_HasDQIBit, Feature_NoEGPRBit, },
903 {Feature_HasDQIBit, Feature_NoVLXBit, },
904 {Feature_HasEGPRBit, Feature_HasINVPCIDBit, },
905 {Feature_HasEGPRBit, Feature_In64BitModeBit, },
906 {Feature_HasFMA4Bit, Feature_NoAVX512Bit, },
907 {Feature_HasFMA4Bit, Feature_NoVLXBit, },
908 {Feature_HasFP16Bit, Feature_HasVLXBit, },
909 {Feature_HasFP16Bit, Feature_In64BitModeBit, },
910 {Feature_HasFP16Bit, Feature_OptForSizeBit, },
911 {Feature_HasFSGSBaseBit, Feature_In64BitModeBit, },
912 {Feature_HasFXSRBit, Feature_In64BitModeBit, },
913 {Feature_HasINVPCIDBit, Feature_NoEGPRBit, },
914 {Feature_HasINVPCIDBit, Feature_Not64BitModeBit, },
915 {Feature_HasMOVBEBit, Feature_NoEGPRBit, },
916 {Feature_HasMOVDIR64BBit, Feature_NoEGPRBit, },
917 {Feature_HasMOVDIRIBit, Feature_NoEGPRBit, },
918 {Feature_HasNDDBit, Feature_In64BitModeBit, },
919 {Feature_HasNDDBit, Feature_UseIncDecBit, },
920 {Feature_HasNDDIBit, Feature_UseIncDecBit, },
921 {Feature_HasPREFETCHIBit, Feature_In64BitModeBit, },
922 {Feature_HasPTWRITEBit, Feature_In64BitModeBit, },
923 {Feature_HasRDPIDBit, Feature_In64BitModeBit, },
924 {Feature_HasRDPIDBit, Feature_Not64BitModeBit, },
925 {Feature_HasUINTRBit, Feature_In64BitModeBit, },
926 {Feature_HasUSERMSRBit, Feature_NoEGPRBit, },
927 {Feature_HasVAESBit, Feature_HasVLXBit, },
928 {Feature_HasVAESBit, Feature_NoVLXBit, },
929 {Feature_HasVBMI2Bit, Feature_HasVLXBit, },
930 {Feature_HasVBMI2Bit, Feature_NoVLXBit, },
931 {Feature_HasVLXBit, Feature_HasVPOPCNTDQBit, },
932 {Feature_HasVPOPCNTDQBit, Feature_NoVLXBit, },
933 {Feature_HasWAITPKGBit, Feature_In64BitModeBit, },
934 {Feature_HasWAITPKGBit, Feature_Not64BitModeBit, },
935 {Feature_HasXSAVEBit, Feature_In64BitModeBit, },
936 {Feature_HasXSAVECBit, Feature_In64BitModeBit, },
937 {Feature_HasXSAVEOPTBit, Feature_In64BitModeBit, },
938 {Feature_HasXSAVESBit, Feature_In64BitModeBit, },
939 {Feature_In64BitModeBit, Feature_UseIncDecBit, },
940 {Feature_In64BitModeBit, Feature_UseSSE2Bit, },
941 {Feature_NoNDDBit, Feature_UseIncDecBit, },
942 {Feature_NoNDDIBit, Feature_UseIncDecBit, },
943 {Feature_Not64BitModeBit, Feature_OptForSizeBit, },
944 {Feature_NotWin64WithoutFPBit, Feature_OptForMinSizeBit, },
945 {Feature_OptForSizeBit, Feature_UseAVXBit, },
946 {Feature_OptForSizeBit, Feature_UseSSE1Bit, },
947 {Feature_OptForSizeBit, Feature_UseSSE2Bit, },
948 {Feature_HasAESBit, Feature_HasAVXBit, Feature_NoVLX_Or_NoVAESBit, },
949 {Feature_HasAMXAVX512Bit, Feature_HasAVX10_2Bit, Feature_In64BitModeBit, },
950 {Feature_HasAMXTILEBit, Feature_HasEGPRBit, Feature_In64BitModeBit, },
951 {Feature_HasAMXTILEBit, Feature_In64BitModeBit, Feature_NoEGPRBit, },
952 {Feature_HasAVX10_2Bit, Feature_HasMOVRSBit, Feature_In64BitModeBit, },
953 {Feature_HasAVX512Bit, Feature_HasEGPRBit, Feature_In64BitModeBit, },
954 {Feature_HasBWIBit, Feature_HasEGPRBit, Feature_In64BitModeBit, },
955 {Feature_HasCRC32Bit, Feature_HasEGPRBit, Feature_In64BitModeBit, },
956 {Feature_HasDQIBit, Feature_HasEGPRBit, Feature_In64BitModeBit, },
957 {Feature_HasDQIBit, Feature_HasVLXBit, Feature_NoBWIBit, },
958 {Feature_HasEGPRBit, Feature_HasMOVBEBit, Feature_In64BitModeBit, },
959 {Feature_HasEGPRBit, Feature_HasMOVDIR64BBit, Feature_In64BitModeBit, },
960 {Feature_HasEGPRBit, Feature_HasMOVDIRIBit, Feature_In64BitModeBit, },
961 {Feature_HasEGPRBit, Feature_HasMOVRSBit, Feature_In64BitModeBit, },
962 {Feature_HasEGPRBit, Feature_HasUSERMSRBit, Feature_In64BitModeBit, },
963 {Feature_HasFMABit, Feature_NoAVX512Bit, Feature_NoFMA4Bit, },
964 {Feature_HasFMABit, Feature_NoFMA4Bit, Feature_NoVLXBit, },
965 {Feature_HasMOVBEBit, Feature_HasNDDBit, Feature_In64BitModeBit, },
966 {Feature_HasMOVDIR64BBit, Feature_In64BitModeBit, Feature_NoEGPRBit, },
967 {Feature_HasMOVDIRIBit, Feature_In64BitModeBit, Feature_NoEGPRBit, },
968 {Feature_HasMOVRSBit, Feature_In64BitModeBit, Feature_NoEGPRBit, },
969};
970
971// ComplexPattern predicates.
972enum {
973 GICP_Invalid,
974 GICP_gi_addr,
975};
976// See constructor for table contents
977
978X86InstructionSelector::ComplexMatcherMemFn
979X86InstructionSelector::ComplexPredicateFns[] = {
980 nullptr, // GICP_Invalid
981 &X86InstructionSelector::selectAddr, // gi_addr
982};
983
984// PatFrag predicates.
985enum {
986 GICXXPred_MI_Predicate_alignedload = GICXXPred_Invalid + 1,
987 GICXXPred_MI_Predicate_alignedstore,
988 GICXXPred_MI_Predicate_ffloor_nnan,
989 GICXXPred_MI_Predicate_imm_su,
990 GICXXPred_MI_Predicate_loadi8,
991 GICXXPred_MI_Predicate_loadi16,
992 GICXXPred_MI_Predicate_loadi32,
993 GICXXPred_MI_Predicate_or_disjoint,
994};
995bool X86InstructionSelector::testMIPredicate_MI(unsigned PredicateID, const MachineInstr & MI, const MatcherState &State) const {
996 const MachineFunction &MF = *MI.getParent()->getParent();
997 const MachineRegisterInfo &MRI = MF.getRegInfo();
998 const auto &Operands = State.RecordedOperands;
999 (void)Operands;
1000 (void)MRI;
1001 switch (PredicateID) {
1002 case GICXXPred_MI_Predicate_alignedload: {
1003
1004 auto &LdSt = cast<GLoadStore>(MI);
1005 return LdSt.getAlign() >= LdSt.getMemSize().getValue();
1006
1007 llvm_unreachable("alignedload should have returned");
1008 }
1009 case GICXXPred_MI_Predicate_alignedstore: {
1010
1011 auto &LdSt = cast<GLoadStore>(MI);
1012 return LdSt.getAlign() >= LdSt.getMemSize().getValue();
1013
1014 llvm_unreachable("alignedstore should have returned");
1015 }
1016 case GICXXPred_MI_Predicate_ffloor_nnan: {
1017
1018 return MI.getFlag(MachineInstr::FmNoNans);
1019
1020 }
1021 case GICXXPred_MI_Predicate_imm_su: {
1022 return true;
1023 }
1024 case GICXXPred_MI_Predicate_loadi8: {
1025 return isa<GLoad>(MI);
1026 }
1027 case GICXXPred_MI_Predicate_loadi16: {
1028
1029 auto &Load = cast<GLoad>(MI);
1030 LLT Ty = MRI.getType(Load.getDstReg());
1031 // Non extending load has MMO and destination types of the same size
1032 if (Load.getMemSizeInBits() == Ty.getSizeInBits())
1033 return true;
1034 return Load.getAlign() >= 2 && Load.isSimple();
1035
1036 llvm_unreachable("loadi16 should have returned");
1037 }
1038 case GICXXPred_MI_Predicate_loadi32: {
1039
1040 auto &Load = cast<GLoad>(MI);
1041 LLT Ty = MRI.getType(Load.getDstReg());
1042 // Non extending load has MMO and destination types of the same size
1043 if (Load.getMemSizeInBits() == Ty.getSizeInBits())
1044 return true;
1045 return Load.getAlign() >= 4 && Load.isSimple();
1046
1047 llvm_unreachable("loadi32 should have returned");
1048 }
1049 case GICXXPred_MI_Predicate_or_disjoint: {
1050
1051 return MI.getFlag(MachineInstr::Disjoint);
1052
1053 }
1054 }
1055 llvm_unreachable("Unknown predicate");
1056 return false;
1057}
1058// PatFrag predicates.
1059bool X86InstructionSelector::testMOPredicate_MO(unsigned PredicateID, const MachineOperand & MO, const MatcherState &State) const {
1060 const auto &Operands = State.RecordedOperands;
1061 Register Reg = MO.getReg();
1062 (void)Operands;
1063 (void)Reg;
1064 llvm_unreachable("Unknown predicate");
1065 return false;
1066}
1067// PatFrag predicates.
1068enum {
1069 GICXXPred_I64_Predicate_AndMask64 = GICXXPred_Invalid + 1,
1070 GICXXPred_I64_Predicate_BTCBTSMask64,
1071 GICXXPred_I64_Predicate_BTRMask64,
1072 GICXXPred_I64_Predicate_i16immSExt8,
1073 GICXXPred_I64_Predicate_i32immSExt8,
1074 GICXXPred_I64_Predicate_i64immSExt8,
1075 GICXXPred_I64_Predicate_i64immSExt32,
1076 GICXXPred_I64_Predicate_i64immZExt32,
1077 GICXXPred_I64_Predicate_i64immZExt32SExt8,
1078 GICXXPred_I64_Predicate_i64timmSExt32,
1079 GICXXPred_I64_Predicate_immff00_ffff,
1080};
1081bool X86InstructionSelector::testImmPredicate_I64(unsigned PredicateID, int64_t Imm) const {
1082 switch (PredicateID) {
1083 case GICXXPred_I64_Predicate_AndMask64: {
1084
1085 return isMask_64(Imm) && !isUInt<32>(Imm);
1086
1087 }
1088 case GICXXPred_I64_Predicate_BTCBTSMask64: {
1089
1090 return !isInt<32>(Imm) && isPowerOf2_64(Imm);
1091
1092 }
1093 case GICXXPred_I64_Predicate_BTRMask64: {
1094
1095 return !isUInt<32>(Imm) && !isInt<32>(Imm) && isPowerOf2_64(~Imm);
1096
1097 }
1098 case GICXXPred_I64_Predicate_i16immSExt8: {
1099 return isInt<8>(Imm);
1100 }
1101 case GICXXPred_I64_Predicate_i32immSExt8: {
1102 return isInt<8>(Imm);
1103 }
1104 case GICXXPred_I64_Predicate_i64immSExt8: {
1105 return isInt<8>(Imm);
1106 }
1107 case GICXXPred_I64_Predicate_i64immSExt32: {
1108 return isInt<32>(Imm);
1109 }
1110 case GICXXPred_I64_Predicate_i64immZExt32: {
1111 return isUInt<32>(Imm);
1112 }
1113 case GICXXPred_I64_Predicate_i64immZExt32SExt8: {
1114
1115 return isUInt<32>(Imm) && isInt<8>(static_cast<int32_t>(Imm));
1116
1117 }
1118 case GICXXPred_I64_Predicate_i64timmSExt32: {
1119 return isInt<32>(Imm);
1120 }
1121 case GICXXPred_I64_Predicate_immff00_ffff: {
1122
1123 return Imm >= 0xff00 && Imm <= 0xffff;
1124
1125 }
1126 }
1127 llvm_unreachable("Unknown predicate");
1128 return false;
1129}
1130// PatFrag predicates.
1131enum {
1132 GICXXPred_APFloat_Predicate_fpimm0 = GICXXPred_Invalid + 1,
1133 GICXXPred_APFloat_Predicate_fpimm1,
1134 GICXXPred_APFloat_Predicate_fpimmneg0,
1135 GICXXPred_APFloat_Predicate_fpimmneg1,
1136};
1137bool X86InstructionSelector::testImmPredicate_APFloat(unsigned PredicateID, const APFloat & Imm) const {
1138 switch (PredicateID) {
1139 case GICXXPred_APFloat_Predicate_fpimm0: {
1140
1141 return Imm.isExactlyValue(+0.0);
1142
1143 }
1144 case GICXXPred_APFloat_Predicate_fpimm1: {
1145
1146 return Imm.isExactlyValue(+1.0);
1147
1148 }
1149 case GICXXPred_APFloat_Predicate_fpimmneg0: {
1150
1151 return Imm.isExactlyValue(-0.0);
1152
1153 }
1154 case GICXXPred_APFloat_Predicate_fpimmneg1: {
1155
1156 return Imm.isExactlyValue(-1.0);
1157
1158 }
1159 }
1160 llvm_unreachable("Unknown predicate");
1161 return false;
1162}
1163// PatFrag predicates.
1164bool X86InstructionSelector::testImmPredicate_APInt(unsigned PredicateID, const APInt & Imm) const {
1165 llvm_unreachable("Unknown predicate");
1166 return false;
1167}
1168bool X86InstructionSelector::testSimplePredicate(unsigned) const {
1169 llvm_unreachable("X86InstructionSelector does not support simple predicates!");
1170 return false;
1171}
1172// Custom renderers.
1173enum {
1174 GICR_Invalid,
1175};
1176X86InstructionSelector::CustomRendererFn
1177X86InstructionSelector::CustomRenderers[] = {
1178 nullptr, // GICR_Invalid
1179};
1180
1181bool X86InstructionSelector::selectImpl(MachineInstr &I, CodeGenCoverage &CoverageInfo) const {
1182 const PredicateBitset AvailableFeatures = getAvailableFeatures();
1183 MachineIRBuilder B(I);
1184 State.MIs.clear();
1185 State.MIs.push_back(&I);
1186
1187 if (executeMatchTable(*this, State, ExecInfo, B, getMatchTable(), TII, MF->getRegInfo(), TRI, RBI, AvailableFeatures, &CoverageInfo)) {
1188 return true;
1189 }
1190
1191 return false;
1192}
1193
1194bool X86InstructionSelector::runCustomAction(unsigned, const MatcherState&, NewMIVector &) const {
1195 llvm_unreachable("X86InstructionSelector does not support custom C++ actions!");
1196}
1197#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
1198#define GIMT_Encode2(Val) uint8_t(Val), uint8_t((Val) >> 8)
1199#define GIMT_Encode4(Val) uint8_t(Val), uint8_t((Val) >> 8), uint8_t((Val) >> 16), uint8_t((Val) >> 24)
1200#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)
1201#else
1202#define GIMT_Encode2(Val) uint8_t((Val) >> 8), uint8_t(Val)
1203#define GIMT_Encode4(Val) uint8_t((Val) >> 24), uint8_t((Val) >> 16), uint8_t((Val) >> 8), uint8_t(Val)
1204#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)
1205#endif
1206const uint8_t *X86InstructionSelector::getMatchTable() const {
1207 constexpr static uint8_t MatchTable0[] = {
1208 /* 0 */ GIM_SwitchOpcode, /*MI*/0, /*[*/GIMT_Encode2(55), GIMT_Encode2(358), /*)*//*default:*//*Label 82*/ GIMT_Encode4(235828),
1209 /* 10 */ /*TargetOpcode::G_ADD*//*Label 0*/ GIMT_Encode4(1222),
1210 /* 14 */ /*TargetOpcode::G_SUB*//*Label 1*/ GIMT_Encode4(6684),
1211 /* 18 */ /*TargetOpcode::G_MUL*//*Label 2*/ GIMT_Encode4(9976), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1212 /* 46 */ /*TargetOpcode::G_AND*//*Label 3*/ GIMT_Encode4(13393),
1213 /* 50 */ /*TargetOpcode::G_OR*//*Label 4*/ GIMT_Encode4(23469),
1214 /* 54 */ /*TargetOpcode::G_XOR*//*Label 5*/ GIMT_Encode4(31357), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1215 /* 70 */ /*TargetOpcode::G_UAVGCEIL*//*Label 6*/ GIMT_Encode4(43304), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1216 /* 130 */ /*TargetOpcode::G_CONCAT_VECTORS*//*Label 7*/ GIMT_Encode4(44990), GIMT_Encode4(0), GIMT_Encode4(0),
1217 /* 142 */ /*TargetOpcode::G_BITCAST*//*Label 8*/ GIMT_Encode4(45157), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1218 /* 166 */ /*TargetOpcode::G_INTRINSIC_LRINT*//*Label 9*/ GIMT_Encode4(47793),
1219 /* 170 */ /*TargetOpcode::G_INTRINSIC_LLRINT*//*Label 10*/ GIMT_Encode4(50971), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1220 /* 186 */ /*TargetOpcode::G_LOAD*//*Label 11*/ GIMT_Encode4(52191),
1221 /* 190 */ /*TargetOpcode::G_SEXTLOAD*//*Label 12*/ GIMT_Encode4(58407),
1222 /* 194 */ /*TargetOpcode::G_ZEXTLOAD*//*Label 13*/ GIMT_Encode4(58740), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1223 /* 210 */ /*TargetOpcode::G_STORE*//*Label 14*/ GIMT_Encode4(59383), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1224 /* 226 */ /*TargetOpcode::G_ATOMICRMW_XCHG*//*Label 15*/ GIMT_Encode4(84846),
1225 /* 230 */ /*TargetOpcode::G_ATOMICRMW_ADD*//*Label 16*/ GIMT_Encode4(85082), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1226 /* 314 */ /*TargetOpcode::G_PREFETCH*//*Label 17*/ GIMT_Encode4(85330), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1227 /* 330 */ /*TargetOpcode::G_INTRINSIC*//*Label 18*/ GIMT_Encode4(85649),
1228 /* 334 */ /*TargetOpcode::G_INTRINSIC_W_SIDE_EFFECTS*//*Label 19*/ GIMT_Encode4(98196), GIMT_Encode4(0), GIMT_Encode4(0),
1229 /* 346 */ /*TargetOpcode::G_ANYEXT*//*Label 20*/ GIMT_Encode4(106931),
1230 /* 350 */ /*TargetOpcode::G_TRUNC*//*Label 21*/ GIMT_Encode4(107360), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1231 /* 366 */ /*TargetOpcode::G_CONSTANT*//*Label 22*/ GIMT_Encode4(108449),
1232 /* 370 */ /*TargetOpcode::G_FCONSTANT*//*Label 23*/ GIMT_Encode4(109052), GIMT_Encode4(0), GIMT_Encode4(0),
1233 /* 382 */ /*TargetOpcode::G_SEXT*//*Label 24*/ GIMT_Encode4(109505),
1234 /* 386 */ /*TargetOpcode::G_SEXT_INREG*//*Label 25*/ GIMT_Encode4(111177),
1235 /* 390 */ /*TargetOpcode::G_ZEXT*//*Label 26*/ GIMT_Encode4(111419),
1236 /* 394 */ /*TargetOpcode::G_SHL*//*Label 27*/ GIMT_Encode4(113376),
1237 /* 398 */ /*TargetOpcode::G_LSHR*//*Label 28*/ GIMT_Encode4(115060),
1238 /* 402 */ /*TargetOpcode::G_ASHR*//*Label 29*/ GIMT_Encode4(116520),
1239 /* 406 */ /*TargetOpcode::G_FSHL*//*Label 30*/ GIMT_Encode4(117980),
1240 /* 410 */ /*TargetOpcode::G_FSHR*//*Label 31*/ GIMT_Encode4(120693),
1241 /* 414 */ /*TargetOpcode::G_ROTR*//*Label 32*/ GIMT_Encode4(123460),
1242 /* 418 */ /*TargetOpcode::G_ROTL*//*Label 33*/ GIMT_Encode4(126692),
1243 /* 422 */ /*TargetOpcode::G_ICMP*//*Label 34*/ GIMT_Encode4(130093), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1244 /* 438 */ /*TargetOpcode::G_SELECT*//*Label 35*/ GIMT_Encode4(131750), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1245 /* 482 */ /*TargetOpcode::G_UMULH*//*Label 36*/ GIMT_Encode4(139416),
1246 /* 486 */ /*TargetOpcode::G_SMULH*//*Label 37*/ GIMT_Encode4(140281),
1247 /* 490 */ /*TargetOpcode::G_UADDSAT*//*Label 38*/ GIMT_Encode4(141146),
1248 /* 494 */ /*TargetOpcode::G_SADDSAT*//*Label 39*/ GIMT_Encode4(142832),
1249 /* 498 */ /*TargetOpcode::G_USUBSAT*//*Label 40*/ GIMT_Encode4(144518),
1250 /* 502 */ /*TargetOpcode::G_SSUBSAT*//*Label 41*/ GIMT_Encode4(145584), GIMT_Encode4(0), GIMT_Encode4(0), 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 /* 546 */ /*TargetOpcode::G_FADD*//*Label 42*/ GIMT_Encode4(146650),
1252 /* 550 */ /*TargetOpcode::G_FSUB*//*Label 43*/ GIMT_Encode4(152564),
1253 /* 554 */ /*TargetOpcode::G_FMUL*//*Label 44*/ GIMT_Encode4(156746),
1254 /* 558 */ /*TargetOpcode::G_FMA*//*Label 45*/ GIMT_Encode4(162660), GIMT_Encode4(0),
1255 /* 566 */ /*TargetOpcode::G_FDIV*//*Label 46*/ GIMT_Encode4(168648), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1256 /* 618 */ /*TargetOpcode::G_FNEG*//*Label 47*/ GIMT_Encode4(172830),
1257 /* 622 */ /*TargetOpcode::G_FPEXT*//*Label 48*/ GIMT_Encode4(172953),
1258 /* 626 */ /*TargetOpcode::G_FPTRUNC*//*Label 49*/ GIMT_Encode4(173885),
1259 /* 630 */ /*TargetOpcode::G_FPTOSI*//*Label 50*/ GIMT_Encode4(174271),
1260 /* 634 */ /*TargetOpcode::G_FPTOUI*//*Label 51*/ GIMT_Encode4(175652),
1261 /* 638 */ /*TargetOpcode::G_SITOFP*//*Label 52*/ GIMT_Encode4(176208),
1262 /* 642 */ /*TargetOpcode::G_UITOFP*//*Label 53*/ GIMT_Encode4(179584), GIMT_Encode4(0), GIMT_Encode4(0),
1263 /* 654 */ /*TargetOpcode::G_FABS*//*Label 54*/ GIMT_Encode4(181831), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1264 /* 742 */ /*TargetOpcode::G_SMIN*//*Label 55*/ GIMT_Encode4(181954),
1265 /* 746 */ /*TargetOpcode::G_SMAX*//*Label 56*/ GIMT_Encode4(185275),
1266 /* 750 */ /*TargetOpcode::G_UMIN*//*Label 57*/ GIMT_Encode4(188596),
1267 /* 754 */ /*TargetOpcode::G_UMAX*//*Label 58*/ GIMT_Encode4(191917),
1268 /* 758 */ /*TargetOpcode::G_ABS*//*Label 59*/ GIMT_Encode4(195238), GIMT_Encode4(0), GIMT_Encode4(0),
1269 /* 770 */ /*TargetOpcode::G_BR*//*Label 60*/ GIMT_Encode4(197119), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1270 /* 786 */ /*TargetOpcode::G_EXTRACT_SUBVECTOR*//*Label 61*/ GIMT_Encode4(197135), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1271 /* 810 */ /*TargetOpcode::G_VECTOR_COMPRESS*//*Label 62*/ GIMT_Encode4(200064),
1272 /* 814 */ /*TargetOpcode::G_CTTZ*//*Label 63*/ GIMT_Encode4(202046),
1273 /* 818 */ /*TargetOpcode::G_CTTZ_ZERO_UNDEF*//*Label 64*/ GIMT_Encode4(202352),
1274 /* 822 */ /*TargetOpcode::G_CTLZ*//*Label 65*/ GIMT_Encode4(202739), GIMT_Encode4(0), GIMT_Encode4(0),
1275 /* 834 */ /*TargetOpcode::G_CTPOP*//*Label 66*/ GIMT_Encode4(204043),
1276 /* 838 */ /*TargetOpcode::G_BSWAP*//*Label 67*/ GIMT_Encode4(206305), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1277 /* 894 */ /*TargetOpcode::G_FSQRT*//*Label 68*/ GIMT_Encode4(206805), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1278 /* 934 */ /*TargetOpcode::G_STRICT_FADD*//*Label 69*/ GIMT_Encode4(208974),
1279 /* 938 */ /*TargetOpcode::G_STRICT_FSUB*//*Label 70*/ GIMT_Encode4(213904),
1280 /* 942 */ /*TargetOpcode::G_STRICT_FMUL*//*Label 71*/ GIMT_Encode4(217594),
1281 /* 946 */ /*TargetOpcode::G_STRICT_FDIV*//*Label 72*/ GIMT_Encode4(222524), GIMT_Encode4(0),
1282 /* 954 */ /*TargetOpcode::G_STRICT_FMA*//*Label 73*/ GIMT_Encode4(226214),
1283 /* 958 */ /*TargetOpcode::G_STRICT_FSQRT*//*Label 74*/ GIMT_Encode4(232202), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1284 /* 994 */ /*TargetOpcode::G_TRAP*//*Label 75*/ GIMT_Encode4(234371),
1285 /* 998 */ /*TargetOpcode::G_DEBUGTRAP*//*Label 76*/ GIMT_Encode4(234384),
1286 /* 1002 */ /*TargetOpcode::G_UBSANTRAP*//*Label 77*/ GIMT_Encode4(234420), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1287 /* 1206 */ /*X86::G_FILD*//*Label 78*/ GIMT_Encode4(234436),
1288 /* 1210 */ /*X86::G_FIST*//*Label 79*/ GIMT_Encode4(234895),
1289 /* 1214 */ /*X86::G_FLDCW16*//*Label 80*/ GIMT_Encode4(235759),
1290 /* 1218 */ /*X86::G_FNSTCW16*//*Label 81*/ GIMT_Encode4(235795),
1291 /* 1222 */ // Label 0: @1222
1292 /* 1222 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(25), /*)*//*default:*//*Label 99*/ GIMT_Encode4(6683),
1293 /* 1233 */ /*GILLT_s8*//*Label 83*/ GIMT_Encode4(1329),
1294 /* 1237 */ /*GILLT_s16*//*Label 84*/ GIMT_Encode4(1712),
1295 /* 1241 */ /*GILLT_s32*//*Label 85*/ GIMT_Encode4(2171),
1296 /* 1245 */ /*GILLT_s64*//*Label 86*/ GIMT_Encode4(2630), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1297 /* 1261 */ /*GILLT_v2s64*//*Label 87*/ GIMT_Encode4(3187), GIMT_Encode4(0),
1298 /* 1269 */ /*GILLT_v4s32*//*Label 88*/ GIMT_Encode4(3529),
1299 /* 1273 */ /*GILLT_v4s64*//*Label 89*/ GIMT_Encode4(3993), GIMT_Encode4(0),
1300 /* 1281 */ /*GILLT_v8s16*//*Label 90*/ GIMT_Encode4(4308),
1301 /* 1285 */ /*GILLT_v8s32*//*Label 91*/ GIMT_Encode4(4772),
1302 /* 1289 */ /*GILLT_v8s64*//*Label 92*/ GIMT_Encode4(5087), GIMT_Encode4(0),
1303 /* 1297 */ /*GILLT_v16s8*//*Label 93*/ GIMT_Encode4(5243),
1304 /* 1301 */ /*GILLT_v16s16*//*Label 94*/ GIMT_Encode4(5585),
1305 /* 1305 */ /*GILLT_v16s32*//*Label 95*/ GIMT_Encode4(5900), GIMT_Encode4(0),
1306 /* 1313 */ /*GILLT_v32s8*//*Label 96*/ GIMT_Encode4(6056),
1307 /* 1317 */ /*GILLT_v32s16*//*Label 97*/ GIMT_Encode4(6371), GIMT_Encode4(0),
1308 /* 1325 */ /*GILLT_v64s8*//*Label 98*/ GIMT_Encode4(6527),
1309 /* 1329 */ // Label 83: @1329
1310 /* 1329 */ GIM_Try, /*On fail goto*//*Label 100*/ GIMT_Encode4(1711),
1311 /* 1334 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
1312 /* 1337 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
1313 /* 1340 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1314 /* 1344 */ GIM_Try, /*On fail goto*//*Label 101*/ GIMT_Encode4(1405), // Rule ID 26136 //
1315 /* 1349 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1316 /* 1352 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1317 /* 1356 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1318 /* 1360 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1319 /* 1363 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1320 /* 1367 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
1321 /* 1371 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1322 /* 1375 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1323 /* 1377 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1324 /* 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)
1325 /* 1384 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8rm),
1326 /* 1387 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1327 /* 1389 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
1328 /* 1391 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1329 /* 1395 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1330 /* 1398 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1331 /* 1403 */ GIR_RootConstrainSelectedInstOperands,
1332 /* 1404 */ // GIR_Coverage, 26136,
1333 /* 1404 */ GIR_EraseRootFromParent_Done,
1334 /* 1405 */ // Label 101: @1405
1335 /* 1405 */ GIM_Try, /*On fail goto*//*Label 102*/ GIMT_Encode4(1466), // Rule ID 22878 //
1336 /* 1410 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1337 /* 1413 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1338 /* 1417 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1339 /* 1421 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1340 /* 1425 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1341 /* 1428 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1342 /* 1432 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
1343 /* 1436 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1344 /* 1438 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1345 /* 1445 */ // (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)
1346 /* 1445 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8rm),
1347 /* 1448 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1348 /* 1450 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1349 /* 1452 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1350 /* 1456 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1351 /* 1459 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1352 /* 1464 */ GIR_RootConstrainSelectedInstOperands,
1353 /* 1465 */ // GIR_Coverage, 22878,
1354 /* 1465 */ GIR_EraseRootFromParent_Done,
1355 /* 1466 */ // Label 102: @1466
1356 /* 1466 */ GIM_Try, /*On fail goto*//*Label 103*/ GIMT_Encode4(1494), // Rule ID 22944 //
1357 /* 1471 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
1358 /* 1474 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1359 /* 1478 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1360 /* 1482 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src, 1:{ *:[i8] }) => (INC8r:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
1361 /* 1482 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8r),
1362 /* 1485 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1363 /* 1487 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1364 /* 1489 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1365 /* 1492 */ GIR_RootConstrainSelectedInstOperands,
1366 /* 1493 */ // GIR_Coverage, 22944,
1367 /* 1493 */ GIR_EraseRootFromParent_Done,
1368 /* 1494 */ // Label 103: @1494
1369 /* 1494 */ GIM_Try, /*On fail goto*//*Label 104*/ GIMT_Encode4(1522), // Rule ID 22947 //
1370 /* 1499 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
1371 /* 1502 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1372 /* 1506 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1373 /* 1510 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src, -1:{ *:[i8] }) => (DEC8r:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
1374 /* 1510 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC8r),
1375 /* 1513 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1376 /* 1515 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1377 /* 1517 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1378 /* 1520 */ GIR_RootConstrainSelectedInstOperands,
1379 /* 1521 */ // GIR_Coverage, 22947,
1380 /* 1521 */ GIR_EraseRootFromParent_Done,
1381 /* 1522 */ // Label 104: @1522
1382 /* 1522 */ GIM_Try, /*On fail goto*//*Label 105*/ GIMT_Encode4(1550), // Rule ID 23034 //
1383 /* 1527 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
1384 /* 1530 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1385 /* 1534 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1386 /* 1538 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src, 1:{ *:[i8] }) => (INC8r_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
1387 /* 1538 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8r_ND),
1388 /* 1541 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1389 /* 1543 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1390 /* 1545 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1391 /* 1548 */ GIR_RootConstrainSelectedInstOperands,
1392 /* 1549 */ // GIR_Coverage, 23034,
1393 /* 1549 */ GIR_EraseRootFromParent_Done,
1394 /* 1550 */ // Label 105: @1550
1395 /* 1550 */ GIM_Try, /*On fail goto*//*Label 106*/ GIMT_Encode4(1578), // Rule ID 23037 //
1396 /* 1555 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
1397 /* 1558 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1398 /* 1562 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1399 /* 1566 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src, -1:{ *:[i8] }) => (DEC8r_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
1400 /* 1566 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC8r_ND),
1401 /* 1569 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1402 /* 1571 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1403 /* 1573 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1404 /* 1576 */ GIR_RootConstrainSelectedInstOperands,
1405 /* 1577 */ // GIR_Coverage, 23037,
1406 /* 1577 */ GIR_EraseRootFromParent_Done,
1407 /* 1578 */ // Label 106: @1578
1408 /* 1578 */ GIM_Try, /*On fail goto*//*Label 107*/ GIMT_Encode4(1615), // Rule ID 22882 //
1409 /* 1583 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1410 /* 1586 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1411 /* 1590 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1412 /* 1594 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1413 /* 1598 */ // MIs[1] Operand 1
1414 /* 1598 */ // No operand predicates
1415 /* 1598 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1416 /* 1600 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ADD8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
1417 /* 1600 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8ri),
1418 /* 1603 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1419 /* 1605 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1420 /* 1607 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1421 /* 1610 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1422 /* 1613 */ GIR_RootConstrainSelectedInstOperands,
1423 /* 1614 */ // GIR_Coverage, 22882,
1424 /* 1614 */ GIR_EraseRootFromParent_Done,
1425 /* 1615 */ // Label 107: @1615
1426 /* 1615 */ GIM_Try, /*On fail goto*//*Label 108*/ GIMT_Encode4(1652), // Rule ID 22972 //
1427 /* 1620 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1428 /* 1623 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1429 /* 1627 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1430 /* 1631 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1431 /* 1635 */ // MIs[1] Operand 1
1432 /* 1635 */ // No operand predicates
1433 /* 1635 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1434 /* 1637 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ADD8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
1435 /* 1637 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8ri_ND),
1436 /* 1640 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1437 /* 1642 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1438 /* 1644 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1439 /* 1647 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1440 /* 1650 */ GIR_RootConstrainSelectedInstOperands,
1441 /* 1651 */ // GIR_Coverage, 22972,
1442 /* 1651 */ GIR_EraseRootFromParent_Done,
1443 /* 1652 */ // Label 108: @1652
1444 /* 1652 */ GIM_Try, /*On fail goto*//*Label 109*/ GIMT_Encode4(1681), // Rule ID 22874 //
1445 /* 1657 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1446 /* 1660 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1447 /* 1664 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1448 /* 1668 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (ADD8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
1449 /* 1668 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD8rr),
1450 /* 1673 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1451 /* 1679 */ GIR_RootConstrainSelectedInstOperands,
1452 /* 1680 */ // GIR_Coverage, 22874,
1453 /* 1680 */ GIR_Done,
1454 /* 1681 */ // Label 109: @1681
1455 /* 1681 */ GIM_Try, /*On fail goto*//*Label 110*/ GIMT_Encode4(1710), // Rule ID 22964 //
1456 /* 1686 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1457 /* 1689 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1458 /* 1693 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1459 /* 1697 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (ADD8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
1460 /* 1697 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD8rr_ND),
1461 /* 1702 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1462 /* 1708 */ GIR_RootConstrainSelectedInstOperands,
1463 /* 1709 */ // GIR_Coverage, 22964,
1464 /* 1709 */ GIR_Done,
1465 /* 1710 */ // Label 110: @1710
1466 /* 1710 */ GIM_Reject,
1467 /* 1711 */ // Label 100: @1711
1468 /* 1711 */ GIM_Reject,
1469 /* 1712 */ // Label 84: @1712
1470 /* 1712 */ GIM_Try, /*On fail goto*//*Label 111*/ GIMT_Encode4(2170),
1471 /* 1717 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
1472 /* 1720 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
1473 /* 1723 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1474 /* 1727 */ GIM_Try, /*On fail goto*//*Label 112*/ GIMT_Encode4(1788), // Rule ID 26137 //
1475 /* 1732 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1476 /* 1735 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1477 /* 1739 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1478 /* 1743 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1479 /* 1746 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1480 /* 1750 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
1481 /* 1754 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1482 /* 1758 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1483 /* 1760 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1484 /* 1767 */ // (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)
1485 /* 1767 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16rm),
1486 /* 1770 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1487 /* 1772 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
1488 /* 1774 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1489 /* 1778 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1490 /* 1781 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1491 /* 1786 */ GIR_RootConstrainSelectedInstOperands,
1492 /* 1787 */ // GIR_Coverage, 26137,
1493 /* 1787 */ GIR_EraseRootFromParent_Done,
1494 /* 1788 */ // Label 112: @1788
1495 /* 1788 */ GIM_Try, /*On fail goto*//*Label 113*/ GIMT_Encode4(1849), // Rule ID 22879 //
1496 /* 1793 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1497 /* 1796 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1498 /* 1800 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1499 /* 1804 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1500 /* 1808 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1501 /* 1811 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1502 /* 1815 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
1503 /* 1819 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1504 /* 1821 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1505 /* 1828 */ // (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)
1506 /* 1828 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16rm),
1507 /* 1831 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1508 /* 1833 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1509 /* 1835 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1510 /* 1839 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1511 /* 1842 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1512 /* 1847 */ GIR_RootConstrainSelectedInstOperands,
1513 /* 1848 */ // GIR_Coverage, 22879,
1514 /* 1848 */ GIR_EraseRootFromParent_Done,
1515 /* 1849 */ // Label 113: @1849
1516 /* 1849 */ GIM_Try, /*On fail goto*//*Label 114*/ GIMT_Encode4(1887), // Rule ID 22684 //
1517 /* 1854 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1518 /* 1857 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1519 /* 1861 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1520 /* 1872 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, 128:{ *:[i16] }) => (SUB16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, -128:{ *:[i16] })
1521 /* 1872 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16ri),
1522 /* 1875 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1523 /* 1877 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1524 /* 1879 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1525 /* 1882 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1526 /* 1885 */ GIR_RootConstrainSelectedInstOperands,
1527 /* 1886 */ // GIR_Coverage, 22684,
1528 /* 1886 */ GIR_EraseRootFromParent_Done,
1529 /* 1887 */ // Label 114: @1887
1530 /* 1887 */ GIM_Try, /*On fail goto*//*Label 115*/ GIMT_Encode4(1925), // Rule ID 22690 //
1531 /* 1892 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1532 /* 1895 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1533 /* 1899 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1534 /* 1910 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, 128:{ *:[i16] }) => (SUB16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, -128:{ *:[i16] })
1535 /* 1910 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16ri_ND),
1536 /* 1913 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1537 /* 1915 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1538 /* 1917 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1539 /* 1920 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1540 /* 1923 */ GIR_RootConstrainSelectedInstOperands,
1541 /* 1924 */ // GIR_Coverage, 22690,
1542 /* 1924 */ GIR_EraseRootFromParent_Done,
1543 /* 1925 */ // Label 115: @1925
1544 /* 1925 */ GIM_Try, /*On fail goto*//*Label 116*/ GIMT_Encode4(1953), // Rule ID 22945 //
1545 /* 1930 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
1546 /* 1933 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1547 /* 1937 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1548 /* 1941 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src, 1:{ *:[i16] }) => (INC16r:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
1549 /* 1941 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16r),
1550 /* 1944 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1551 /* 1946 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1552 /* 1948 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1553 /* 1951 */ GIR_RootConstrainSelectedInstOperands,
1554 /* 1952 */ // GIR_Coverage, 22945,
1555 /* 1952 */ GIR_EraseRootFromParent_Done,
1556 /* 1953 */ // Label 116: @1953
1557 /* 1953 */ GIM_Try, /*On fail goto*//*Label 117*/ GIMT_Encode4(1981), // Rule ID 22948 //
1558 /* 1958 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
1559 /* 1961 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1560 /* 1965 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1561 /* 1969 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src, -1:{ *:[i16] }) => (DEC16r:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
1562 /* 1969 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC16r),
1563 /* 1972 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1564 /* 1974 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1565 /* 1976 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1566 /* 1979 */ GIR_RootConstrainSelectedInstOperands,
1567 /* 1980 */ // GIR_Coverage, 22948,
1568 /* 1980 */ GIR_EraseRootFromParent_Done,
1569 /* 1981 */ // Label 117: @1981
1570 /* 1981 */ GIM_Try, /*On fail goto*//*Label 118*/ GIMT_Encode4(2009), // Rule ID 23035 //
1571 /* 1986 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
1572 /* 1989 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1573 /* 1993 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1574 /* 1997 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src, 1:{ *:[i16] }) => (INC16r_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
1575 /* 1997 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16r_ND),
1576 /* 2000 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1577 /* 2002 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1578 /* 2004 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1579 /* 2007 */ GIR_RootConstrainSelectedInstOperands,
1580 /* 2008 */ // GIR_Coverage, 23035,
1581 /* 2008 */ GIR_EraseRootFromParent_Done,
1582 /* 2009 */ // Label 118: @2009
1583 /* 2009 */ GIM_Try, /*On fail goto*//*Label 119*/ GIMT_Encode4(2037), // Rule ID 23038 //
1584 /* 2014 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
1585 /* 2017 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1586 /* 2021 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1587 /* 2025 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src, -1:{ *:[i16] }) => (DEC16r_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
1588 /* 2025 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC16r_ND),
1589 /* 2028 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1590 /* 2030 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1591 /* 2032 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1592 /* 2035 */ GIR_RootConstrainSelectedInstOperands,
1593 /* 2036 */ // GIR_Coverage, 23038,
1594 /* 2036 */ GIR_EraseRootFromParent_Done,
1595 /* 2037 */ // Label 119: @2037
1596 /* 2037 */ GIM_Try, /*On fail goto*//*Label 120*/ GIMT_Encode4(2074), // Rule ID 22883 //
1597 /* 2042 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1598 /* 2045 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1599 /* 2049 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1600 /* 2053 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1601 /* 2057 */ // MIs[1] Operand 1
1602 /* 2057 */ // No operand predicates
1603 /* 2057 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1604 /* 2059 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (ADD16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
1605 /* 2059 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16ri),
1606 /* 2062 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1607 /* 2064 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1608 /* 2066 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1609 /* 2069 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1610 /* 2072 */ GIR_RootConstrainSelectedInstOperands,
1611 /* 2073 */ // GIR_Coverage, 22883,
1612 /* 2073 */ GIR_EraseRootFromParent_Done,
1613 /* 2074 */ // Label 120: @2074
1614 /* 2074 */ GIM_Try, /*On fail goto*//*Label 121*/ GIMT_Encode4(2111), // Rule ID 22973 //
1615 /* 2079 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1616 /* 2082 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1617 /* 2086 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1618 /* 2090 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1619 /* 2094 */ // MIs[1] Operand 1
1620 /* 2094 */ // No operand predicates
1621 /* 2094 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1622 /* 2096 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (ADD16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
1623 /* 2096 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16ri_ND),
1624 /* 2099 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1625 /* 2101 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1626 /* 2103 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1627 /* 2106 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1628 /* 2109 */ GIR_RootConstrainSelectedInstOperands,
1629 /* 2110 */ // GIR_Coverage, 22973,
1630 /* 2110 */ GIR_EraseRootFromParent_Done,
1631 /* 2111 */ // Label 121: @2111
1632 /* 2111 */ GIM_Try, /*On fail goto*//*Label 122*/ GIMT_Encode4(2140), // Rule ID 22875 //
1633 /* 2116 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1634 /* 2119 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1635 /* 2123 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1636 /* 2127 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (ADD16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
1637 /* 2127 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD16rr),
1638 /* 2132 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1639 /* 2138 */ GIR_RootConstrainSelectedInstOperands,
1640 /* 2139 */ // GIR_Coverage, 22875,
1641 /* 2139 */ GIR_Done,
1642 /* 2140 */ // Label 122: @2140
1643 /* 2140 */ GIM_Try, /*On fail goto*//*Label 123*/ GIMT_Encode4(2169), // Rule ID 22965 //
1644 /* 2145 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1645 /* 2148 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1646 /* 2152 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1647 /* 2156 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (ADD16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
1648 /* 2156 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD16rr_ND),
1649 /* 2161 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1650 /* 2167 */ GIR_RootConstrainSelectedInstOperands,
1651 /* 2168 */ // GIR_Coverage, 22965,
1652 /* 2168 */ GIR_Done,
1653 /* 2169 */ // Label 123: @2169
1654 /* 2169 */ GIM_Reject,
1655 /* 2170 */ // Label 111: @2170
1656 /* 2170 */ GIM_Reject,
1657 /* 2171 */ // Label 85: @2171
1658 /* 2171 */ GIM_Try, /*On fail goto*//*Label 124*/ GIMT_Encode4(2629),
1659 /* 2176 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
1660 /* 2179 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
1661 /* 2182 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1662 /* 2186 */ GIM_Try, /*On fail goto*//*Label 125*/ GIMT_Encode4(2247), // Rule ID 26138 //
1663 /* 2191 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1664 /* 2194 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1665 /* 2198 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1666 /* 2202 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1667 /* 2205 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1668 /* 2209 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
1669 /* 2213 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1670 /* 2217 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1671 /* 2219 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1672 /* 2226 */ // (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)
1673 /* 2226 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32rm),
1674 /* 2229 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1675 /* 2231 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
1676 /* 2233 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1677 /* 2237 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1678 /* 2240 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1679 /* 2245 */ GIR_RootConstrainSelectedInstOperands,
1680 /* 2246 */ // GIR_Coverage, 26138,
1681 /* 2246 */ GIR_EraseRootFromParent_Done,
1682 /* 2247 */ // Label 125: @2247
1683 /* 2247 */ GIM_Try, /*On fail goto*//*Label 126*/ GIMT_Encode4(2308), // Rule ID 22880 //
1684 /* 2252 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1685 /* 2255 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1686 /* 2259 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1687 /* 2263 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1688 /* 2267 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1689 /* 2270 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1690 /* 2274 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
1691 /* 2278 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1692 /* 2280 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1693 /* 2287 */ // (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)
1694 /* 2287 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32rm),
1695 /* 2290 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1696 /* 2292 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1697 /* 2294 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1698 /* 2298 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1699 /* 2301 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1700 /* 2306 */ GIR_RootConstrainSelectedInstOperands,
1701 /* 2307 */ // GIR_Coverage, 22880,
1702 /* 2307 */ GIR_EraseRootFromParent_Done,
1703 /* 2308 */ // Label 126: @2308
1704 /* 2308 */ GIM_Try, /*On fail goto*//*Label 127*/ GIMT_Encode4(2346), // Rule ID 22685 //
1705 /* 2313 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1706 /* 2316 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1707 /* 2320 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1708 /* 2331 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, 128:{ *:[i32] }) => (SUB32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, -128:{ *:[i32] })
1709 /* 2331 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32ri),
1710 /* 2334 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1711 /* 2336 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1712 /* 2338 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1713 /* 2341 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1714 /* 2344 */ GIR_RootConstrainSelectedInstOperands,
1715 /* 2345 */ // GIR_Coverage, 22685,
1716 /* 2345 */ GIR_EraseRootFromParent_Done,
1717 /* 2346 */ // Label 127: @2346
1718 /* 2346 */ GIM_Try, /*On fail goto*//*Label 128*/ GIMT_Encode4(2384), // Rule ID 22691 //
1719 /* 2351 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1720 /* 2354 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1721 /* 2358 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1722 /* 2369 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, 128:{ *:[i32] }) => (SUB32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, -128:{ *:[i32] })
1723 /* 2369 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32ri_ND),
1724 /* 2372 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1725 /* 2374 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1726 /* 2376 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1727 /* 2379 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1728 /* 2382 */ GIR_RootConstrainSelectedInstOperands,
1729 /* 2383 */ // GIR_Coverage, 22691,
1730 /* 2383 */ GIR_EraseRootFromParent_Done,
1731 /* 2384 */ // Label 128: @2384
1732 /* 2384 */ GIM_Try, /*On fail goto*//*Label 129*/ GIMT_Encode4(2412), // Rule ID 22946 //
1733 /* 2389 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
1734 /* 2392 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1735 /* 2396 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1736 /* 2400 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }) => (INC32r:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
1737 /* 2400 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32r),
1738 /* 2403 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1739 /* 2405 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1740 /* 2407 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1741 /* 2410 */ GIR_RootConstrainSelectedInstOperands,
1742 /* 2411 */ // GIR_Coverage, 22946,
1743 /* 2411 */ GIR_EraseRootFromParent_Done,
1744 /* 2412 */ // Label 129: @2412
1745 /* 2412 */ GIM_Try, /*On fail goto*//*Label 130*/ GIMT_Encode4(2440), // Rule ID 22949 //
1746 /* 2417 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
1747 /* 2420 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1748 /* 2424 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1749 /* 2428 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }) => (DEC32r:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
1750 /* 2428 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC32r),
1751 /* 2431 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1752 /* 2433 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1753 /* 2435 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1754 /* 2438 */ GIR_RootConstrainSelectedInstOperands,
1755 /* 2439 */ // GIR_Coverage, 22949,
1756 /* 2439 */ GIR_EraseRootFromParent_Done,
1757 /* 2440 */ // Label 130: @2440
1758 /* 2440 */ GIM_Try, /*On fail goto*//*Label 131*/ GIMT_Encode4(2468), // Rule ID 23036 //
1759 /* 2445 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
1760 /* 2448 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1761 /* 2452 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1762 /* 2456 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }) => (INC32r_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
1763 /* 2456 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32r_ND),
1764 /* 2459 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1765 /* 2461 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1766 /* 2463 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1767 /* 2466 */ GIR_RootConstrainSelectedInstOperands,
1768 /* 2467 */ // GIR_Coverage, 23036,
1769 /* 2467 */ GIR_EraseRootFromParent_Done,
1770 /* 2468 */ // Label 131: @2468
1771 /* 2468 */ GIM_Try, /*On fail goto*//*Label 132*/ GIMT_Encode4(2496), // Rule ID 23039 //
1772 /* 2473 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
1773 /* 2476 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1774 /* 2480 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1775 /* 2484 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }) => (DEC32r_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
1776 /* 2484 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC32r_ND),
1777 /* 2487 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1778 /* 2489 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1779 /* 2491 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1780 /* 2494 */ GIR_RootConstrainSelectedInstOperands,
1781 /* 2495 */ // GIR_Coverage, 23039,
1782 /* 2495 */ GIR_EraseRootFromParent_Done,
1783 /* 2496 */ // Label 132: @2496
1784 /* 2496 */ GIM_Try, /*On fail goto*//*Label 133*/ GIMT_Encode4(2533), // Rule ID 22884 //
1785 /* 2501 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1786 /* 2504 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1787 /* 2508 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1788 /* 2512 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1789 /* 2516 */ // MIs[1] Operand 1
1790 /* 2516 */ // No operand predicates
1791 /* 2516 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1792 /* 2518 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (ADD32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
1793 /* 2518 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32ri),
1794 /* 2521 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1795 /* 2523 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1796 /* 2525 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1797 /* 2528 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1798 /* 2531 */ GIR_RootConstrainSelectedInstOperands,
1799 /* 2532 */ // GIR_Coverage, 22884,
1800 /* 2532 */ GIR_EraseRootFromParent_Done,
1801 /* 2533 */ // Label 133: @2533
1802 /* 2533 */ GIM_Try, /*On fail goto*//*Label 134*/ GIMT_Encode4(2570), // Rule ID 22974 //
1803 /* 2538 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1804 /* 2541 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1805 /* 2545 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1806 /* 2549 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1807 /* 2553 */ // MIs[1] Operand 1
1808 /* 2553 */ // No operand predicates
1809 /* 2553 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1810 /* 2555 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (ADD32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
1811 /* 2555 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32ri_ND),
1812 /* 2558 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1813 /* 2560 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1814 /* 2562 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1815 /* 2565 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1816 /* 2568 */ GIR_RootConstrainSelectedInstOperands,
1817 /* 2569 */ // GIR_Coverage, 22974,
1818 /* 2569 */ GIR_EraseRootFromParent_Done,
1819 /* 2570 */ // Label 134: @2570
1820 /* 2570 */ GIM_Try, /*On fail goto*//*Label 135*/ GIMT_Encode4(2599), // Rule ID 22876 //
1821 /* 2575 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1822 /* 2578 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1823 /* 2582 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1824 /* 2586 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (ADD32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
1825 /* 2586 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD32rr),
1826 /* 2591 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1827 /* 2597 */ GIR_RootConstrainSelectedInstOperands,
1828 /* 2598 */ // GIR_Coverage, 22876,
1829 /* 2598 */ GIR_Done,
1830 /* 2599 */ // Label 135: @2599
1831 /* 2599 */ GIM_Try, /*On fail goto*//*Label 136*/ GIMT_Encode4(2628), // Rule ID 22966 //
1832 /* 2604 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1833 /* 2607 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1834 /* 2611 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1835 /* 2615 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (ADD32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
1836 /* 2615 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD32rr_ND),
1837 /* 2620 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1838 /* 2626 */ GIR_RootConstrainSelectedInstOperands,
1839 /* 2627 */ // GIR_Coverage, 22966,
1840 /* 2627 */ GIR_Done,
1841 /* 2628 */ // Label 136: @2628
1842 /* 2628 */ GIM_Reject,
1843 /* 2629 */ // Label 124: @2629
1844 /* 2629 */ GIM_Reject,
1845 /* 2630 */ // Label 86: @2630
1846 /* 2630 */ GIM_Try, /*On fail goto*//*Label 137*/ GIMT_Encode4(3186),
1847 /* 2635 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
1848 /* 2638 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
1849 /* 2641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1850 /* 2645 */ GIM_Try, /*On fail goto*//*Label 138*/ GIMT_Encode4(2706), // Rule ID 26139 //
1851 /* 2650 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1852 /* 2653 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1853 /* 2657 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1854 /* 2661 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1855 /* 2664 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
1856 /* 2668 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1857 /* 2672 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1858 /* 2676 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1859 /* 2678 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1860 /* 2685 */ // (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)
1861 /* 2685 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64rm),
1862 /* 2688 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1863 /* 2690 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
1864 /* 2692 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1865 /* 2696 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1866 /* 2699 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1867 /* 2704 */ GIR_RootConstrainSelectedInstOperands,
1868 /* 2705 */ // GIR_Coverage, 26139,
1869 /* 2705 */ GIR_EraseRootFromParent_Done,
1870 /* 2706 */ // Label 138: @2706
1871 /* 2706 */ GIM_Try, /*On fail goto*//*Label 139*/ GIMT_Encode4(2767), // Rule ID 22881 //
1872 /* 2711 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1873 /* 2714 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1874 /* 2718 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1875 /* 2722 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1876 /* 2726 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1877 /* 2729 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
1878 /* 2733 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1879 /* 2737 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1880 /* 2739 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1881 /* 2746 */ // (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)
1882 /* 2746 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64rm),
1883 /* 2749 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1884 /* 2751 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1885 /* 2753 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1886 /* 2757 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1887 /* 2760 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1888 /* 2765 */ GIR_RootConstrainSelectedInstOperands,
1889 /* 2766 */ // GIR_Coverage, 22881,
1890 /* 2766 */ GIR_EraseRootFromParent_Done,
1891 /* 2767 */ // Label 139: @2767
1892 /* 2767 */ GIM_Try, /*On fail goto*//*Label 140*/ GIMT_Encode4(2805), // Rule ID 22688 //
1893 /* 2772 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDDI),
1894 /* 2775 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1895 /* 2779 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1896 /* 2790 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, 128:{ *:[i64] }) => (SUB64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, -128:{ *:[i64] })
1897 /* 2790 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32),
1898 /* 2793 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1899 /* 2795 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1900 /* 2797 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1901 /* 2800 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1902 /* 2803 */ GIR_RootConstrainSelectedInstOperands,
1903 /* 2804 */ // GIR_Coverage, 22688,
1904 /* 2804 */ GIR_EraseRootFromParent_Done,
1905 /* 2805 */ // Label 140: @2805
1906 /* 2805 */ GIM_Try, /*On fail goto*//*Label 141*/ GIMT_Encode4(2843), // Rule ID 22694 //
1907 /* 2810 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDDI),
1908 /* 2813 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1909 /* 2817 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1910 /* 2828 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, 128:{ *:[i64] }) => (SUB64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, -128:{ *:[i64] })
1911 /* 2828 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32_ND),
1912 /* 2831 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1913 /* 2833 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1914 /* 2835 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1915 /* 2838 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1916 /* 2841 */ GIR_RootConstrainSelectedInstOperands,
1917 /* 2842 */ // GIR_Coverage, 22694,
1918 /* 2842 */ GIR_EraseRootFromParent_Done,
1919 /* 2843 */ // Label 141: @2843
1920 /* 2843 */ GIM_Try, /*On fail goto*//*Label 142*/ GIMT_Encode4(2888), // Rule ID 22702 //
1921 /* 2848 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1922 /* 2851 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1923 /* 2855 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2147483648),
1924 /* 2866 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, 2147483648:{ *:[i64] }) => (SUB64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, -2147483648:{ *:[i64] })
1925 /* 2866 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32),
1926 /* 2869 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1927 /* 2871 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1928 /* 2873 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(18446744071562067968u),
1929 /* 2883 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1930 /* 2886 */ GIR_RootConstrainSelectedInstOperands,
1931 /* 2887 */ // GIR_Coverage, 22702,
1932 /* 2887 */ GIR_EraseRootFromParent_Done,
1933 /* 2888 */ // Label 142: @2888
1934 /* 2888 */ GIM_Try, /*On fail goto*//*Label 143*/ GIMT_Encode4(2933), // Rule ID 22704 //
1935 /* 2893 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDDI),
1936 /* 2896 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1937 /* 2900 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2147483648),
1938 /* 2911 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, 2147483648:{ *:[i64] }) => (SUB64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, -2147483648:{ *:[i64] })
1939 /* 2911 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32_ND),
1940 /* 2914 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1941 /* 2916 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1942 /* 2918 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(18446744071562067968u),
1943 /* 2928 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1944 /* 2931 */ GIR_RootConstrainSelectedInstOperands,
1945 /* 2932 */ // GIR_Coverage, 22704,
1946 /* 2932 */ GIR_EraseRootFromParent_Done,
1947 /* 2933 */ // Label 143: @2933
1948 /* 2933 */ GIM_Try, /*On fail goto*//*Label 144*/ GIMT_Encode4(2961), // Rule ID 22959 //
1949 /* 2938 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDDI_UseIncDec),
1950 /* 2941 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1951 /* 2945 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1952 /* 2949 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }) => (INC64r:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
1953 /* 2949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64r),
1954 /* 2952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1955 /* 2954 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1956 /* 2956 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1957 /* 2959 */ GIR_RootConstrainSelectedInstOperands,
1958 /* 2960 */ // GIR_Coverage, 22959,
1959 /* 2960 */ GIR_EraseRootFromParent_Done,
1960 /* 2961 */ // Label 144: @2961
1961 /* 2961 */ GIM_Try, /*On fail goto*//*Label 145*/ GIMT_Encode4(2989), // Rule ID 22960 //
1962 /* 2966 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDDI_UseIncDec),
1963 /* 2969 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1964 /* 2973 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1965 /* 2977 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }) => (DEC64r:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
1966 /* 2977 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC64r),
1967 /* 2980 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1968 /* 2982 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1969 /* 2984 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1970 /* 2987 */ GIR_RootConstrainSelectedInstOperands,
1971 /* 2988 */ // GIR_Coverage, 22960,
1972 /* 2988 */ GIR_EraseRootFromParent_Done,
1973 /* 2989 */ // Label 145: @2989
1974 /* 2989 */ GIM_Try, /*On fail goto*//*Label 146*/ GIMT_Encode4(3017), // Rule ID 23049 //
1975 /* 2994 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDDI_UseIncDec),
1976 /* 2997 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1977 /* 3001 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1978 /* 3005 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }) => (INC64r_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
1979 /* 3005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64r_ND),
1980 /* 3008 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1981 /* 3010 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1982 /* 3012 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1983 /* 3015 */ GIR_RootConstrainSelectedInstOperands,
1984 /* 3016 */ // GIR_Coverage, 23049,
1985 /* 3016 */ GIR_EraseRootFromParent_Done,
1986 /* 3017 */ // Label 146: @3017
1987 /* 3017 */ GIM_Try, /*On fail goto*//*Label 147*/ GIMT_Encode4(3045), // Rule ID 23050 //
1988 /* 3022 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDDI_UseIncDec),
1989 /* 3025 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1990 /* 3029 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1991 /* 3033 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }) => (DEC64r_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
1992 /* 3033 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC64r_ND),
1993 /* 3036 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1994 /* 3038 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1995 /* 3040 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1996 /* 3043 */ GIR_RootConstrainSelectedInstOperands,
1997 /* 3044 */ // GIR_Coverage, 23050,
1998 /* 3044 */ GIR_EraseRootFromParent_Done,
1999 /* 3045 */ // Label 147: @3045
2000 /* 3045 */ GIM_Try, /*On fail goto*//*Label 148*/ GIMT_Encode4(3086), // Rule ID 22942 //
2001 /* 3050 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDDI),
2002 /* 3053 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2003 /* 3057 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2004 /* 3061 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
2005 /* 3065 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
2006 /* 3069 */ // MIs[1] Operand 1
2007 /* 3069 */ // No operand predicates
2008 /* 3069 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2009 /* 3071 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (ADD64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
2010 /* 3071 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64ri32),
2011 /* 3074 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2012 /* 3076 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2013 /* 3078 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
2014 /* 3081 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2015 /* 3084 */ GIR_RootConstrainSelectedInstOperands,
2016 /* 3085 */ // GIR_Coverage, 22942,
2017 /* 3085 */ GIR_EraseRootFromParent_Done,
2018 /* 3086 */ // Label 148: @3086
2019 /* 3086 */ GIM_Try, /*On fail goto*//*Label 149*/ GIMT_Encode4(3127), // Rule ID 23032 //
2020 /* 3091 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDDI),
2021 /* 3094 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2022 /* 3098 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2023 /* 3102 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
2024 /* 3106 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
2025 /* 3110 */ // MIs[1] Operand 1
2026 /* 3110 */ // No operand predicates
2027 /* 3110 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2028 /* 3112 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (ADD64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
2029 /* 3112 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64ri32_ND),
2030 /* 3115 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2031 /* 3117 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2032 /* 3119 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
2033 /* 3122 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2034 /* 3125 */ GIR_RootConstrainSelectedInstOperands,
2035 /* 3126 */ // GIR_Coverage, 23032,
2036 /* 3126 */ GIR_EraseRootFromParent_Done,
2037 /* 3127 */ // Label 149: @3127
2038 /* 3127 */ GIM_Try, /*On fail goto*//*Label 150*/ GIMT_Encode4(3156), // Rule ID 22877 //
2039 /* 3132 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
2040 /* 3135 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2041 /* 3139 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2042 /* 3143 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (ADD64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
2043 /* 3143 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD64rr),
2044 /* 3148 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
2045 /* 3154 */ GIR_RootConstrainSelectedInstOperands,
2046 /* 3155 */ // GIR_Coverage, 22877,
2047 /* 3155 */ GIR_Done,
2048 /* 3156 */ // Label 150: @3156
2049 /* 3156 */ GIM_Try, /*On fail goto*//*Label 151*/ GIMT_Encode4(3185), // Rule ID 22967 //
2050 /* 3161 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
2051 /* 3164 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2052 /* 3168 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2053 /* 3172 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (ADD64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
2054 /* 3172 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD64rr_ND),
2055 /* 3177 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
2056 /* 3183 */ GIR_RootConstrainSelectedInstOperands,
2057 /* 3184 */ // GIR_Coverage, 22967,
2058 /* 3184 */ GIR_Done,
2059 /* 3185 */ // Label 151: @3185
2060 /* 3185 */ GIM_Reject,
2061 /* 3186 */ // Label 137: @3186
2062 /* 3186 */ GIM_Reject,
2063 /* 3187 */ // Label 87: @3187
2064 /* 3187 */ GIM_Try, /*On fail goto*//*Label 152*/ GIMT_Encode4(3528),
2065 /* 3192 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
2066 /* 3195 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
2067 /* 3198 */ GIM_Try, /*On fail goto*//*Label 153*/ GIMT_Encode4(3260), // Rule ID 23520 //
2068 /* 3203 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
2069 /* 3206 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2070 /* 3210 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2071 /* 3214 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2072 /* 3218 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2073 /* 3221 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2074 /* 3225 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2075 /* 3229 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2076 /* 3233 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2077 /* 3235 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2078 /* 3242 */ // (add:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src1) => (VPADDQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2079 /* 3242 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQrm),
2080 /* 3245 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2081 /* 3247 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2082 /* 3249 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2083 /* 3253 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2084 /* 3258 */ GIR_RootConstrainSelectedInstOperands,
2085 /* 3259 */ // GIR_Coverage, 23520,
2086 /* 3259 */ GIR_EraseRootFromParent_Done,
2087 /* 3260 */ // Label 153: @3260
2088 /* 3260 */ GIM_Try, /*On fail goto*//*Label 154*/ GIMT_Encode4(3322), // Rule ID 23790 //
2089 /* 3265 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2090 /* 3268 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2091 /* 3272 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2092 /* 3276 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2093 /* 3280 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2094 /* 3283 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2095 /* 3287 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2096 /* 3291 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2097 /* 3295 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2098 /* 3297 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2099 /* 3304 */ // (add:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPADDQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2100 /* 3304 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZ128rm),
2101 /* 3307 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2102 /* 3309 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2103 /* 3311 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2104 /* 3315 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2105 /* 3320 */ GIR_RootConstrainSelectedInstOperands,
2106 /* 3321 */ // GIR_Coverage, 23790,
2107 /* 3321 */ GIR_EraseRootFromParent_Done,
2108 /* 3322 */ // Label 154: @3322
2109 /* 3322 */ GIM_Try, /*On fail goto*//*Label 155*/ GIMT_Encode4(3384), // Rule ID 2541 //
2110 /* 3327 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
2111 /* 3330 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2112 /* 3334 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2113 /* 3338 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2114 /* 3342 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2115 /* 3346 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2116 /* 3349 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2117 /* 3353 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2118 /* 3357 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2119 /* 3359 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2120 /* 3366 */ // (add:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2121 /* 3366 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQrm),
2122 /* 3369 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2123 /* 3371 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2124 /* 3373 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2125 /* 3377 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2126 /* 3382 */ GIR_RootConstrainSelectedInstOperands,
2127 /* 3383 */ // GIR_Coverage, 2541,
2128 /* 3383 */ GIR_EraseRootFromParent_Done,
2129 /* 3384 */ // Label 155: @3384
2130 /* 3384 */ GIM_Try, /*On fail goto*//*Label 156*/ GIMT_Encode4(3446), // Rule ID 4658 //
2131 /* 3389 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2132 /* 3392 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2133 /* 3396 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2134 /* 3400 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2135 /* 3404 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2136 /* 3408 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2137 /* 3411 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2138 /* 3415 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2139 /* 3419 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2140 /* 3421 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2141 /* 3428 */ // (add:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2142 /* 3428 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZ128rm),
2143 /* 3431 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2144 /* 3433 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2145 /* 3435 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2146 /* 3439 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2147 /* 3444 */ GIR_RootConstrainSelectedInstOperands,
2148 /* 3445 */ // GIR_Coverage, 4658,
2149 /* 3445 */ GIR_EraseRootFromParent_Done,
2150 /* 3446 */ // Label 156: @3446
2151 /* 3446 */ GIM_Try, /*On fail goto*//*Label 157*/ GIMT_Encode4(3473), // Rule ID 2540 //
2152 /* 3451 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
2153 /* 3454 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2154 /* 3458 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2155 /* 3462 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2156 /* 3466 */ // (add:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPADDQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
2157 /* 3466 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQrr),
2158 /* 3471 */ GIR_RootConstrainSelectedInstOperands,
2159 /* 3472 */ // GIR_Coverage, 2540,
2160 /* 3472 */ GIR_Done,
2161 /* 3473 */ // Label 157: @3473
2162 /* 3473 */ GIM_Try, /*On fail goto*//*Label 158*/ GIMT_Encode4(3500), // Rule ID 2542 //
2163 /* 3478 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
2164 /* 3481 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2165 /* 3485 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2166 /* 3489 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2167 /* 3493 */ // (add:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PADDQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
2168 /* 3493 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDQrr),
2169 /* 3498 */ GIR_RootConstrainSelectedInstOperands,
2170 /* 3499 */ // GIR_Coverage, 2542,
2171 /* 3499 */ GIR_Done,
2172 /* 3500 */ // Label 158: @3500
2173 /* 3500 */ GIM_Try, /*On fail goto*//*Label 159*/ GIMT_Encode4(3527), // Rule ID 4655 //
2174 /* 3505 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2175 /* 3508 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2176 /* 3512 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2177 /* 3516 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2178 /* 3520 */ // (add:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPADDQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
2179 /* 3520 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQZ128rr),
2180 /* 3525 */ GIR_RootConstrainSelectedInstOperands,
2181 /* 3526 */ // GIR_Coverage, 4655,
2182 /* 3526 */ GIR_Done,
2183 /* 3527 */ // Label 159: @3527
2184 /* 3527 */ GIM_Reject,
2185 /* 3528 */ // Label 152: @3528
2186 /* 3528 */ GIM_Reject,
2187 /* 3529 */ // Label 88: @3529
2188 /* 3529 */ GIM_Try, /*On fail goto*//*Label 160*/ GIMT_Encode4(3992),
2189 /* 3534 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
2190 /* 3537 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
2191 /* 3540 */ GIM_Try, /*On fail goto*//*Label 161*/ GIMT_Encode4(3602), // Rule ID 23517 //
2192 /* 3545 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
2193 /* 3548 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2194 /* 3552 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2195 /* 3556 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2196 /* 3560 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2197 /* 3563 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2198 /* 3567 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2199 /* 3571 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2200 /* 3575 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2201 /* 3577 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2202 /* 3584 */ // (add:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPADDDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2203 /* 3584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDrm),
2204 /* 3587 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2205 /* 3589 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2206 /* 3591 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2207 /* 3595 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2208 /* 3600 */ GIR_RootConstrainSelectedInstOperands,
2209 /* 3601 */ // GIR_Coverage, 23517,
2210 /* 3601 */ GIR_EraseRootFromParent_Done,
2211 /* 3602 */ // Label 161: @3602
2212 /* 3602 */ GIM_Try, /*On fail goto*//*Label 162*/ GIMT_Encode4(3664), // Rule ID 23808 //
2213 /* 3607 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2214 /* 3610 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2215 /* 3614 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2216 /* 3618 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2217 /* 3622 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2218 /* 3625 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2219 /* 3629 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2220 /* 3633 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2221 /* 3637 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2222 /* 3639 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2223 /* 3646 */ // (add:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPADDDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2224 /* 3646 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZ128rm),
2225 /* 3649 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2226 /* 3651 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2227 /* 3653 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2228 /* 3657 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2229 /* 3662 */ GIR_RootConstrainSelectedInstOperands,
2230 /* 3663 */ // GIR_Coverage, 23808,
2231 /* 3663 */ GIR_EraseRootFromParent_Done,
2232 /* 3664 */ // Label 162: @3664
2233 /* 3664 */ GIM_Try, /*On fail goto*//*Label 163*/ GIMT_Encode4(3726), // Rule ID 2535 //
2234 /* 3669 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
2235 /* 3672 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2236 /* 3676 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2237 /* 3680 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2238 /* 3684 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2239 /* 3688 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2240 /* 3691 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2241 /* 3695 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2242 /* 3699 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2243 /* 3701 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2244 /* 3708 */ // (add:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2245 /* 3708 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDrm),
2246 /* 3711 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2247 /* 3713 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2248 /* 3715 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2249 /* 3719 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2250 /* 3724 */ GIR_RootConstrainSelectedInstOperands,
2251 /* 3725 */ // GIR_Coverage, 2535,
2252 /* 3725 */ GIR_EraseRootFromParent_Done,
2253 /* 3726 */ // Label 163: @3726
2254 /* 3726 */ GIM_Try, /*On fail goto*//*Label 164*/ GIMT_Encode4(3788), // Rule ID 4685 //
2255 /* 3731 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2256 /* 3734 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2257 /* 3738 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2258 /* 3742 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2259 /* 3746 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2260 /* 3750 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2261 /* 3753 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2262 /* 3757 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2263 /* 3761 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2264 /* 3763 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2265 /* 3770 */ // (add:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2266 /* 3770 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZ128rm),
2267 /* 3773 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2268 /* 3775 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2269 /* 3777 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2270 /* 3781 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2271 /* 3786 */ GIR_RootConstrainSelectedInstOperands,
2272 /* 3787 */ // GIR_Coverage, 4685,
2273 /* 3787 */ GIR_EraseRootFromParent_Done,
2274 /* 3788 */ // Label 164: @3788
2275 /* 3788 */ GIM_Try, /*On fail goto*//*Label 165*/ GIMT_Encode4(3849), // Rule ID 17857 //
2276 /* 3793 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
2277 /* 3796 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2278 /* 3800 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2279 /* 3804 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
2280 /* 3808 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
2281 /* 3812 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
2282 /* 3816 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2283 /* 3821 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2284 /* 3826 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2285 /* 3830 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2286 /* 3832 */ // (add:{ *:[v4i32] } (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2), VR128:{ *:[v4i32] }:$src3) => (VPMACSDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
2287 /* 3832 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrr),
2288 /* 3835 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2289 /* 3837 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
2290 /* 3841 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
2291 /* 3845 */ GIR_RootToRootCopy, /*OpIdx*/2, // src3
2292 /* 3847 */ GIR_RootConstrainSelectedInstOperands,
2293 /* 3848 */ // GIR_Coverage, 17857,
2294 /* 3848 */ GIR_EraseRootFromParent_Done,
2295 /* 3849 */ // Label 165: @3849
2296 /* 3849 */ GIM_Try, /*On fail goto*//*Label 166*/ GIMT_Encode4(3910), // Rule ID 25272 //
2297 /* 3854 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
2298 /* 3857 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2299 /* 3861 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2300 /* 3865 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2301 /* 3869 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
2302 /* 3873 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
2303 /* 3877 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
2304 /* 3881 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2305 /* 3886 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2306 /* 3891 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2307 /* 3893 */ // (add:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src3, (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)) => (VPMACSDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
2308 /* 3893 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrr),
2309 /* 3896 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2310 /* 3898 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
2311 /* 3902 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
2312 /* 3906 */ GIR_RootToRootCopy, /*OpIdx*/1, // src3
2313 /* 3908 */ GIR_RootConstrainSelectedInstOperands,
2314 /* 3909 */ // GIR_Coverage, 25272,
2315 /* 3909 */ GIR_EraseRootFromParent_Done,
2316 /* 3910 */ // Label 166: @3910
2317 /* 3910 */ GIM_Try, /*On fail goto*//*Label 167*/ GIMT_Encode4(3937), // Rule ID 2534 //
2318 /* 3915 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
2319 /* 3918 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2320 /* 3922 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2321 /* 3926 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2322 /* 3930 */ // (add:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPADDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
2323 /* 3930 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDrr),
2324 /* 3935 */ GIR_RootConstrainSelectedInstOperands,
2325 /* 3936 */ // GIR_Coverage, 2534,
2326 /* 3936 */ GIR_Done,
2327 /* 3937 */ // Label 167: @3937
2328 /* 3937 */ GIM_Try, /*On fail goto*//*Label 168*/ GIMT_Encode4(3964), // Rule ID 2536 //
2329 /* 3942 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
2330 /* 3945 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2331 /* 3949 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2332 /* 3953 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2333 /* 3957 */ // (add:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PADDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
2334 /* 3957 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDDrr),
2335 /* 3962 */ GIR_RootConstrainSelectedInstOperands,
2336 /* 3963 */ // GIR_Coverage, 2536,
2337 /* 3963 */ GIR_Done,
2338 /* 3964 */ // Label 168: @3964
2339 /* 3964 */ GIM_Try, /*On fail goto*//*Label 169*/ GIMT_Encode4(3991), // Rule ID 4682 //
2340 /* 3969 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2341 /* 3972 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2342 /* 3976 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2343 /* 3980 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2344 /* 3984 */ // (add:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPADDDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
2345 /* 3984 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDZ128rr),
2346 /* 3989 */ GIR_RootConstrainSelectedInstOperands,
2347 /* 3990 */ // GIR_Coverage, 4682,
2348 /* 3990 */ GIR_Done,
2349 /* 3991 */ // Label 169: @3991
2350 /* 3991 */ GIM_Reject,
2351 /* 3992 */ // Label 160: @3992
2352 /* 3992 */ GIM_Reject,
2353 /* 3993 */ // Label 89: @3993
2354 /* 3993 */ GIM_Try, /*On fail goto*//*Label 170*/ GIMT_Encode4(4307),
2355 /* 3998 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
2356 /* 4001 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
2357 /* 4004 */ GIM_Try, /*On fail goto*//*Label 171*/ GIMT_Encode4(4066), // Rule ID 23522 //
2358 /* 4009 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
2359 /* 4012 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2360 /* 4016 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2361 /* 4020 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2362 /* 4024 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2363 /* 4027 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2364 /* 4031 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2365 /* 4035 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2366 /* 4039 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2367 /* 4041 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2368 /* 4048 */ // (add:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VPADDQYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2369 /* 4048 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQYrm),
2370 /* 4051 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2371 /* 4053 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2372 /* 4055 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2373 /* 4059 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2374 /* 4064 */ GIR_RootConstrainSelectedInstOperands,
2375 /* 4065 */ // GIR_Coverage, 23522,
2376 /* 4065 */ GIR_EraseRootFromParent_Done,
2377 /* 4066 */ // Label 171: @4066
2378 /* 4066 */ GIM_Try, /*On fail goto*//*Label 172*/ GIMT_Encode4(4128), // Rule ID 23784 //
2379 /* 4071 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2380 /* 4074 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2381 /* 4078 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2382 /* 4082 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2383 /* 4086 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2384 /* 4089 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2385 /* 4093 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2386 /* 4097 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2387 /* 4101 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2388 /* 4103 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2389 /* 4110 */ // (add:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPADDQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2390 /* 4110 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZ256rm),
2391 /* 4113 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2392 /* 4115 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2393 /* 4117 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2394 /* 4121 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2395 /* 4126 */ GIR_RootConstrainSelectedInstOperands,
2396 /* 4127 */ // GIR_Coverage, 23784,
2397 /* 4127 */ GIR_EraseRootFromParent_Done,
2398 /* 4128 */ // Label 172: @4128
2399 /* 4128 */ GIM_Try, /*On fail goto*//*Label 173*/ GIMT_Encode4(4190), // Rule ID 2545 //
2400 /* 4133 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
2401 /* 4136 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2402 /* 4140 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2403 /* 4144 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2404 /* 4148 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2405 /* 4152 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2406 /* 4155 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2407 /* 4159 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2408 /* 4163 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2409 /* 4165 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2410 /* 4172 */ // (add:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2411 /* 4172 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQYrm),
2412 /* 4175 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2413 /* 4177 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2414 /* 4179 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2415 /* 4183 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2416 /* 4188 */ GIR_RootConstrainSelectedInstOperands,
2417 /* 4189 */ // GIR_Coverage, 2545,
2418 /* 4189 */ GIR_EraseRootFromParent_Done,
2419 /* 4190 */ // Label 173: @4190
2420 /* 4190 */ GIM_Try, /*On fail goto*//*Label 174*/ GIMT_Encode4(4252), // Rule ID 4649 //
2421 /* 4195 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2422 /* 4198 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2423 /* 4202 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2424 /* 4206 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2425 /* 4210 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2426 /* 4214 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2427 /* 4217 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2428 /* 4221 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2429 /* 4225 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2430 /* 4227 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2431 /* 4234 */ // (add:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2432 /* 4234 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZ256rm),
2433 /* 4237 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2434 /* 4239 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2435 /* 4241 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2436 /* 4245 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2437 /* 4250 */ GIR_RootConstrainSelectedInstOperands,
2438 /* 4251 */ // GIR_Coverage, 4649,
2439 /* 4251 */ GIR_EraseRootFromParent_Done,
2440 /* 4252 */ // Label 174: @4252
2441 /* 4252 */ GIM_Try, /*On fail goto*//*Label 175*/ GIMT_Encode4(4279), // Rule ID 2544 //
2442 /* 4257 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
2443 /* 4260 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2444 /* 4264 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2445 /* 4268 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2446 /* 4272 */ // (add:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPADDQYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
2447 /* 4272 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQYrr),
2448 /* 4277 */ GIR_RootConstrainSelectedInstOperands,
2449 /* 4278 */ // GIR_Coverage, 2544,
2450 /* 4278 */ GIR_Done,
2451 /* 4279 */ // Label 175: @4279
2452 /* 4279 */ GIM_Try, /*On fail goto*//*Label 176*/ GIMT_Encode4(4306), // Rule ID 4646 //
2453 /* 4284 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2454 /* 4287 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2455 /* 4291 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2456 /* 4295 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2457 /* 4299 */ // (add:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPADDQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
2458 /* 4299 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQZ256rr),
2459 /* 4304 */ GIR_RootConstrainSelectedInstOperands,
2460 /* 4305 */ // GIR_Coverage, 4646,
2461 /* 4305 */ GIR_Done,
2462 /* 4306 */ // Label 176: @4306
2463 /* 4306 */ GIM_Reject,
2464 /* 4307 */ // Label 170: @4307
2465 /* 4307 */ GIM_Reject,
2466 /* 4308 */ // Label 90: @4308
2467 /* 4308 */ GIM_Try, /*On fail goto*//*Label 177*/ GIMT_Encode4(4771),
2468 /* 4313 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
2469 /* 4316 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
2470 /* 4319 */ GIM_Try, /*On fail goto*//*Label 178*/ GIMT_Encode4(4381), // Rule ID 23514 //
2471 /* 4324 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
2472 /* 4327 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2473 /* 4331 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2474 /* 4335 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2475 /* 4339 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2476 /* 4342 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2477 /* 4346 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2478 /* 4350 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2479 /* 4354 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2480 /* 4356 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2481 /* 4363 */ // (add:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPADDWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2482 /* 4363 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWrm),
2483 /* 4366 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2484 /* 4368 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2485 /* 4370 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2486 /* 4374 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2487 /* 4379 */ GIR_RootConstrainSelectedInstOperands,
2488 /* 4380 */ // GIR_Coverage, 23514,
2489 /* 4380 */ GIR_EraseRootFromParent_Done,
2490 /* 4381 */ // Label 178: @4381
2491 /* 4381 */ GIM_Try, /*On fail goto*//*Label 179*/ GIMT_Encode4(4443), // Rule ID 23820 //
2492 /* 4386 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
2493 /* 4389 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2494 /* 4393 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2495 /* 4397 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2496 /* 4401 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2497 /* 4404 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2498 /* 4408 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2499 /* 4412 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2500 /* 4416 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2501 /* 4418 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2502 /* 4425 */ // (add:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPADDWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2503 /* 4425 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZ128rm),
2504 /* 4428 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2505 /* 4430 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2506 /* 4432 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2507 /* 4436 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2508 /* 4441 */ GIR_RootConstrainSelectedInstOperands,
2509 /* 4442 */ // GIR_Coverage, 23820,
2510 /* 4442 */ GIR_EraseRootFromParent_Done,
2511 /* 4443 */ // Label 179: @4443
2512 /* 4443 */ GIM_Try, /*On fail goto*//*Label 180*/ GIMT_Encode4(4505), // Rule ID 2529 //
2513 /* 4448 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
2514 /* 4451 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2515 /* 4455 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2516 /* 4459 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2517 /* 4463 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2518 /* 4467 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2519 /* 4470 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2520 /* 4474 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2521 /* 4478 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2522 /* 4480 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2523 /* 4487 */ // (add:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2524 /* 4487 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWrm),
2525 /* 4490 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2526 /* 4492 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2527 /* 4494 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2528 /* 4498 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2529 /* 4503 */ GIR_RootConstrainSelectedInstOperands,
2530 /* 4504 */ // GIR_Coverage, 2529,
2531 /* 4504 */ GIR_EraseRootFromParent_Done,
2532 /* 4505 */ // Label 180: @4505
2533 /* 4505 */ GIM_Try, /*On fail goto*//*Label 181*/ GIMT_Encode4(4567), // Rule ID 4706 //
2534 /* 4510 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
2535 /* 4513 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2536 /* 4517 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2537 /* 4521 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2538 /* 4525 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2539 /* 4529 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2540 /* 4532 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2541 /* 4536 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2542 /* 4540 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2543 /* 4542 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2544 /* 4549 */ // (add:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2545 /* 4549 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZ128rm),
2546 /* 4552 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2547 /* 4554 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2548 /* 4556 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2549 /* 4560 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2550 /* 4565 */ GIR_RootConstrainSelectedInstOperands,
2551 /* 4566 */ // GIR_Coverage, 4706,
2552 /* 4566 */ GIR_EraseRootFromParent_Done,
2553 /* 4567 */ // Label 181: @4567
2554 /* 4567 */ GIM_Try, /*On fail goto*//*Label 182*/ GIMT_Encode4(4628), // Rule ID 17856 //
2555 /* 4572 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
2556 /* 4575 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2557 /* 4579 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2558 /* 4583 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
2559 /* 4587 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
2560 /* 4591 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
2561 /* 4595 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2562 /* 4600 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2563 /* 4605 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2564 /* 4609 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2565 /* 4611 */ // (add:{ *:[v8i16] } (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2), VR128:{ *:[v8i16] }:$src3) => (VPMACSWWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3)
2566 /* 4611 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrr),
2567 /* 4614 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2568 /* 4616 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
2569 /* 4620 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
2570 /* 4624 */ GIR_RootToRootCopy, /*OpIdx*/2, // src3
2571 /* 4626 */ GIR_RootConstrainSelectedInstOperands,
2572 /* 4627 */ // GIR_Coverage, 17856,
2573 /* 4627 */ GIR_EraseRootFromParent_Done,
2574 /* 4628 */ // Label 182: @4628
2575 /* 4628 */ GIM_Try, /*On fail goto*//*Label 183*/ GIMT_Encode4(4689), // Rule ID 25271 //
2576 /* 4633 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
2577 /* 4636 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2578 /* 4640 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2579 /* 4644 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2580 /* 4648 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
2581 /* 4652 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
2582 /* 4656 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
2583 /* 4660 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2584 /* 4665 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2585 /* 4670 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2586 /* 4672 */ // (add:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src3, (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)) => (VPMACSWWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3)
2587 /* 4672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrr),
2588 /* 4675 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2589 /* 4677 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
2590 /* 4681 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
2591 /* 4685 */ GIR_RootToRootCopy, /*OpIdx*/1, // src3
2592 /* 4687 */ GIR_RootConstrainSelectedInstOperands,
2593 /* 4688 */ // GIR_Coverage, 25271,
2594 /* 4688 */ GIR_EraseRootFromParent_Done,
2595 /* 4689 */ // Label 183: @4689
2596 /* 4689 */ GIM_Try, /*On fail goto*//*Label 184*/ GIMT_Encode4(4716), // Rule ID 2528 //
2597 /* 4694 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
2598 /* 4697 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2599 /* 4701 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2600 /* 4705 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2601 /* 4709 */ // (add:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPADDWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
2602 /* 4709 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWrr),
2603 /* 4714 */ GIR_RootConstrainSelectedInstOperands,
2604 /* 4715 */ // GIR_Coverage, 2528,
2605 /* 4715 */ GIR_Done,
2606 /* 4716 */ // Label 184: @4716
2607 /* 4716 */ GIM_Try, /*On fail goto*//*Label 185*/ GIMT_Encode4(4743), // Rule ID 2530 //
2608 /* 4721 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
2609 /* 4724 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2610 /* 4728 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2611 /* 4732 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2612 /* 4736 */ // (add:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PADDWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
2613 /* 4736 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDWrr),
2614 /* 4741 */ GIR_RootConstrainSelectedInstOperands,
2615 /* 4742 */ // GIR_Coverage, 2530,
2616 /* 4742 */ GIR_Done,
2617 /* 4743 */ // Label 185: @4743
2618 /* 4743 */ GIM_Try, /*On fail goto*//*Label 186*/ GIMT_Encode4(4770), // Rule ID 4703 //
2619 /* 4748 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
2620 /* 4751 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2621 /* 4755 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2622 /* 4759 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2623 /* 4763 */ // (add:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPADDWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
2624 /* 4763 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWZ128rr),
2625 /* 4768 */ GIR_RootConstrainSelectedInstOperands,
2626 /* 4769 */ // GIR_Coverage, 4703,
2627 /* 4769 */ GIR_Done,
2628 /* 4770 */ // Label 186: @4770
2629 /* 4770 */ GIM_Reject,
2630 /* 4771 */ // Label 177: @4771
2631 /* 4771 */ GIM_Reject,
2632 /* 4772 */ // Label 91: @4772
2633 /* 4772 */ GIM_Try, /*On fail goto*//*Label 187*/ GIMT_Encode4(5086),
2634 /* 4777 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
2635 /* 4780 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
2636 /* 4783 */ GIM_Try, /*On fail goto*//*Label 188*/ GIMT_Encode4(4845), // Rule ID 23519 //
2637 /* 4788 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
2638 /* 4791 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2639 /* 4795 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2640 /* 4799 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2641 /* 4803 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2642 /* 4806 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2643 /* 4810 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2644 /* 4814 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2645 /* 4818 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2646 /* 4820 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2647 /* 4827 */ // (add:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPADDDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2648 /* 4827 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDYrm),
2649 /* 4830 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2650 /* 4832 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2651 /* 4834 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2652 /* 4838 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2653 /* 4843 */ GIR_RootConstrainSelectedInstOperands,
2654 /* 4844 */ // GIR_Coverage, 23519,
2655 /* 4844 */ GIR_EraseRootFromParent_Done,
2656 /* 4845 */ // Label 188: @4845
2657 /* 4845 */ GIM_Try, /*On fail goto*//*Label 189*/ GIMT_Encode4(4907), // Rule ID 23802 //
2658 /* 4850 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2659 /* 4853 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2660 /* 4857 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2661 /* 4861 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2662 /* 4865 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2663 /* 4868 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2664 /* 4872 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2665 /* 4876 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2666 /* 4880 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2667 /* 4882 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2668 /* 4889 */ // (add:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPADDDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2669 /* 4889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZ256rm),
2670 /* 4892 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2671 /* 4894 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2672 /* 4896 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2673 /* 4900 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2674 /* 4905 */ GIR_RootConstrainSelectedInstOperands,
2675 /* 4906 */ // GIR_Coverage, 23802,
2676 /* 4906 */ GIR_EraseRootFromParent_Done,
2677 /* 4907 */ // Label 189: @4907
2678 /* 4907 */ GIM_Try, /*On fail goto*//*Label 190*/ GIMT_Encode4(4969), // Rule ID 2539 //
2679 /* 4912 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
2680 /* 4915 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2681 /* 4919 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2682 /* 4923 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2683 /* 4927 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2684 /* 4931 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2685 /* 4934 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2686 /* 4938 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2687 /* 4942 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2688 /* 4944 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2689 /* 4951 */ // (add:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2690 /* 4951 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDYrm),
2691 /* 4954 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2692 /* 4956 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2693 /* 4958 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2694 /* 4962 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2695 /* 4967 */ GIR_RootConstrainSelectedInstOperands,
2696 /* 4968 */ // GIR_Coverage, 2539,
2697 /* 4968 */ GIR_EraseRootFromParent_Done,
2698 /* 4969 */ // Label 190: @4969
2699 /* 4969 */ GIM_Try, /*On fail goto*//*Label 191*/ GIMT_Encode4(5031), // Rule ID 4676 //
2700 /* 4974 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2701 /* 4977 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2702 /* 4981 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2703 /* 4985 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2704 /* 4989 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2705 /* 4993 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2706 /* 4996 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2707 /* 5000 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2708 /* 5004 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2709 /* 5006 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2710 /* 5013 */ // (add:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2711 /* 5013 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZ256rm),
2712 /* 5016 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2713 /* 5018 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2714 /* 5020 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2715 /* 5024 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2716 /* 5029 */ GIR_RootConstrainSelectedInstOperands,
2717 /* 5030 */ // GIR_Coverage, 4676,
2718 /* 5030 */ GIR_EraseRootFromParent_Done,
2719 /* 5031 */ // Label 191: @5031
2720 /* 5031 */ GIM_Try, /*On fail goto*//*Label 192*/ GIMT_Encode4(5058), // Rule ID 2538 //
2721 /* 5036 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
2722 /* 5039 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2723 /* 5043 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2724 /* 5047 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2725 /* 5051 */ // (add:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPADDDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
2726 /* 5051 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDYrr),
2727 /* 5056 */ GIR_RootConstrainSelectedInstOperands,
2728 /* 5057 */ // GIR_Coverage, 2538,
2729 /* 5057 */ GIR_Done,
2730 /* 5058 */ // Label 192: @5058
2731 /* 5058 */ GIM_Try, /*On fail goto*//*Label 193*/ GIMT_Encode4(5085), // Rule ID 4673 //
2732 /* 5063 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2733 /* 5066 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2734 /* 5070 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2735 /* 5074 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2736 /* 5078 */ // (add:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPADDDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
2737 /* 5078 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDZ256rr),
2738 /* 5083 */ GIR_RootConstrainSelectedInstOperands,
2739 /* 5084 */ // GIR_Coverage, 4673,
2740 /* 5084 */ GIR_Done,
2741 /* 5085 */ // Label 193: @5085
2742 /* 5085 */ GIM_Reject,
2743 /* 5086 */ // Label 187: @5086
2744 /* 5086 */ GIM_Reject,
2745 /* 5087 */ // Label 92: @5087
2746 /* 5087 */ GIM_Try, /*On fail goto*//*Label 194*/ GIMT_Encode4(5242),
2747 /* 5092 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
2748 /* 5095 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
2749 /* 5098 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2750 /* 5102 */ GIM_Try, /*On fail goto*//*Label 195*/ GIMT_Encode4(5160), // Rule ID 23778 //
2751 /* 5107 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
2752 /* 5110 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2753 /* 5114 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2754 /* 5118 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2755 /* 5121 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2756 /* 5125 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2757 /* 5129 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2758 /* 5133 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2759 /* 5135 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2760 /* 5142 */ // (add:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPADDQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2761 /* 5142 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZrm),
2762 /* 5145 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2763 /* 5147 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2764 /* 5149 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2765 /* 5153 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2766 /* 5158 */ GIR_RootConstrainSelectedInstOperands,
2767 /* 5159 */ // GIR_Coverage, 23778,
2768 /* 5159 */ GIR_EraseRootFromParent_Done,
2769 /* 5160 */ // Label 195: @5160
2770 /* 5160 */ GIM_Try, /*On fail goto*//*Label 196*/ GIMT_Encode4(5218), // Rule ID 4640 //
2771 /* 5165 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
2772 /* 5168 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2773 /* 5172 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2774 /* 5176 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2775 /* 5180 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2776 /* 5183 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2777 /* 5187 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2778 /* 5191 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2779 /* 5193 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2780 /* 5200 */ // (add:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2781 /* 5200 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZrm),
2782 /* 5203 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2783 /* 5205 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2784 /* 5207 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2785 /* 5211 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2786 /* 5216 */ GIR_RootConstrainSelectedInstOperands,
2787 /* 5217 */ // GIR_Coverage, 4640,
2788 /* 5217 */ GIR_EraseRootFromParent_Done,
2789 /* 5218 */ // Label 196: @5218
2790 /* 5218 */ GIM_Try, /*On fail goto*//*Label 197*/ GIMT_Encode4(5241), // Rule ID 4637 //
2791 /* 5223 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
2792 /* 5226 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2793 /* 5230 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2794 /* 5234 */ // (add:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPADDQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
2795 /* 5234 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQZrr),
2796 /* 5239 */ GIR_RootConstrainSelectedInstOperands,
2797 /* 5240 */ // GIR_Coverage, 4637,
2798 /* 5240 */ GIR_Done,
2799 /* 5241 */ // Label 197: @5241
2800 /* 5241 */ GIM_Reject,
2801 /* 5242 */ // Label 194: @5242
2802 /* 5242 */ GIM_Reject,
2803 /* 5243 */ // Label 93: @5243
2804 /* 5243 */ GIM_Try, /*On fail goto*//*Label 198*/ GIMT_Encode4(5584),
2805 /* 5248 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
2806 /* 5251 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
2807 /* 5254 */ GIM_Try, /*On fail goto*//*Label 199*/ GIMT_Encode4(5316), // Rule ID 23511 //
2808 /* 5259 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
2809 /* 5262 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2810 /* 5266 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2811 /* 5270 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2812 /* 5274 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2813 /* 5277 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2814 /* 5281 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2815 /* 5285 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2816 /* 5289 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2817 /* 5291 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2818 /* 5298 */ // (add:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPADDBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2819 /* 5298 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBrm),
2820 /* 5301 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2821 /* 5303 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2822 /* 5305 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2823 /* 5309 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2824 /* 5314 */ GIR_RootConstrainSelectedInstOperands,
2825 /* 5315 */ // GIR_Coverage, 23511,
2826 /* 5315 */ GIR_EraseRootFromParent_Done,
2827 /* 5316 */ // Label 199: @5316
2828 /* 5316 */ GIM_Try, /*On fail goto*//*Label 200*/ GIMT_Encode4(5378), // Rule ID 23829 //
2829 /* 5321 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
2830 /* 5324 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2831 /* 5328 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2832 /* 5332 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2833 /* 5336 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2834 /* 5339 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2835 /* 5343 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2836 /* 5347 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2837 /* 5351 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2838 /* 5353 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2839 /* 5360 */ // (add:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPADDBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2840 /* 5360 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZ128rm),
2841 /* 5363 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2842 /* 5365 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2843 /* 5367 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2844 /* 5371 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2845 /* 5376 */ GIR_RootConstrainSelectedInstOperands,
2846 /* 5377 */ // GIR_Coverage, 23829,
2847 /* 5377 */ GIR_EraseRootFromParent_Done,
2848 /* 5378 */ // Label 200: @5378
2849 /* 5378 */ GIM_Try, /*On fail goto*//*Label 201*/ GIMT_Encode4(5440), // Rule ID 2523 //
2850 /* 5383 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
2851 /* 5386 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2852 /* 5390 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2853 /* 5394 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2854 /* 5398 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2855 /* 5402 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2856 /* 5405 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2857 /* 5409 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2858 /* 5413 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2859 /* 5415 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2860 /* 5422 */ // (add:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2861 /* 5422 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBrm),
2862 /* 5425 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2863 /* 5427 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2864 /* 5429 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2865 /* 5433 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2866 /* 5438 */ GIR_RootConstrainSelectedInstOperands,
2867 /* 5439 */ // GIR_Coverage, 2523,
2868 /* 5439 */ GIR_EraseRootFromParent_Done,
2869 /* 5440 */ // Label 201: @5440
2870 /* 5440 */ GIM_Try, /*On fail goto*//*Label 202*/ GIMT_Encode4(5502), // Rule ID 4724 //
2871 /* 5445 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
2872 /* 5448 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2873 /* 5452 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2874 /* 5456 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2875 /* 5460 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2876 /* 5464 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2877 /* 5467 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2878 /* 5471 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2879 /* 5475 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2880 /* 5477 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2881 /* 5484 */ // (add:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2882 /* 5484 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZ128rm),
2883 /* 5487 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2884 /* 5489 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2885 /* 5491 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2886 /* 5495 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2887 /* 5500 */ GIR_RootConstrainSelectedInstOperands,
2888 /* 5501 */ // GIR_Coverage, 4724,
2889 /* 5501 */ GIR_EraseRootFromParent_Done,
2890 /* 5502 */ // Label 202: @5502
2891 /* 5502 */ GIM_Try, /*On fail goto*//*Label 203*/ GIMT_Encode4(5529), // Rule ID 2522 //
2892 /* 5507 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
2893 /* 5510 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2894 /* 5514 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2895 /* 5518 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2896 /* 5522 */ // (add:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPADDBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
2897 /* 5522 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBrr),
2898 /* 5527 */ GIR_RootConstrainSelectedInstOperands,
2899 /* 5528 */ // GIR_Coverage, 2522,
2900 /* 5528 */ GIR_Done,
2901 /* 5529 */ // Label 203: @5529
2902 /* 5529 */ GIM_Try, /*On fail goto*//*Label 204*/ GIMT_Encode4(5556), // Rule ID 2524 //
2903 /* 5534 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
2904 /* 5537 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2905 /* 5541 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2906 /* 5545 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2907 /* 5549 */ // (add:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PADDBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
2908 /* 5549 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDBrr),
2909 /* 5554 */ GIR_RootConstrainSelectedInstOperands,
2910 /* 5555 */ // GIR_Coverage, 2524,
2911 /* 5555 */ GIR_Done,
2912 /* 5556 */ // Label 204: @5556
2913 /* 5556 */ GIM_Try, /*On fail goto*//*Label 205*/ GIMT_Encode4(5583), // Rule ID 4721 //
2914 /* 5561 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
2915 /* 5564 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2916 /* 5568 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2917 /* 5572 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2918 /* 5576 */ // (add:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPADDBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
2919 /* 5576 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBZ128rr),
2920 /* 5581 */ GIR_RootConstrainSelectedInstOperands,
2921 /* 5582 */ // GIR_Coverage, 4721,
2922 /* 5582 */ GIR_Done,
2923 /* 5583 */ // Label 205: @5583
2924 /* 5583 */ GIM_Reject,
2925 /* 5584 */ // Label 198: @5584
2926 /* 5584 */ GIM_Reject,
2927 /* 5585 */ // Label 94: @5585
2928 /* 5585 */ GIM_Try, /*On fail goto*//*Label 206*/ GIMT_Encode4(5899),
2929 /* 5590 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
2930 /* 5593 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
2931 /* 5596 */ GIM_Try, /*On fail goto*//*Label 207*/ GIMT_Encode4(5658), // Rule ID 23516 //
2932 /* 5601 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
2933 /* 5604 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2934 /* 5608 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2935 /* 5612 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2936 /* 5616 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2937 /* 5619 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2938 /* 5623 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2939 /* 5627 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2940 /* 5631 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2941 /* 5633 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2942 /* 5640 */ // (add:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPADDWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2943 /* 5640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWYrm),
2944 /* 5643 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2945 /* 5645 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2946 /* 5647 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2947 /* 5651 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2948 /* 5656 */ GIR_RootConstrainSelectedInstOperands,
2949 /* 5657 */ // GIR_Coverage, 23516,
2950 /* 5657 */ GIR_EraseRootFromParent_Done,
2951 /* 5658 */ // Label 207: @5658
2952 /* 5658 */ GIM_Try, /*On fail goto*//*Label 208*/ GIMT_Encode4(5720), // Rule ID 23817 //
2953 /* 5663 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
2954 /* 5666 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2955 /* 5670 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2956 /* 5674 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2957 /* 5678 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2958 /* 5681 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2959 /* 5685 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2960 /* 5689 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2961 /* 5693 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2962 /* 5695 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2963 /* 5702 */ // (add:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPADDWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2964 /* 5702 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZ256rm),
2965 /* 5705 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2966 /* 5707 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2967 /* 5709 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2968 /* 5713 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2969 /* 5718 */ GIR_RootConstrainSelectedInstOperands,
2970 /* 5719 */ // GIR_Coverage, 23817,
2971 /* 5719 */ GIR_EraseRootFromParent_Done,
2972 /* 5720 */ // Label 208: @5720
2973 /* 5720 */ GIM_Try, /*On fail goto*//*Label 209*/ GIMT_Encode4(5782), // Rule ID 2533 //
2974 /* 5725 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
2975 /* 5728 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2976 /* 5732 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2977 /* 5736 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2978 /* 5740 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2979 /* 5744 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2980 /* 5747 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2981 /* 5751 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2982 /* 5755 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2983 /* 5757 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2984 /* 5764 */ // (add:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2985 /* 5764 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWYrm),
2986 /* 5767 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2987 /* 5769 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2988 /* 5771 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2989 /* 5775 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2990 /* 5780 */ GIR_RootConstrainSelectedInstOperands,
2991 /* 5781 */ // GIR_Coverage, 2533,
2992 /* 5781 */ GIR_EraseRootFromParent_Done,
2993 /* 5782 */ // Label 209: @5782
2994 /* 5782 */ GIM_Try, /*On fail goto*//*Label 210*/ GIMT_Encode4(5844), // Rule ID 4700 //
2995 /* 5787 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
2996 /* 5790 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2997 /* 5794 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2998 /* 5798 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2999 /* 5802 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3000 /* 5806 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3001 /* 5809 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3002 /* 5813 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3003 /* 5817 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3004 /* 5819 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3005 /* 5826 */ // (add:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
3006 /* 5826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZ256rm),
3007 /* 5829 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3008 /* 5831 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3009 /* 5833 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3010 /* 5837 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3011 /* 5842 */ GIR_RootConstrainSelectedInstOperands,
3012 /* 5843 */ // GIR_Coverage, 4700,
3013 /* 5843 */ GIR_EraseRootFromParent_Done,
3014 /* 5844 */ // Label 210: @5844
3015 /* 5844 */ GIM_Try, /*On fail goto*//*Label 211*/ GIMT_Encode4(5871), // Rule ID 2532 //
3016 /* 5849 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
3017 /* 5852 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3018 /* 5856 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3019 /* 5860 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3020 /* 5864 */ // (add:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPADDWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
3021 /* 5864 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWYrr),
3022 /* 5869 */ GIR_RootConstrainSelectedInstOperands,
3023 /* 5870 */ // GIR_Coverage, 2532,
3024 /* 5870 */ GIR_Done,
3025 /* 5871 */ // Label 211: @5871
3026 /* 5871 */ GIM_Try, /*On fail goto*//*Label 212*/ GIMT_Encode4(5898), // Rule ID 4697 //
3027 /* 5876 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
3028 /* 5879 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3029 /* 5883 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3030 /* 5887 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3031 /* 5891 */ // (add:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPADDWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
3032 /* 5891 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWZ256rr),
3033 /* 5896 */ GIR_RootConstrainSelectedInstOperands,
3034 /* 5897 */ // GIR_Coverage, 4697,
3035 /* 5897 */ GIR_Done,
3036 /* 5898 */ // Label 212: @5898
3037 /* 5898 */ GIM_Reject,
3038 /* 5899 */ // Label 206: @5899
3039 /* 5899 */ GIM_Reject,
3040 /* 5900 */ // Label 95: @5900
3041 /* 5900 */ GIM_Try, /*On fail goto*//*Label 213*/ GIMT_Encode4(6055),
3042 /* 5905 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
3043 /* 5908 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
3044 /* 5911 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3045 /* 5915 */ GIM_Try, /*On fail goto*//*Label 214*/ GIMT_Encode4(5973), // Rule ID 23796 //
3046 /* 5920 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
3047 /* 5923 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3048 /* 5927 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3049 /* 5931 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3050 /* 5934 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3051 /* 5938 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3052 /* 5942 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3053 /* 5946 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3054 /* 5948 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3055 /* 5955 */ // (add:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPADDDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
3056 /* 5955 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZrm),
3057 /* 5958 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3058 /* 5960 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3059 /* 5962 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3060 /* 5966 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3061 /* 5971 */ GIR_RootConstrainSelectedInstOperands,
3062 /* 5972 */ // GIR_Coverage, 23796,
3063 /* 5972 */ GIR_EraseRootFromParent_Done,
3064 /* 5973 */ // Label 214: @5973
3065 /* 5973 */ GIM_Try, /*On fail goto*//*Label 215*/ GIMT_Encode4(6031), // Rule ID 4667 //
3066 /* 5978 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
3067 /* 5981 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3068 /* 5985 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3069 /* 5989 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3070 /* 5993 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3071 /* 5996 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3072 /* 6000 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3073 /* 6004 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3074 /* 6006 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3075 /* 6013 */ // (add:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
3076 /* 6013 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZrm),
3077 /* 6016 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3078 /* 6018 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3079 /* 6020 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3080 /* 6024 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3081 /* 6029 */ GIR_RootConstrainSelectedInstOperands,
3082 /* 6030 */ // GIR_Coverage, 4667,
3083 /* 6030 */ GIR_EraseRootFromParent_Done,
3084 /* 6031 */ // Label 215: @6031
3085 /* 6031 */ GIM_Try, /*On fail goto*//*Label 216*/ GIMT_Encode4(6054), // Rule ID 4664 //
3086 /* 6036 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
3087 /* 6039 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3088 /* 6043 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3089 /* 6047 */ // (add:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPADDDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
3090 /* 6047 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDZrr),
3091 /* 6052 */ GIR_RootConstrainSelectedInstOperands,
3092 /* 6053 */ // GIR_Coverage, 4664,
3093 /* 6053 */ GIR_Done,
3094 /* 6054 */ // Label 216: @6054
3095 /* 6054 */ GIM_Reject,
3096 /* 6055 */ // Label 213: @6055
3097 /* 6055 */ GIM_Reject,
3098 /* 6056 */ // Label 96: @6056
3099 /* 6056 */ GIM_Try, /*On fail goto*//*Label 217*/ GIMT_Encode4(6370),
3100 /* 6061 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
3101 /* 6064 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
3102 /* 6067 */ GIM_Try, /*On fail goto*//*Label 218*/ GIMT_Encode4(6129), // Rule ID 23513 //
3103 /* 6072 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
3104 /* 6075 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3105 /* 6079 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3106 /* 6083 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3107 /* 6087 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3108 /* 6090 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3109 /* 6094 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3110 /* 6098 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3111 /* 6102 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3112 /* 6104 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3113 /* 6111 */ // (add:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPADDBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3114 /* 6111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBYrm),
3115 /* 6114 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3116 /* 6116 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3117 /* 6118 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3118 /* 6122 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3119 /* 6127 */ GIR_RootConstrainSelectedInstOperands,
3120 /* 6128 */ // GIR_Coverage, 23513,
3121 /* 6128 */ GIR_EraseRootFromParent_Done,
3122 /* 6129 */ // Label 218: @6129
3123 /* 6129 */ GIM_Try, /*On fail goto*//*Label 219*/ GIMT_Encode4(6191), // Rule ID 23826 //
3124 /* 6134 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
3125 /* 6137 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3126 /* 6141 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3127 /* 6145 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3128 /* 6149 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3129 /* 6152 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3130 /* 6156 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3131 /* 6160 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3132 /* 6164 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3133 /* 6166 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3134 /* 6173 */ // (add:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPADDBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3135 /* 6173 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZ256rm),
3136 /* 6176 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3137 /* 6178 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3138 /* 6180 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3139 /* 6184 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3140 /* 6189 */ GIR_RootConstrainSelectedInstOperands,
3141 /* 6190 */ // GIR_Coverage, 23826,
3142 /* 6190 */ GIR_EraseRootFromParent_Done,
3143 /* 6191 */ // Label 219: @6191
3144 /* 6191 */ GIM_Try, /*On fail goto*//*Label 220*/ GIMT_Encode4(6253), // Rule ID 2527 //
3145 /* 6196 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
3146 /* 6199 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3147 /* 6203 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3148 /* 6207 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3149 /* 6211 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3150 /* 6215 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3151 /* 6218 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3152 /* 6222 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3153 /* 6226 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3154 /* 6228 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3155 /* 6235 */ // (add:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3156 /* 6235 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBYrm),
3157 /* 6238 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3158 /* 6240 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3159 /* 6242 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3160 /* 6246 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3161 /* 6251 */ GIR_RootConstrainSelectedInstOperands,
3162 /* 6252 */ // GIR_Coverage, 2527,
3163 /* 6252 */ GIR_EraseRootFromParent_Done,
3164 /* 6253 */ // Label 220: @6253
3165 /* 6253 */ GIM_Try, /*On fail goto*//*Label 221*/ GIMT_Encode4(6315), // Rule ID 4718 //
3166 /* 6258 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
3167 /* 6261 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3168 /* 6265 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3169 /* 6269 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3170 /* 6273 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3171 /* 6277 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3172 /* 6280 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3173 /* 6284 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3174 /* 6288 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3175 /* 6290 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3176 /* 6297 */ // (add:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3177 /* 6297 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZ256rm),
3178 /* 6300 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3179 /* 6302 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3180 /* 6304 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3181 /* 6308 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3182 /* 6313 */ GIR_RootConstrainSelectedInstOperands,
3183 /* 6314 */ // GIR_Coverage, 4718,
3184 /* 6314 */ GIR_EraseRootFromParent_Done,
3185 /* 6315 */ // Label 221: @6315
3186 /* 6315 */ GIM_Try, /*On fail goto*//*Label 222*/ GIMT_Encode4(6342), // Rule ID 2526 //
3187 /* 6320 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
3188 /* 6323 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3189 /* 6327 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3190 /* 6331 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3191 /* 6335 */ // (add:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPADDBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
3192 /* 6335 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBYrr),
3193 /* 6340 */ GIR_RootConstrainSelectedInstOperands,
3194 /* 6341 */ // GIR_Coverage, 2526,
3195 /* 6341 */ GIR_Done,
3196 /* 6342 */ // Label 222: @6342
3197 /* 6342 */ GIM_Try, /*On fail goto*//*Label 223*/ GIMT_Encode4(6369), // Rule ID 4715 //
3198 /* 6347 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
3199 /* 6350 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3200 /* 6354 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3201 /* 6358 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3202 /* 6362 */ // (add:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPADDBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
3203 /* 6362 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBZ256rr),
3204 /* 6367 */ GIR_RootConstrainSelectedInstOperands,
3205 /* 6368 */ // GIR_Coverage, 4715,
3206 /* 6368 */ GIR_Done,
3207 /* 6369 */ // Label 223: @6369
3208 /* 6369 */ GIM_Reject,
3209 /* 6370 */ // Label 217: @6370
3210 /* 6370 */ GIM_Reject,
3211 /* 6371 */ // Label 97: @6371
3212 /* 6371 */ GIM_Try, /*On fail goto*//*Label 224*/ GIMT_Encode4(6526),
3213 /* 6376 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
3214 /* 6379 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
3215 /* 6382 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3216 /* 6386 */ GIM_Try, /*On fail goto*//*Label 225*/ GIMT_Encode4(6444), // Rule ID 23814 //
3217 /* 6391 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
3218 /* 6394 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3219 /* 6398 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3220 /* 6402 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3221 /* 6405 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3222 /* 6409 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3223 /* 6413 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3224 /* 6417 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3225 /* 6419 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3226 /* 6426 */ // (add:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPADDWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
3227 /* 6426 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZrm),
3228 /* 6429 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3229 /* 6431 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3230 /* 6433 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3231 /* 6437 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3232 /* 6442 */ GIR_RootConstrainSelectedInstOperands,
3233 /* 6443 */ // GIR_Coverage, 23814,
3234 /* 6443 */ GIR_EraseRootFromParent_Done,
3235 /* 6444 */ // Label 225: @6444
3236 /* 6444 */ GIM_Try, /*On fail goto*//*Label 226*/ GIMT_Encode4(6502), // Rule ID 4694 //
3237 /* 6449 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
3238 /* 6452 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3239 /* 6456 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3240 /* 6460 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3241 /* 6464 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3242 /* 6467 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3243 /* 6471 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3244 /* 6475 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3245 /* 6477 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3246 /* 6484 */ // (add:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
3247 /* 6484 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZrm),
3248 /* 6487 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3249 /* 6489 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3250 /* 6491 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3251 /* 6495 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3252 /* 6500 */ GIR_RootConstrainSelectedInstOperands,
3253 /* 6501 */ // GIR_Coverage, 4694,
3254 /* 6501 */ GIR_EraseRootFromParent_Done,
3255 /* 6502 */ // Label 226: @6502
3256 /* 6502 */ GIM_Try, /*On fail goto*//*Label 227*/ GIMT_Encode4(6525), // Rule ID 4691 //
3257 /* 6507 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
3258 /* 6510 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3259 /* 6514 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3260 /* 6518 */ // (add:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPADDWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
3261 /* 6518 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWZrr),
3262 /* 6523 */ GIR_RootConstrainSelectedInstOperands,
3263 /* 6524 */ // GIR_Coverage, 4691,
3264 /* 6524 */ GIR_Done,
3265 /* 6525 */ // Label 227: @6525
3266 /* 6525 */ GIM_Reject,
3267 /* 6526 */ // Label 224: @6526
3268 /* 6526 */ GIM_Reject,
3269 /* 6527 */ // Label 98: @6527
3270 /* 6527 */ GIM_Try, /*On fail goto*//*Label 228*/ GIMT_Encode4(6682),
3271 /* 6532 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
3272 /* 6535 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
3273 /* 6538 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3274 /* 6542 */ GIM_Try, /*On fail goto*//*Label 229*/ GIMT_Encode4(6600), // Rule ID 23823 //
3275 /* 6547 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
3276 /* 6550 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3277 /* 6554 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3278 /* 6558 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3279 /* 6561 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3280 /* 6565 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3281 /* 6569 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3282 /* 6573 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3283 /* 6575 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3284 /* 6582 */ // (add:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPADDBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3285 /* 6582 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZrm),
3286 /* 6585 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3287 /* 6587 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3288 /* 6589 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3289 /* 6593 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3290 /* 6598 */ GIR_RootConstrainSelectedInstOperands,
3291 /* 6599 */ // GIR_Coverage, 23823,
3292 /* 6599 */ GIR_EraseRootFromParent_Done,
3293 /* 6600 */ // Label 229: @6600
3294 /* 6600 */ GIM_Try, /*On fail goto*//*Label 230*/ GIMT_Encode4(6658), // Rule ID 4712 //
3295 /* 6605 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
3296 /* 6608 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3297 /* 6612 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3298 /* 6616 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3299 /* 6620 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3300 /* 6623 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3301 /* 6627 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3302 /* 6631 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3303 /* 6633 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3304 /* 6640 */ // (add:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3305 /* 6640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZrm),
3306 /* 6643 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3307 /* 6645 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3308 /* 6647 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3309 /* 6651 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3310 /* 6656 */ GIR_RootConstrainSelectedInstOperands,
3311 /* 6657 */ // GIR_Coverage, 4712,
3312 /* 6657 */ GIR_EraseRootFromParent_Done,
3313 /* 6658 */ // Label 230: @6658
3314 /* 6658 */ GIM_Try, /*On fail goto*//*Label 231*/ GIMT_Encode4(6681), // Rule ID 4709 //
3315 /* 6663 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
3316 /* 6666 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3317 /* 6670 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3318 /* 6674 */ // (add:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPADDBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
3319 /* 6674 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBZrr),
3320 /* 6679 */ GIR_RootConstrainSelectedInstOperands,
3321 /* 6680 */ // GIR_Coverage, 4709,
3322 /* 6680 */ GIR_Done,
3323 /* 6681 */ // Label 231: @6681
3324 /* 6681 */ GIM_Reject,
3325 /* 6682 */ // Label 228: @6682
3326 /* 6682 */ GIM_Reject,
3327 /* 6683 */ // Label 99: @6683
3328 /* 6683 */ GIM_Reject,
3329 /* 6684 */ // Label 1: @6684
3330 /* 6684 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(25), /*)*//*default:*//*Label 248*/ GIMT_Encode4(9975),
3331 /* 6695 */ /*GILLT_s8*//*Label 232*/ GIMT_Encode4(6791),
3332 /* 6699 */ /*GILLT_s16*//*Label 233*/ GIMT_Encode4(7082),
3333 /* 6703 */ /*GILLT_s32*//*Label 234*/ GIMT_Encode4(7373),
3334 /* 6707 */ /*GILLT_s64*//*Label 235*/ GIMT_Encode4(7664), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
3335 /* 6723 */ /*GILLT_v2s64*//*Label 236*/ GIMT_Encode4(7963), GIMT_Encode4(0),
3336 /* 6731 */ /*GILLT_v4s32*//*Label 237*/ GIMT_Encode4(8181),
3337 /* 6735 */ /*GILLT_v4s64*//*Label 238*/ GIMT_Encode4(8399), GIMT_Encode4(0),
3338 /* 6743 */ /*GILLT_v8s16*//*Label 239*/ GIMT_Encode4(8590),
3339 /* 6747 */ /*GILLT_v8s32*//*Label 240*/ GIMT_Encode4(8808),
3340 /* 6751 */ /*GILLT_v8s64*//*Label 241*/ GIMT_Encode4(8999), GIMT_Encode4(0),
3341 /* 6759 */ /*GILLT_v16s8*//*Label 242*/ GIMT_Encode4(9093),
3342 /* 6763 */ /*GILLT_v16s16*//*Label 243*/ GIMT_Encode4(9311),
3343 /* 6767 */ /*GILLT_v16s32*//*Label 244*/ GIMT_Encode4(9502), GIMT_Encode4(0),
3344 /* 6775 */ /*GILLT_v32s8*//*Label 245*/ GIMT_Encode4(9596),
3345 /* 6779 */ /*GILLT_v32s16*//*Label 246*/ GIMT_Encode4(9787), GIMT_Encode4(0),
3346 /* 6787 */ /*GILLT_v64s8*//*Label 247*/ GIMT_Encode4(9881),
3347 /* 6791 */ // Label 232: @6791
3348 /* 6791 */ GIM_Try, /*On fail goto*//*Label 249*/ GIMT_Encode4(7081),
3349 /* 6796 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
3350 /* 6799 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
3351 /* 6802 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3352 /* 6806 */ GIM_Try, /*On fail goto*//*Label 250*/ GIMT_Encode4(6867), // Rule ID 22889 //
3353 /* 6811 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3354 /* 6814 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3355 /* 6818 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3356 /* 6822 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3357 /* 6826 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3358 /* 6829 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3359 /* 6833 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
3360 /* 6837 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3361 /* 6839 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3362 /* 6846 */ // (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)
3363 /* 6846 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8rm),
3364 /* 6849 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3365 /* 6851 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3366 /* 6853 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3367 /* 6857 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3368 /* 6860 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3369 /* 6865 */ GIR_RootConstrainSelectedInstOperands,
3370 /* 6866 */ // GIR_Coverage, 22889,
3371 /* 6866 */ GIR_EraseRootFromParent_Done,
3372 /* 6867 */ // Label 250: @6867
3373 /* 6867 */ GIM_Try, /*On fail goto*//*Label 251*/ GIMT_Encode4(6895), // Rule ID 239 //
3374 /* 6872 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3375 /* 6875 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3376 /* 6879 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3377 /* 6883 */ // (sub:{ *:[i8] } 0:{ *:[i8] }, GR8:{ *:[i8] }:$src1) => (NEG8r:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
3378 /* 6883 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8r),
3379 /* 6886 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3380 /* 6888 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3381 /* 6890 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3382 /* 6893 */ GIR_RootConstrainSelectedInstOperands,
3383 /* 6894 */ // GIR_Coverage, 239,
3384 /* 6894 */ GIR_EraseRootFromParent_Done,
3385 /* 6895 */ // Label 251: @6895
3386 /* 6895 */ GIM_Try, /*On fail goto*//*Label 252*/ GIMT_Encode4(6923), // Rule ID 247 //
3387 /* 6900 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
3388 /* 6903 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3389 /* 6907 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3390 /* 6911 */ // (sub:{ *:[i8] } 0:{ *:[i8] }, GR8:{ *:[i8] }:$src1) => (NEG8r_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
3391 /* 6911 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8r_ND),
3392 /* 6914 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3393 /* 6916 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3394 /* 6918 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3395 /* 6921 */ GIR_RootConstrainSelectedInstOperands,
3396 /* 6922 */ // GIR_Coverage, 247,
3397 /* 6922 */ GIR_EraseRootFromParent_Done,
3398 /* 6923 */ // Label 252: @6923
3399 /* 6923 */ GIM_Try, /*On fail goto*//*Label 253*/ GIMT_Encode4(6948), // Rule ID 255 //
3400 /* 6928 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
3401 /* 6931 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3402 /* 6935 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3403 /* 6939 */ // (sub:{ *:[i8] } 0:{ *:[i8] }, GR8:{ *:[i8] }:$src1) => (NEG8r_NF_ND:{ *:[i8] } GR8:{ *:[i8] }:$src1)
3404 /* 6939 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8r_NF_ND),
3405 /* 6942 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3406 /* 6944 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3407 /* 6946 */ GIR_RootConstrainSelectedInstOperands,
3408 /* 6947 */ // GIR_Coverage, 255,
3409 /* 6947 */ GIR_EraseRootFromParent_Done,
3410 /* 6948 */ // Label 253: @6948
3411 /* 6948 */ GIM_Try, /*On fail goto*//*Label 254*/ GIMT_Encode4(6985), // Rule ID 22893 //
3412 /* 6953 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3413 /* 6956 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3414 /* 6960 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3415 /* 6964 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3416 /* 6968 */ // MIs[1] Operand 1
3417 /* 6968 */ // No operand predicates
3418 /* 6968 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3419 /* 6970 */ // (sub:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SUB8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
3420 /* 6970 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8ri),
3421 /* 6973 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3422 /* 6975 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3423 /* 6977 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3424 /* 6980 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3425 /* 6983 */ GIR_RootConstrainSelectedInstOperands,
3426 /* 6984 */ // GIR_Coverage, 22893,
3427 /* 6984 */ GIR_EraseRootFromParent_Done,
3428 /* 6985 */ // Label 254: @6985
3429 /* 6985 */ GIM_Try, /*On fail goto*//*Label 255*/ GIMT_Encode4(7022), // Rule ID 22983 //
3430 /* 6990 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3431 /* 6993 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3432 /* 6997 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3433 /* 7001 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3434 /* 7005 */ // MIs[1] Operand 1
3435 /* 7005 */ // No operand predicates
3436 /* 7005 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3437 /* 7007 */ // (sub:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SUB8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
3438 /* 7007 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8ri_ND),
3439 /* 7010 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3440 /* 7012 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3441 /* 7014 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3442 /* 7017 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3443 /* 7020 */ GIR_RootConstrainSelectedInstOperands,
3444 /* 7021 */ // GIR_Coverage, 22983,
3445 /* 7021 */ GIR_EraseRootFromParent_Done,
3446 /* 7022 */ // Label 255: @7022
3447 /* 7022 */ GIM_Try, /*On fail goto*//*Label 256*/ GIMT_Encode4(7051), // Rule ID 22885 //
3448 /* 7027 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3449 /* 7030 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3450 /* 7034 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3451 /* 7038 */ // (sub:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (SUB8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
3452 /* 7038 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB8rr),
3453 /* 7043 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3454 /* 7049 */ GIR_RootConstrainSelectedInstOperands,
3455 /* 7050 */ // GIR_Coverage, 22885,
3456 /* 7050 */ GIR_Done,
3457 /* 7051 */ // Label 256: @7051
3458 /* 7051 */ GIM_Try, /*On fail goto*//*Label 257*/ GIMT_Encode4(7080), // Rule ID 22975 //
3459 /* 7056 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3460 /* 7059 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3461 /* 7063 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3462 /* 7067 */ // (sub:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (SUB8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
3463 /* 7067 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB8rr_ND),
3464 /* 7072 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3465 /* 7078 */ GIR_RootConstrainSelectedInstOperands,
3466 /* 7079 */ // GIR_Coverage, 22975,
3467 /* 7079 */ GIR_Done,
3468 /* 7080 */ // Label 257: @7080
3469 /* 7080 */ GIM_Reject,
3470 /* 7081 */ // Label 249: @7081
3471 /* 7081 */ GIM_Reject,
3472 /* 7082 */ // Label 233: @7082
3473 /* 7082 */ GIM_Try, /*On fail goto*//*Label 258*/ GIMT_Encode4(7372),
3474 /* 7087 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
3475 /* 7090 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
3476 /* 7093 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3477 /* 7097 */ GIM_Try, /*On fail goto*//*Label 259*/ GIMT_Encode4(7158), // Rule ID 22890 //
3478 /* 7102 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3479 /* 7105 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3480 /* 7109 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3481 /* 7113 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3482 /* 7117 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3483 /* 7120 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3484 /* 7124 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
3485 /* 7128 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3486 /* 7130 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3487 /* 7137 */ // (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)
3488 /* 7137 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16rm),
3489 /* 7140 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3490 /* 7142 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3491 /* 7144 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3492 /* 7148 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3493 /* 7151 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3494 /* 7156 */ GIR_RootConstrainSelectedInstOperands,
3495 /* 7157 */ // GIR_Coverage, 22890,
3496 /* 7157 */ GIR_EraseRootFromParent_Done,
3497 /* 7158 */ // Label 259: @7158
3498 /* 7158 */ GIM_Try, /*On fail goto*//*Label 260*/ GIMT_Encode4(7186), // Rule ID 240 //
3499 /* 7163 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3500 /* 7166 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3501 /* 7170 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3502 /* 7174 */ // (sub:{ *:[i16] } 0:{ *:[i16] }, GR16:{ *:[i16] }:$src1) => (NEG16r:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
3503 /* 7174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16r),
3504 /* 7177 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3505 /* 7179 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3506 /* 7181 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3507 /* 7184 */ GIR_RootConstrainSelectedInstOperands,
3508 /* 7185 */ // GIR_Coverage, 240,
3509 /* 7185 */ GIR_EraseRootFromParent_Done,
3510 /* 7186 */ // Label 260: @7186
3511 /* 7186 */ GIM_Try, /*On fail goto*//*Label 261*/ GIMT_Encode4(7214), // Rule ID 248 //
3512 /* 7191 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
3513 /* 7194 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3514 /* 7198 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3515 /* 7202 */ // (sub:{ *:[i16] } 0:{ *:[i16] }, GR16:{ *:[i16] }:$src1) => (NEG16r_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
3516 /* 7202 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16r_ND),
3517 /* 7205 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3518 /* 7207 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3519 /* 7209 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3520 /* 7212 */ GIR_RootConstrainSelectedInstOperands,
3521 /* 7213 */ // GIR_Coverage, 248,
3522 /* 7213 */ GIR_EraseRootFromParent_Done,
3523 /* 7214 */ // Label 261: @7214
3524 /* 7214 */ GIM_Try, /*On fail goto*//*Label 262*/ GIMT_Encode4(7239), // Rule ID 256 //
3525 /* 7219 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
3526 /* 7222 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3527 /* 7226 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3528 /* 7230 */ // (sub:{ *:[i16] } 0:{ *:[i16] }, GR16:{ *:[i16] }:$src1) => (NEG16r_NF_ND:{ *:[i16] } GR16:{ *:[i16] }:$src1)
3529 /* 7230 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16r_NF_ND),
3530 /* 7233 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3531 /* 7235 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3532 /* 7237 */ GIR_RootConstrainSelectedInstOperands,
3533 /* 7238 */ // GIR_Coverage, 256,
3534 /* 7238 */ GIR_EraseRootFromParent_Done,
3535 /* 7239 */ // Label 262: @7239
3536 /* 7239 */ GIM_Try, /*On fail goto*//*Label 263*/ GIMT_Encode4(7276), // Rule ID 22894 //
3537 /* 7244 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3538 /* 7247 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3539 /* 7251 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3540 /* 7255 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3541 /* 7259 */ // MIs[1] Operand 1
3542 /* 7259 */ // No operand predicates
3543 /* 7259 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3544 /* 7261 */ // (sub:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (SUB16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
3545 /* 7261 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16ri),
3546 /* 7264 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3547 /* 7266 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3548 /* 7268 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3549 /* 7271 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3550 /* 7274 */ GIR_RootConstrainSelectedInstOperands,
3551 /* 7275 */ // GIR_Coverage, 22894,
3552 /* 7275 */ GIR_EraseRootFromParent_Done,
3553 /* 7276 */ // Label 263: @7276
3554 /* 7276 */ GIM_Try, /*On fail goto*//*Label 264*/ GIMT_Encode4(7313), // Rule ID 22984 //
3555 /* 7281 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3556 /* 7284 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3557 /* 7288 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3558 /* 7292 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3559 /* 7296 */ // MIs[1] Operand 1
3560 /* 7296 */ // No operand predicates
3561 /* 7296 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3562 /* 7298 */ // (sub:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (SUB16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
3563 /* 7298 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16ri_ND),
3564 /* 7301 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3565 /* 7303 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3566 /* 7305 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3567 /* 7308 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3568 /* 7311 */ GIR_RootConstrainSelectedInstOperands,
3569 /* 7312 */ // GIR_Coverage, 22984,
3570 /* 7312 */ GIR_EraseRootFromParent_Done,
3571 /* 7313 */ // Label 264: @7313
3572 /* 7313 */ GIM_Try, /*On fail goto*//*Label 265*/ GIMT_Encode4(7342), // Rule ID 22886 //
3573 /* 7318 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3574 /* 7321 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3575 /* 7325 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3576 /* 7329 */ // (sub:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (SUB16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
3577 /* 7329 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB16rr),
3578 /* 7334 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3579 /* 7340 */ GIR_RootConstrainSelectedInstOperands,
3580 /* 7341 */ // GIR_Coverage, 22886,
3581 /* 7341 */ GIR_Done,
3582 /* 7342 */ // Label 265: @7342
3583 /* 7342 */ GIM_Try, /*On fail goto*//*Label 266*/ GIMT_Encode4(7371), // Rule ID 22976 //
3584 /* 7347 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3585 /* 7350 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3586 /* 7354 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3587 /* 7358 */ // (sub:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (SUB16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
3588 /* 7358 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB16rr_ND),
3589 /* 7363 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3590 /* 7369 */ GIR_RootConstrainSelectedInstOperands,
3591 /* 7370 */ // GIR_Coverage, 22976,
3592 /* 7370 */ GIR_Done,
3593 /* 7371 */ // Label 266: @7371
3594 /* 7371 */ GIM_Reject,
3595 /* 7372 */ // Label 258: @7372
3596 /* 7372 */ GIM_Reject,
3597 /* 7373 */ // Label 234: @7373
3598 /* 7373 */ GIM_Try, /*On fail goto*//*Label 267*/ GIMT_Encode4(7663),
3599 /* 7378 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
3600 /* 7381 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
3601 /* 7384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3602 /* 7388 */ GIM_Try, /*On fail goto*//*Label 268*/ GIMT_Encode4(7449), // Rule ID 22891 //
3603 /* 7393 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3604 /* 7396 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3605 /* 7400 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3606 /* 7404 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3607 /* 7408 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3608 /* 7411 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3609 /* 7415 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
3610 /* 7419 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3611 /* 7421 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3612 /* 7428 */ // (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)
3613 /* 7428 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32rm),
3614 /* 7431 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3615 /* 7433 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3616 /* 7435 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3617 /* 7439 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3618 /* 7442 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3619 /* 7447 */ GIR_RootConstrainSelectedInstOperands,
3620 /* 7448 */ // GIR_Coverage, 22891,
3621 /* 7448 */ GIR_EraseRootFromParent_Done,
3622 /* 7449 */ // Label 268: @7449
3623 /* 7449 */ GIM_Try, /*On fail goto*//*Label 269*/ GIMT_Encode4(7477), // Rule ID 241 //
3624 /* 7454 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3625 /* 7457 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3626 /* 7461 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3627 /* 7465 */ // (sub:{ *:[i32] } 0:{ *:[i32] }, GR32:{ *:[i32] }:$src1) => (NEG32r:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
3628 /* 7465 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32r),
3629 /* 7468 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3630 /* 7470 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3631 /* 7472 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3632 /* 7475 */ GIR_RootConstrainSelectedInstOperands,
3633 /* 7476 */ // GIR_Coverage, 241,
3634 /* 7476 */ GIR_EraseRootFromParent_Done,
3635 /* 7477 */ // Label 269: @7477
3636 /* 7477 */ GIM_Try, /*On fail goto*//*Label 270*/ GIMT_Encode4(7505), // Rule ID 249 //
3637 /* 7482 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
3638 /* 7485 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3639 /* 7489 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3640 /* 7493 */ // (sub:{ *:[i32] } 0:{ *:[i32] }, GR32:{ *:[i32] }:$src1) => (NEG32r_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
3641 /* 7493 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32r_ND),
3642 /* 7496 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3643 /* 7498 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3644 /* 7500 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3645 /* 7503 */ GIR_RootConstrainSelectedInstOperands,
3646 /* 7504 */ // GIR_Coverage, 249,
3647 /* 7504 */ GIR_EraseRootFromParent_Done,
3648 /* 7505 */ // Label 270: @7505
3649 /* 7505 */ GIM_Try, /*On fail goto*//*Label 271*/ GIMT_Encode4(7530), // Rule ID 257 //
3650 /* 7510 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
3651 /* 7513 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3652 /* 7517 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3653 /* 7521 */ // (sub:{ *:[i32] } 0:{ *:[i32] }, GR32:{ *:[i32] }:$src1) => (NEG32r_NF_ND:{ *:[i32] } GR32:{ *:[i32] }:$src1)
3654 /* 7521 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32r_NF_ND),
3655 /* 7524 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3656 /* 7526 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3657 /* 7528 */ GIR_RootConstrainSelectedInstOperands,
3658 /* 7529 */ // GIR_Coverage, 257,
3659 /* 7529 */ GIR_EraseRootFromParent_Done,
3660 /* 7530 */ // Label 271: @7530
3661 /* 7530 */ GIM_Try, /*On fail goto*//*Label 272*/ GIMT_Encode4(7567), // Rule ID 22895 //
3662 /* 7535 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3663 /* 7538 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3664 /* 7542 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3665 /* 7546 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3666 /* 7550 */ // MIs[1] Operand 1
3667 /* 7550 */ // No operand predicates
3668 /* 7550 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3669 /* 7552 */ // (sub:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (SUB32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
3670 /* 7552 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32ri),
3671 /* 7555 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3672 /* 7557 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3673 /* 7559 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3674 /* 7562 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3675 /* 7565 */ GIR_RootConstrainSelectedInstOperands,
3676 /* 7566 */ // GIR_Coverage, 22895,
3677 /* 7566 */ GIR_EraseRootFromParent_Done,
3678 /* 7567 */ // Label 272: @7567
3679 /* 7567 */ GIM_Try, /*On fail goto*//*Label 273*/ GIMT_Encode4(7604), // Rule ID 22985 //
3680 /* 7572 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3681 /* 7575 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3682 /* 7579 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3683 /* 7583 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3684 /* 7587 */ // MIs[1] Operand 1
3685 /* 7587 */ // No operand predicates
3686 /* 7587 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3687 /* 7589 */ // (sub:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (SUB32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
3688 /* 7589 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32ri_ND),
3689 /* 7592 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3690 /* 7594 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3691 /* 7596 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3692 /* 7599 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3693 /* 7602 */ GIR_RootConstrainSelectedInstOperands,
3694 /* 7603 */ // GIR_Coverage, 22985,
3695 /* 7603 */ GIR_EraseRootFromParent_Done,
3696 /* 7604 */ // Label 273: @7604
3697 /* 7604 */ GIM_Try, /*On fail goto*//*Label 274*/ GIMT_Encode4(7633), // Rule ID 22887 //
3698 /* 7609 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3699 /* 7612 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3700 /* 7616 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3701 /* 7620 */ // (sub:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (SUB32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
3702 /* 7620 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB32rr),
3703 /* 7625 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3704 /* 7631 */ GIR_RootConstrainSelectedInstOperands,
3705 /* 7632 */ // GIR_Coverage, 22887,
3706 /* 7632 */ GIR_Done,
3707 /* 7633 */ // Label 274: @7633
3708 /* 7633 */ GIM_Try, /*On fail goto*//*Label 275*/ GIMT_Encode4(7662), // Rule ID 22977 //
3709 /* 7638 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3710 /* 7641 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3711 /* 7645 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3712 /* 7649 */ // (sub:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (SUB32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
3713 /* 7649 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB32rr_ND),
3714 /* 7654 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3715 /* 7660 */ GIR_RootConstrainSelectedInstOperands,
3716 /* 7661 */ // GIR_Coverage, 22977,
3717 /* 7661 */ GIR_Done,
3718 /* 7662 */ // Label 275: @7662
3719 /* 7662 */ GIM_Reject,
3720 /* 7663 */ // Label 267: @7663
3721 /* 7663 */ GIM_Reject,
3722 /* 7664 */ // Label 235: @7664
3723 /* 7664 */ GIM_Try, /*On fail goto*//*Label 276*/ GIMT_Encode4(7962),
3724 /* 7669 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
3725 /* 7672 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
3726 /* 7675 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3727 /* 7679 */ GIM_Try, /*On fail goto*//*Label 277*/ GIMT_Encode4(7740), // Rule ID 22892 //
3728 /* 7684 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3729 /* 7687 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3730 /* 7691 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3731 /* 7695 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3732 /* 7699 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3733 /* 7702 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3734 /* 7706 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3735 /* 7710 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3736 /* 7712 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3737 /* 7719 */ // (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)
3738 /* 7719 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64rm),
3739 /* 7722 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3740 /* 7724 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3741 /* 7726 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3742 /* 7730 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3743 /* 7733 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3744 /* 7738 */ GIR_RootConstrainSelectedInstOperands,
3745 /* 7739 */ // GIR_Coverage, 22892,
3746 /* 7739 */ GIR_EraseRootFromParent_Done,
3747 /* 7740 */ // Label 277: @7740
3748 /* 7740 */ GIM_Try, /*On fail goto*//*Label 278*/ GIMT_Encode4(7768), // Rule ID 242 //
3749 /* 7745 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3750 /* 7748 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3751 /* 7752 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3752 /* 7756 */ // (sub:{ *:[i64] } 0:{ *:[i64] }, GR64:{ *:[i64] }:$src1) => (NEG64r:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
3753 /* 7756 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64r),
3754 /* 7759 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3755 /* 7761 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3756 /* 7763 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3757 /* 7766 */ GIR_RootConstrainSelectedInstOperands,
3758 /* 7767 */ // GIR_Coverage, 242,
3759 /* 7767 */ GIR_EraseRootFromParent_Done,
3760 /* 7768 */ // Label 278: @7768
3761 /* 7768 */ GIM_Try, /*On fail goto*//*Label 279*/ GIMT_Encode4(7796), // Rule ID 250 //
3762 /* 7773 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
3763 /* 7776 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3764 /* 7780 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3765 /* 7784 */ // (sub:{ *:[i64] } 0:{ *:[i64] }, GR64:{ *:[i64] }:$src1) => (NEG64r_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
3766 /* 7784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64r_ND),
3767 /* 7787 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3768 /* 7789 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3769 /* 7791 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3770 /* 7794 */ GIR_RootConstrainSelectedInstOperands,
3771 /* 7795 */ // GIR_Coverage, 250,
3772 /* 7795 */ GIR_EraseRootFromParent_Done,
3773 /* 7796 */ // Label 279: @7796
3774 /* 7796 */ GIM_Try, /*On fail goto*//*Label 280*/ GIMT_Encode4(7821), // Rule ID 258 //
3775 /* 7801 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
3776 /* 7804 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3777 /* 7808 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3778 /* 7812 */ // (sub:{ *:[i64] } 0:{ *:[i64] }, GR64:{ *:[i64] }:$src1) => (NEG64r_NF_ND:{ *:[i64] } GR64:{ *:[i64] }:$src1)
3779 /* 7812 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64r_NF_ND),
3780 /* 7815 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3781 /* 7817 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3782 /* 7819 */ GIR_RootConstrainSelectedInstOperands,
3783 /* 7820 */ // GIR_Coverage, 258,
3784 /* 7820 */ GIR_EraseRootFromParent_Done,
3785 /* 7821 */ // Label 280: @7821
3786 /* 7821 */ GIM_Try, /*On fail goto*//*Label 281*/ GIMT_Encode4(7862), // Rule ID 22943 //
3787 /* 7826 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDDI),
3788 /* 7829 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3789 /* 7833 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3790 /* 7837 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3791 /* 7841 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
3792 /* 7845 */ // MIs[1] Operand 1
3793 /* 7845 */ // No operand predicates
3794 /* 7845 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3795 /* 7847 */ // (sub:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (SUB64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
3796 /* 7847 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32),
3797 /* 7850 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3798 /* 7852 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3799 /* 7854 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3800 /* 7857 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3801 /* 7860 */ GIR_RootConstrainSelectedInstOperands,
3802 /* 7861 */ // GIR_Coverage, 22943,
3803 /* 7861 */ GIR_EraseRootFromParent_Done,
3804 /* 7862 */ // Label 281: @7862
3805 /* 7862 */ GIM_Try, /*On fail goto*//*Label 282*/ GIMT_Encode4(7903), // Rule ID 23033 //
3806 /* 7867 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDDI),
3807 /* 7870 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3808 /* 7874 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3809 /* 7878 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3810 /* 7882 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
3811 /* 7886 */ // MIs[1] Operand 1
3812 /* 7886 */ // No operand predicates
3813 /* 7886 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3814 /* 7888 */ // (sub:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (SUB64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
3815 /* 7888 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32_ND),
3816 /* 7891 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3817 /* 7893 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3818 /* 7895 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3819 /* 7898 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3820 /* 7901 */ GIR_RootConstrainSelectedInstOperands,
3821 /* 7902 */ // GIR_Coverage, 23033,
3822 /* 7902 */ GIR_EraseRootFromParent_Done,
3823 /* 7903 */ // Label 282: @7903
3824 /* 7903 */ GIM_Try, /*On fail goto*//*Label 283*/ GIMT_Encode4(7932), // Rule ID 22888 //
3825 /* 7908 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3826 /* 7911 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3827 /* 7915 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3828 /* 7919 */ // (sub:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (SUB64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
3829 /* 7919 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB64rr),
3830 /* 7924 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3831 /* 7930 */ GIR_RootConstrainSelectedInstOperands,
3832 /* 7931 */ // GIR_Coverage, 22888,
3833 /* 7931 */ GIR_Done,
3834 /* 7932 */ // Label 283: @7932
3835 /* 7932 */ GIM_Try, /*On fail goto*//*Label 284*/ GIMT_Encode4(7961), // Rule ID 22978 //
3836 /* 7937 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3837 /* 7940 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3838 /* 7944 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3839 /* 7948 */ // (sub:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (SUB64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
3840 /* 7948 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB64rr_ND),
3841 /* 7953 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3842 /* 7959 */ GIR_RootConstrainSelectedInstOperands,
3843 /* 7960 */ // GIR_Coverage, 22978,
3844 /* 7960 */ GIR_Done,
3845 /* 7961 */ // Label 284: @7961
3846 /* 7961 */ GIM_Reject,
3847 /* 7962 */ // Label 276: @7962
3848 /* 7962 */ GIM_Reject,
3849 /* 7963 */ // Label 236: @7963
3850 /* 7963 */ GIM_Try, /*On fail goto*//*Label 285*/ GIMT_Encode4(8180),
3851 /* 7968 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
3852 /* 7971 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
3853 /* 7974 */ GIM_Try, /*On fail goto*//*Label 286*/ GIMT_Encode4(8036), // Rule ID 2607 //
3854 /* 7979 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
3855 /* 7982 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3856 /* 7986 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3857 /* 7990 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3858 /* 7994 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3859 /* 7998 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3860 /* 8001 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3861 /* 8005 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3862 /* 8009 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3863 /* 8011 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3864 /* 8018 */ // (sub:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3865 /* 8018 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQrm),
3866 /* 8021 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3867 /* 8023 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3868 /* 8025 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3869 /* 8029 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3870 /* 8034 */ GIR_RootConstrainSelectedInstOperands,
3871 /* 8035 */ // GIR_Coverage, 2607,
3872 /* 8035 */ GIR_EraseRootFromParent_Done,
3873 /* 8036 */ // Label 286: @8036
3874 /* 8036 */ GIM_Try, /*On fail goto*//*Label 287*/ GIMT_Encode4(8098), // Rule ID 4748 //
3875 /* 8041 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
3876 /* 8044 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3877 /* 8048 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3878 /* 8052 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3879 /* 8056 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3880 /* 8060 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3881 /* 8063 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3882 /* 8067 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3883 /* 8071 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3884 /* 8073 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3885 /* 8080 */ // (sub:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3886 /* 8080 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQZ128rm),
3887 /* 8083 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3888 /* 8085 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3889 /* 8087 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3890 /* 8091 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3891 /* 8096 */ GIR_RootConstrainSelectedInstOperands,
3892 /* 8097 */ // GIR_Coverage, 4748,
3893 /* 8097 */ GIR_EraseRootFromParent_Done,
3894 /* 8098 */ // Label 287: @8098
3895 /* 8098 */ GIM_Try, /*On fail goto*//*Label 288*/ GIMT_Encode4(8125), // Rule ID 2606 //
3896 /* 8103 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
3897 /* 8106 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3898 /* 8110 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3899 /* 8114 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3900 /* 8118 */ // (sub:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPSUBQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
3901 /* 8118 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQrr),
3902 /* 8123 */ GIR_RootConstrainSelectedInstOperands,
3903 /* 8124 */ // GIR_Coverage, 2606,
3904 /* 8124 */ GIR_Done,
3905 /* 8125 */ // Label 288: @8125
3906 /* 8125 */ GIM_Try, /*On fail goto*//*Label 289*/ GIMT_Encode4(8152), // Rule ID 2608 //
3907 /* 8130 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
3908 /* 8133 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3909 /* 8137 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3910 /* 8141 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3911 /* 8145 */ // (sub:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PSUBQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
3912 /* 8145 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBQrr),
3913 /* 8150 */ GIR_RootConstrainSelectedInstOperands,
3914 /* 8151 */ // GIR_Coverage, 2608,
3915 /* 8151 */ GIR_Done,
3916 /* 8152 */ // Label 289: @8152
3917 /* 8152 */ GIM_Try, /*On fail goto*//*Label 290*/ GIMT_Encode4(8179), // Rule ID 4745 //
3918 /* 8157 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
3919 /* 8160 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3920 /* 8164 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3921 /* 8168 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3922 /* 8172 */ // (sub:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPSUBQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
3923 /* 8172 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQZ128rr),
3924 /* 8177 */ GIR_RootConstrainSelectedInstOperands,
3925 /* 8178 */ // GIR_Coverage, 4745,
3926 /* 8178 */ GIR_Done,
3927 /* 8179 */ // Label 290: @8179
3928 /* 8179 */ GIM_Reject,
3929 /* 8180 */ // Label 285: @8180
3930 /* 8180 */ GIM_Reject,
3931 /* 8181 */ // Label 237: @8181
3932 /* 8181 */ GIM_Try, /*On fail goto*//*Label 291*/ GIMT_Encode4(8398),
3933 /* 8186 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
3934 /* 8189 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
3935 /* 8192 */ GIM_Try, /*On fail goto*//*Label 292*/ GIMT_Encode4(8254), // Rule ID 2601 //
3936 /* 8197 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
3937 /* 8200 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3938 /* 8204 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3939 /* 8208 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3940 /* 8212 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3941 /* 8216 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3942 /* 8219 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3943 /* 8223 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3944 /* 8227 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3945 /* 8229 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3946 /* 8236 */ // (sub:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
3947 /* 8236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDrm),
3948 /* 8239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3949 /* 8241 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3950 /* 8243 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3951 /* 8247 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3952 /* 8252 */ GIR_RootConstrainSelectedInstOperands,
3953 /* 8253 */ // GIR_Coverage, 2601,
3954 /* 8253 */ GIR_EraseRootFromParent_Done,
3955 /* 8254 */ // Label 292: @8254
3956 /* 8254 */ GIM_Try, /*On fail goto*//*Label 293*/ GIMT_Encode4(8316), // Rule ID 4775 //
3957 /* 8259 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
3958 /* 8262 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3959 /* 8266 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3960 /* 8270 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3961 /* 8274 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3962 /* 8278 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3963 /* 8281 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3964 /* 8285 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3965 /* 8289 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3966 /* 8291 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3967 /* 8298 */ // (sub:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
3968 /* 8298 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDZ128rm),
3969 /* 8301 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3970 /* 8303 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3971 /* 8305 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3972 /* 8309 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3973 /* 8314 */ GIR_RootConstrainSelectedInstOperands,
3974 /* 8315 */ // GIR_Coverage, 4775,
3975 /* 8315 */ GIR_EraseRootFromParent_Done,
3976 /* 8316 */ // Label 293: @8316
3977 /* 8316 */ GIM_Try, /*On fail goto*//*Label 294*/ GIMT_Encode4(8343), // Rule ID 2600 //
3978 /* 8321 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
3979 /* 8324 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3980 /* 8328 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3981 /* 8332 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3982 /* 8336 */ // (sub:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPSUBDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
3983 /* 8336 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDrr),
3984 /* 8341 */ GIR_RootConstrainSelectedInstOperands,
3985 /* 8342 */ // GIR_Coverage, 2600,
3986 /* 8342 */ GIR_Done,
3987 /* 8343 */ // Label 294: @8343
3988 /* 8343 */ GIM_Try, /*On fail goto*//*Label 295*/ GIMT_Encode4(8370), // Rule ID 2602 //
3989 /* 8348 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
3990 /* 8351 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3991 /* 8355 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3992 /* 8359 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3993 /* 8363 */ // (sub:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PSUBDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
3994 /* 8363 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBDrr),
3995 /* 8368 */ GIR_RootConstrainSelectedInstOperands,
3996 /* 8369 */ // GIR_Coverage, 2602,
3997 /* 8369 */ GIR_Done,
3998 /* 8370 */ // Label 295: @8370
3999 /* 8370 */ GIM_Try, /*On fail goto*//*Label 296*/ GIMT_Encode4(8397), // Rule ID 4772 //
4000 /* 8375 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
4001 /* 8378 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4002 /* 8382 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4003 /* 8386 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4004 /* 8390 */ // (sub:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPSUBDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
4005 /* 8390 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDZ128rr),
4006 /* 8395 */ GIR_RootConstrainSelectedInstOperands,
4007 /* 8396 */ // GIR_Coverage, 4772,
4008 /* 8396 */ GIR_Done,
4009 /* 8397 */ // Label 296: @8397
4010 /* 8397 */ GIM_Reject,
4011 /* 8398 */ // Label 291: @8398
4012 /* 8398 */ GIM_Reject,
4013 /* 8399 */ // Label 238: @8399
4014 /* 8399 */ GIM_Try, /*On fail goto*//*Label 297*/ GIMT_Encode4(8589),
4015 /* 8404 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
4016 /* 8407 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
4017 /* 8410 */ GIM_Try, /*On fail goto*//*Label 298*/ GIMT_Encode4(8472), // Rule ID 2611 //
4018 /* 8415 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
4019 /* 8418 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4020 /* 8422 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4021 /* 8426 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4022 /* 8430 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4023 /* 8434 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4024 /* 8437 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4025 /* 8441 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4026 /* 8445 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4027 /* 8447 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4028 /* 8454 */ // (sub:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4029 /* 8454 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQYrm),
4030 /* 8457 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4031 /* 8459 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4032 /* 8461 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4033 /* 8465 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4034 /* 8470 */ GIR_RootConstrainSelectedInstOperands,
4035 /* 8471 */ // GIR_Coverage, 2611,
4036 /* 8471 */ GIR_EraseRootFromParent_Done,
4037 /* 8472 */ // Label 298: @8472
4038 /* 8472 */ GIM_Try, /*On fail goto*//*Label 299*/ GIMT_Encode4(8534), // Rule ID 4739 //
4039 /* 8477 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
4040 /* 8480 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4041 /* 8484 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4042 /* 8488 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4043 /* 8492 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4044 /* 8496 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4045 /* 8499 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4046 /* 8503 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4047 /* 8507 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4048 /* 8509 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4049 /* 8516 */ // (sub:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4050 /* 8516 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQZ256rm),
4051 /* 8519 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4052 /* 8521 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4053 /* 8523 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4054 /* 8527 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4055 /* 8532 */ GIR_RootConstrainSelectedInstOperands,
4056 /* 8533 */ // GIR_Coverage, 4739,
4057 /* 8533 */ GIR_EraseRootFromParent_Done,
4058 /* 8534 */ // Label 299: @8534
4059 /* 8534 */ GIM_Try, /*On fail goto*//*Label 300*/ GIMT_Encode4(8561), // Rule ID 2610 //
4060 /* 8539 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
4061 /* 8542 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4062 /* 8546 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4063 /* 8550 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4064 /* 8554 */ // (sub:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPSUBQYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
4065 /* 8554 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQYrr),
4066 /* 8559 */ GIR_RootConstrainSelectedInstOperands,
4067 /* 8560 */ // GIR_Coverage, 2610,
4068 /* 8560 */ GIR_Done,
4069 /* 8561 */ // Label 300: @8561
4070 /* 8561 */ GIM_Try, /*On fail goto*//*Label 301*/ GIMT_Encode4(8588), // Rule ID 4736 //
4071 /* 8566 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
4072 /* 8569 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4073 /* 8573 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4074 /* 8577 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4075 /* 8581 */ // (sub:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPSUBQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
4076 /* 8581 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQZ256rr),
4077 /* 8586 */ GIR_RootConstrainSelectedInstOperands,
4078 /* 8587 */ // GIR_Coverage, 4736,
4079 /* 8587 */ GIR_Done,
4080 /* 8588 */ // Label 301: @8588
4081 /* 8588 */ GIM_Reject,
4082 /* 8589 */ // Label 297: @8589
4083 /* 8589 */ GIM_Reject,
4084 /* 8590 */ // Label 239: @8590
4085 /* 8590 */ GIM_Try, /*On fail goto*//*Label 302*/ GIMT_Encode4(8807),
4086 /* 8595 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
4087 /* 8598 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
4088 /* 8601 */ GIM_Try, /*On fail goto*//*Label 303*/ GIMT_Encode4(8663), // Rule ID 2595 //
4089 /* 8606 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
4090 /* 8609 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4091 /* 8613 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4092 /* 8617 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4093 /* 8621 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4094 /* 8625 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4095 /* 8628 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4096 /* 8632 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4097 /* 8636 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4098 /* 8638 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4099 /* 8645 */ // (sub:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4100 /* 8645 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWrm),
4101 /* 8648 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4102 /* 8650 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4103 /* 8652 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4104 /* 8656 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4105 /* 8661 */ GIR_RootConstrainSelectedInstOperands,
4106 /* 8662 */ // GIR_Coverage, 2595,
4107 /* 8662 */ GIR_EraseRootFromParent_Done,
4108 /* 8663 */ // Label 303: @8663
4109 /* 8663 */ GIM_Try, /*On fail goto*//*Label 304*/ GIMT_Encode4(8725), // Rule ID 4796 //
4110 /* 8668 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
4111 /* 8671 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4112 /* 8675 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4113 /* 8679 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4114 /* 8683 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4115 /* 8687 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4116 /* 8690 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4117 /* 8694 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4118 /* 8698 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4119 /* 8700 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4120 /* 8707 */ // (sub:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4121 /* 8707 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWZ128rm),
4122 /* 8710 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4123 /* 8712 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4124 /* 8714 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4125 /* 8718 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4126 /* 8723 */ GIR_RootConstrainSelectedInstOperands,
4127 /* 8724 */ // GIR_Coverage, 4796,
4128 /* 8724 */ GIR_EraseRootFromParent_Done,
4129 /* 8725 */ // Label 304: @8725
4130 /* 8725 */ GIM_Try, /*On fail goto*//*Label 305*/ GIMT_Encode4(8752), // Rule ID 2594 //
4131 /* 8730 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
4132 /* 8733 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4133 /* 8737 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4134 /* 8741 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4135 /* 8745 */ // (sub:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPSUBWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
4136 /* 8745 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWrr),
4137 /* 8750 */ GIR_RootConstrainSelectedInstOperands,
4138 /* 8751 */ // GIR_Coverage, 2594,
4139 /* 8751 */ GIR_Done,
4140 /* 8752 */ // Label 305: @8752
4141 /* 8752 */ GIM_Try, /*On fail goto*//*Label 306*/ GIMT_Encode4(8779), // Rule ID 2596 //
4142 /* 8757 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
4143 /* 8760 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4144 /* 8764 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4145 /* 8768 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4146 /* 8772 */ // (sub:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PSUBWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
4147 /* 8772 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBWrr),
4148 /* 8777 */ GIR_RootConstrainSelectedInstOperands,
4149 /* 8778 */ // GIR_Coverage, 2596,
4150 /* 8778 */ GIR_Done,
4151 /* 8779 */ // Label 306: @8779
4152 /* 8779 */ GIM_Try, /*On fail goto*//*Label 307*/ GIMT_Encode4(8806), // Rule ID 4793 //
4153 /* 8784 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
4154 /* 8787 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4155 /* 8791 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4156 /* 8795 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4157 /* 8799 */ // (sub:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPSUBWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
4158 /* 8799 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWZ128rr),
4159 /* 8804 */ GIR_RootConstrainSelectedInstOperands,
4160 /* 8805 */ // GIR_Coverage, 4793,
4161 /* 8805 */ GIR_Done,
4162 /* 8806 */ // Label 307: @8806
4163 /* 8806 */ GIM_Reject,
4164 /* 8807 */ // Label 302: @8807
4165 /* 8807 */ GIM_Reject,
4166 /* 8808 */ // Label 240: @8808
4167 /* 8808 */ GIM_Try, /*On fail goto*//*Label 308*/ GIMT_Encode4(8998),
4168 /* 8813 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
4169 /* 8816 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
4170 /* 8819 */ GIM_Try, /*On fail goto*//*Label 309*/ GIMT_Encode4(8881), // Rule ID 2605 //
4171 /* 8824 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
4172 /* 8827 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4173 /* 8831 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4174 /* 8835 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4175 /* 8839 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4176 /* 8843 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4177 /* 8846 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4178 /* 8850 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4179 /* 8854 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4180 /* 8856 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4181 /* 8863 */ // (sub:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
4182 /* 8863 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDYrm),
4183 /* 8866 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4184 /* 8868 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4185 /* 8870 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4186 /* 8874 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4187 /* 8879 */ GIR_RootConstrainSelectedInstOperands,
4188 /* 8880 */ // GIR_Coverage, 2605,
4189 /* 8880 */ GIR_EraseRootFromParent_Done,
4190 /* 8881 */ // Label 309: @8881
4191 /* 8881 */ GIM_Try, /*On fail goto*//*Label 310*/ GIMT_Encode4(8943), // Rule ID 4766 //
4192 /* 8886 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
4193 /* 8889 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4194 /* 8893 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4195 /* 8897 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4196 /* 8901 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4197 /* 8905 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4198 /* 8908 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4199 /* 8912 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4200 /* 8916 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4201 /* 8918 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4202 /* 8925 */ // (sub:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
4203 /* 8925 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDZ256rm),
4204 /* 8928 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4205 /* 8930 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4206 /* 8932 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4207 /* 8936 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4208 /* 8941 */ GIR_RootConstrainSelectedInstOperands,
4209 /* 8942 */ // GIR_Coverage, 4766,
4210 /* 8942 */ GIR_EraseRootFromParent_Done,
4211 /* 8943 */ // Label 310: @8943
4212 /* 8943 */ GIM_Try, /*On fail goto*//*Label 311*/ GIMT_Encode4(8970), // Rule ID 2604 //
4213 /* 8948 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
4214 /* 8951 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4215 /* 8955 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4216 /* 8959 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4217 /* 8963 */ // (sub:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPSUBDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
4218 /* 8963 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDYrr),
4219 /* 8968 */ GIR_RootConstrainSelectedInstOperands,
4220 /* 8969 */ // GIR_Coverage, 2604,
4221 /* 8969 */ GIR_Done,
4222 /* 8970 */ // Label 311: @8970
4223 /* 8970 */ GIM_Try, /*On fail goto*//*Label 312*/ GIMT_Encode4(8997), // Rule ID 4763 //
4224 /* 8975 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
4225 /* 8978 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4226 /* 8982 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4227 /* 8986 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4228 /* 8990 */ // (sub:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPSUBDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
4229 /* 8990 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDZ256rr),
4230 /* 8995 */ GIR_RootConstrainSelectedInstOperands,
4231 /* 8996 */ // GIR_Coverage, 4763,
4232 /* 8996 */ GIR_Done,
4233 /* 8997 */ // Label 312: @8997
4234 /* 8997 */ GIM_Reject,
4235 /* 8998 */ // Label 308: @8998
4236 /* 8998 */ GIM_Reject,
4237 /* 8999 */ // Label 241: @8999
4238 /* 8999 */ GIM_Try, /*On fail goto*//*Label 313*/ GIMT_Encode4(9092),
4239 /* 9004 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
4240 /* 9007 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
4241 /* 9010 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4242 /* 9014 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4243 /* 9018 */ GIM_Try, /*On fail goto*//*Label 314*/ GIMT_Encode4(9072), // Rule ID 4730 //
4244 /* 9023 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
4245 /* 9026 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4246 /* 9030 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4247 /* 9034 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4248 /* 9037 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4249 /* 9041 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4250 /* 9045 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4251 /* 9047 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4252 /* 9054 */ // (sub:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4253 /* 9054 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQZrm),
4254 /* 9057 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4255 /* 9059 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4256 /* 9061 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4257 /* 9065 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4258 /* 9070 */ GIR_RootConstrainSelectedInstOperands,
4259 /* 9071 */ // GIR_Coverage, 4730,
4260 /* 9071 */ GIR_EraseRootFromParent_Done,
4261 /* 9072 */ // Label 314: @9072
4262 /* 9072 */ GIM_Try, /*On fail goto*//*Label 315*/ GIMT_Encode4(9091), // Rule ID 4727 //
4263 /* 9077 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
4264 /* 9080 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4265 /* 9084 */ // (sub:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPSUBQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
4266 /* 9084 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQZrr),
4267 /* 9089 */ GIR_RootConstrainSelectedInstOperands,
4268 /* 9090 */ // GIR_Coverage, 4727,
4269 /* 9090 */ GIR_Done,
4270 /* 9091 */ // Label 315: @9091
4271 /* 9091 */ GIM_Reject,
4272 /* 9092 */ // Label 313: @9092
4273 /* 9092 */ GIM_Reject,
4274 /* 9093 */ // Label 242: @9093
4275 /* 9093 */ GIM_Try, /*On fail goto*//*Label 316*/ GIMT_Encode4(9310),
4276 /* 9098 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
4277 /* 9101 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
4278 /* 9104 */ GIM_Try, /*On fail goto*//*Label 317*/ GIMT_Encode4(9166), // Rule ID 2589 //
4279 /* 9109 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
4280 /* 9112 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4281 /* 9116 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4282 /* 9120 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4283 /* 9124 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4284 /* 9128 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4285 /* 9131 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4286 /* 9135 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4287 /* 9139 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4288 /* 9141 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4289 /* 9148 */ // (sub:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
4290 /* 9148 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBrm),
4291 /* 9151 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4292 /* 9153 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4293 /* 9155 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4294 /* 9159 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4295 /* 9164 */ GIR_RootConstrainSelectedInstOperands,
4296 /* 9165 */ // GIR_Coverage, 2589,
4297 /* 9165 */ GIR_EraseRootFromParent_Done,
4298 /* 9166 */ // Label 317: @9166
4299 /* 9166 */ GIM_Try, /*On fail goto*//*Label 318*/ GIMT_Encode4(9228), // Rule ID 4814 //
4300 /* 9171 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
4301 /* 9174 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4302 /* 9178 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4303 /* 9182 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4304 /* 9186 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4305 /* 9190 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4306 /* 9193 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4307 /* 9197 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4308 /* 9201 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4309 /* 9203 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4310 /* 9210 */ // (sub:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
4311 /* 9210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBZ128rm),
4312 /* 9213 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4313 /* 9215 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4314 /* 9217 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4315 /* 9221 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4316 /* 9226 */ GIR_RootConstrainSelectedInstOperands,
4317 /* 9227 */ // GIR_Coverage, 4814,
4318 /* 9227 */ GIR_EraseRootFromParent_Done,
4319 /* 9228 */ // Label 318: @9228
4320 /* 9228 */ GIM_Try, /*On fail goto*//*Label 319*/ GIMT_Encode4(9255), // Rule ID 2588 //
4321 /* 9233 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
4322 /* 9236 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4323 /* 9240 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4324 /* 9244 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4325 /* 9248 */ // (sub:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPSUBBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
4326 /* 9248 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBrr),
4327 /* 9253 */ GIR_RootConstrainSelectedInstOperands,
4328 /* 9254 */ // GIR_Coverage, 2588,
4329 /* 9254 */ GIR_Done,
4330 /* 9255 */ // Label 319: @9255
4331 /* 9255 */ GIM_Try, /*On fail goto*//*Label 320*/ GIMT_Encode4(9282), // Rule ID 2590 //
4332 /* 9260 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
4333 /* 9263 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4334 /* 9267 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4335 /* 9271 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4336 /* 9275 */ // (sub:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PSUBBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
4337 /* 9275 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBBrr),
4338 /* 9280 */ GIR_RootConstrainSelectedInstOperands,
4339 /* 9281 */ // GIR_Coverage, 2590,
4340 /* 9281 */ GIR_Done,
4341 /* 9282 */ // Label 320: @9282
4342 /* 9282 */ GIM_Try, /*On fail goto*//*Label 321*/ GIMT_Encode4(9309), // Rule ID 4811 //
4343 /* 9287 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
4344 /* 9290 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4345 /* 9294 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4346 /* 9298 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4347 /* 9302 */ // (sub:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPSUBBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
4348 /* 9302 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBZ128rr),
4349 /* 9307 */ GIR_RootConstrainSelectedInstOperands,
4350 /* 9308 */ // GIR_Coverage, 4811,
4351 /* 9308 */ GIR_Done,
4352 /* 9309 */ // Label 321: @9309
4353 /* 9309 */ GIM_Reject,
4354 /* 9310 */ // Label 316: @9310
4355 /* 9310 */ GIM_Reject,
4356 /* 9311 */ // Label 243: @9311
4357 /* 9311 */ GIM_Try, /*On fail goto*//*Label 322*/ GIMT_Encode4(9501),
4358 /* 9316 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
4359 /* 9319 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
4360 /* 9322 */ GIM_Try, /*On fail goto*//*Label 323*/ GIMT_Encode4(9384), // Rule ID 2599 //
4361 /* 9327 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
4362 /* 9330 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4363 /* 9334 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4364 /* 9338 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4365 /* 9342 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4366 /* 9346 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4367 /* 9349 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4368 /* 9353 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4369 /* 9357 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4370 /* 9359 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4371 /* 9366 */ // (sub:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4372 /* 9366 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWYrm),
4373 /* 9369 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4374 /* 9371 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4375 /* 9373 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4376 /* 9377 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4377 /* 9382 */ GIR_RootConstrainSelectedInstOperands,
4378 /* 9383 */ // GIR_Coverage, 2599,
4379 /* 9383 */ GIR_EraseRootFromParent_Done,
4380 /* 9384 */ // Label 323: @9384
4381 /* 9384 */ GIM_Try, /*On fail goto*//*Label 324*/ GIMT_Encode4(9446), // Rule ID 4790 //
4382 /* 9389 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
4383 /* 9392 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4384 /* 9396 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4385 /* 9400 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4386 /* 9404 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4387 /* 9408 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4388 /* 9411 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4389 /* 9415 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4390 /* 9419 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4391 /* 9421 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4392 /* 9428 */ // (sub:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4393 /* 9428 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWZ256rm),
4394 /* 9431 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4395 /* 9433 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4396 /* 9435 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4397 /* 9439 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4398 /* 9444 */ GIR_RootConstrainSelectedInstOperands,
4399 /* 9445 */ // GIR_Coverage, 4790,
4400 /* 9445 */ GIR_EraseRootFromParent_Done,
4401 /* 9446 */ // Label 324: @9446
4402 /* 9446 */ GIM_Try, /*On fail goto*//*Label 325*/ GIMT_Encode4(9473), // Rule ID 2598 //
4403 /* 9451 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
4404 /* 9454 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4405 /* 9458 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4406 /* 9462 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4407 /* 9466 */ // (sub:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPSUBWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
4408 /* 9466 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWYrr),
4409 /* 9471 */ GIR_RootConstrainSelectedInstOperands,
4410 /* 9472 */ // GIR_Coverage, 2598,
4411 /* 9472 */ GIR_Done,
4412 /* 9473 */ // Label 325: @9473
4413 /* 9473 */ GIM_Try, /*On fail goto*//*Label 326*/ GIMT_Encode4(9500), // Rule ID 4787 //
4414 /* 9478 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
4415 /* 9481 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4416 /* 9485 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4417 /* 9489 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4418 /* 9493 */ // (sub:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPSUBWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
4419 /* 9493 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWZ256rr),
4420 /* 9498 */ GIR_RootConstrainSelectedInstOperands,
4421 /* 9499 */ // GIR_Coverage, 4787,
4422 /* 9499 */ GIR_Done,
4423 /* 9500 */ // Label 326: @9500
4424 /* 9500 */ GIM_Reject,
4425 /* 9501 */ // Label 322: @9501
4426 /* 9501 */ GIM_Reject,
4427 /* 9502 */ // Label 244: @9502
4428 /* 9502 */ GIM_Try, /*On fail goto*//*Label 327*/ GIMT_Encode4(9595),
4429 /* 9507 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
4430 /* 9510 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
4431 /* 9513 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4432 /* 9517 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4433 /* 9521 */ GIM_Try, /*On fail goto*//*Label 328*/ GIMT_Encode4(9575), // Rule ID 4757 //
4434 /* 9526 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
4435 /* 9529 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4436 /* 9533 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4437 /* 9537 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4438 /* 9540 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4439 /* 9544 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4440 /* 9548 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4441 /* 9550 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4442 /* 9557 */ // (sub:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
4443 /* 9557 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDZrm),
4444 /* 9560 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4445 /* 9562 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4446 /* 9564 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4447 /* 9568 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4448 /* 9573 */ GIR_RootConstrainSelectedInstOperands,
4449 /* 9574 */ // GIR_Coverage, 4757,
4450 /* 9574 */ GIR_EraseRootFromParent_Done,
4451 /* 9575 */ // Label 328: @9575
4452 /* 9575 */ GIM_Try, /*On fail goto*//*Label 329*/ GIMT_Encode4(9594), // Rule ID 4754 //
4453 /* 9580 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
4454 /* 9583 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4455 /* 9587 */ // (sub:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPSUBDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
4456 /* 9587 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDZrr),
4457 /* 9592 */ GIR_RootConstrainSelectedInstOperands,
4458 /* 9593 */ // GIR_Coverage, 4754,
4459 /* 9593 */ GIR_Done,
4460 /* 9594 */ // Label 329: @9594
4461 /* 9594 */ GIM_Reject,
4462 /* 9595 */ // Label 327: @9595
4463 /* 9595 */ GIM_Reject,
4464 /* 9596 */ // Label 245: @9596
4465 /* 9596 */ GIM_Try, /*On fail goto*//*Label 330*/ GIMT_Encode4(9786),
4466 /* 9601 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
4467 /* 9604 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
4468 /* 9607 */ GIM_Try, /*On fail goto*//*Label 331*/ GIMT_Encode4(9669), // Rule ID 2593 //
4469 /* 9612 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
4470 /* 9615 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4471 /* 9619 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4472 /* 9623 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4473 /* 9627 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4474 /* 9631 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4475 /* 9634 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4476 /* 9638 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4477 /* 9642 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4478 /* 9644 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4479 /* 9651 */ // (sub:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
4480 /* 9651 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBYrm),
4481 /* 9654 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4482 /* 9656 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4483 /* 9658 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4484 /* 9662 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4485 /* 9667 */ GIR_RootConstrainSelectedInstOperands,
4486 /* 9668 */ // GIR_Coverage, 2593,
4487 /* 9668 */ GIR_EraseRootFromParent_Done,
4488 /* 9669 */ // Label 331: @9669
4489 /* 9669 */ GIM_Try, /*On fail goto*//*Label 332*/ GIMT_Encode4(9731), // Rule ID 4808 //
4490 /* 9674 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
4491 /* 9677 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4492 /* 9681 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4493 /* 9685 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4494 /* 9689 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4495 /* 9693 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4496 /* 9696 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4497 /* 9700 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4498 /* 9704 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4499 /* 9706 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4500 /* 9713 */ // (sub:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
4501 /* 9713 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBZ256rm),
4502 /* 9716 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4503 /* 9718 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4504 /* 9720 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4505 /* 9724 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4506 /* 9729 */ GIR_RootConstrainSelectedInstOperands,
4507 /* 9730 */ // GIR_Coverage, 4808,
4508 /* 9730 */ GIR_EraseRootFromParent_Done,
4509 /* 9731 */ // Label 332: @9731
4510 /* 9731 */ GIM_Try, /*On fail goto*//*Label 333*/ GIMT_Encode4(9758), // Rule ID 2592 //
4511 /* 9736 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
4512 /* 9739 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4513 /* 9743 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4514 /* 9747 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4515 /* 9751 */ // (sub:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPSUBBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
4516 /* 9751 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBYrr),
4517 /* 9756 */ GIR_RootConstrainSelectedInstOperands,
4518 /* 9757 */ // GIR_Coverage, 2592,
4519 /* 9757 */ GIR_Done,
4520 /* 9758 */ // Label 333: @9758
4521 /* 9758 */ GIM_Try, /*On fail goto*//*Label 334*/ GIMT_Encode4(9785), // Rule ID 4805 //
4522 /* 9763 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
4523 /* 9766 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4524 /* 9770 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4525 /* 9774 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4526 /* 9778 */ // (sub:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPSUBBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
4527 /* 9778 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBZ256rr),
4528 /* 9783 */ GIR_RootConstrainSelectedInstOperands,
4529 /* 9784 */ // GIR_Coverage, 4805,
4530 /* 9784 */ GIR_Done,
4531 /* 9785 */ // Label 334: @9785
4532 /* 9785 */ GIM_Reject,
4533 /* 9786 */ // Label 330: @9786
4534 /* 9786 */ GIM_Reject,
4535 /* 9787 */ // Label 246: @9787
4536 /* 9787 */ GIM_Try, /*On fail goto*//*Label 335*/ GIMT_Encode4(9880),
4537 /* 9792 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
4538 /* 9795 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
4539 /* 9798 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4540 /* 9802 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4541 /* 9806 */ GIM_Try, /*On fail goto*//*Label 336*/ GIMT_Encode4(9860), // Rule ID 4784 //
4542 /* 9811 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
4543 /* 9814 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4544 /* 9818 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4545 /* 9822 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4546 /* 9825 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4547 /* 9829 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4548 /* 9833 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4549 /* 9835 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4550 /* 9842 */ // (sub:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4551 /* 9842 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWZrm),
4552 /* 9845 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4553 /* 9847 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4554 /* 9849 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4555 /* 9853 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4556 /* 9858 */ GIR_RootConstrainSelectedInstOperands,
4557 /* 9859 */ // GIR_Coverage, 4784,
4558 /* 9859 */ GIR_EraseRootFromParent_Done,
4559 /* 9860 */ // Label 336: @9860
4560 /* 9860 */ GIM_Try, /*On fail goto*//*Label 337*/ GIMT_Encode4(9879), // Rule ID 4781 //
4561 /* 9865 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
4562 /* 9868 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4563 /* 9872 */ // (sub:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPSUBWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
4564 /* 9872 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWZrr),
4565 /* 9877 */ GIR_RootConstrainSelectedInstOperands,
4566 /* 9878 */ // GIR_Coverage, 4781,
4567 /* 9878 */ GIR_Done,
4568 /* 9879 */ // Label 337: @9879
4569 /* 9879 */ GIM_Reject,
4570 /* 9880 */ // Label 335: @9880
4571 /* 9880 */ GIM_Reject,
4572 /* 9881 */ // Label 247: @9881
4573 /* 9881 */ GIM_Try, /*On fail goto*//*Label 338*/ GIMT_Encode4(9974),
4574 /* 9886 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
4575 /* 9889 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
4576 /* 9892 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4577 /* 9896 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4578 /* 9900 */ GIM_Try, /*On fail goto*//*Label 339*/ GIMT_Encode4(9954), // Rule ID 4802 //
4579 /* 9905 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
4580 /* 9908 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4581 /* 9912 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4582 /* 9916 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4583 /* 9919 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4584 /* 9923 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4585 /* 9927 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4586 /* 9929 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4587 /* 9936 */ // (sub:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
4588 /* 9936 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBZrm),
4589 /* 9939 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4590 /* 9941 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4591 /* 9943 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4592 /* 9947 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4593 /* 9952 */ GIR_RootConstrainSelectedInstOperands,
4594 /* 9953 */ // GIR_Coverage, 4802,
4595 /* 9953 */ GIR_EraseRootFromParent_Done,
4596 /* 9954 */ // Label 339: @9954
4597 /* 9954 */ GIM_Try, /*On fail goto*//*Label 340*/ GIMT_Encode4(9973), // Rule ID 4799 //
4598 /* 9959 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
4599 /* 9962 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4600 /* 9966 */ // (sub:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPSUBBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
4601 /* 9966 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBZrr),
4602 /* 9971 */ GIR_RootConstrainSelectedInstOperands,
4603 /* 9972 */ // GIR_Coverage, 4799,
4604 /* 9972 */ GIR_Done,
4605 /* 9973 */ // Label 340: @9973
4606 /* 9973 */ GIM_Reject,
4607 /* 9974 */ // Label 338: @9974
4608 /* 9974 */ GIM_Reject,
4609 /* 9975 */ // Label 248: @9975
4610 /* 9975 */ GIM_Reject,
4611 /* 9976 */ // Label 2: @9976
4612 /* 9976 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 353*/ GIMT_Encode4(13392),
4613 /* 9987 */ /*GILLT_s16*//*Label 341*/ GIMT_Encode4(10071),
4614 /* 9991 */ /*GILLT_s32*//*Label 342*/ GIMT_Encode4(10366),
4615 /* 9995 */ /*GILLT_s64*//*Label 343*/ GIMT_Encode4(10661), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
4616 /* 10011 */ /*GILLT_v2s64*//*Label 344*/ GIMT_Encode4(10964), GIMT_Encode4(0),
4617 /* 10019 */ /*GILLT_v4s32*//*Label 345*/ GIMT_Encode4(11293),
4618 /* 10023 */ /*GILLT_v4s64*//*Label 346*/ GIMT_Encode4(11635), GIMT_Encode4(0),
4619 /* 10031 */ /*GILLT_v8s16*//*Label 347*/ GIMT_Encode4(11952),
4620 /* 10035 */ /*GILLT_v8s32*//*Label 348*/ GIMT_Encode4(12294),
4621 /* 10039 */ /*GILLT_v8s64*//*Label 349*/ GIMT_Encode4(12609), GIMT_Encode4(0), GIMT_Encode4(0),
4622 /* 10051 */ /*GILLT_v16s16*//*Label 350*/ GIMT_Encode4(12765),
4623 /* 10055 */ /*GILLT_v16s32*//*Label 351*/ GIMT_Encode4(13080), GIMT_Encode4(0), GIMT_Encode4(0),
4624 /* 10067 */ /*GILLT_v32s16*//*Label 352*/ GIMT_Encode4(13236),
4625 /* 10071 */ // Label 341: @10071
4626 /* 10071 */ GIM_Try, /*On fail goto*//*Label 354*/ GIMT_Encode4(10365),
4627 /* 10076 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
4628 /* 10079 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
4629 /* 10082 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4630 /* 10086 */ GIM_Try, /*On fail goto*//*Label 355*/ GIMT_Encode4(10150), // Rule ID 23061 //
4631 /* 10091 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4632 /* 10095 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4633 /* 10099 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4634 /* 10102 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4635 /* 10106 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
4636 /* 10110 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
4637 /* 10114 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4638 /* 10118 */ // MIs[2] Operand 1
4639 /* 10118 */ // No operand predicates
4640 /* 10118 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
4641 /* 10120 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4642 /* 10127 */ // (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)
4643 /* 10127 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL16rmi),
4644 /* 10130 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4645 /* 10132 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
4646 /* 10136 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
4647 /* 10139 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4648 /* 10142 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
4649 /* 10148 */ GIR_RootConstrainSelectedInstOperands,
4650 /* 10149 */ // GIR_Coverage, 23061,
4651 /* 10149 */ GIR_EraseRootFromParent_Done,
4652 /* 10150 */ // Label 355: @10150
4653 /* 10150 */ GIM_Try, /*On fail goto*//*Label 356*/ GIMT_Encode4(10211), // Rule ID 26140 //
4654 /* 10155 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
4655 /* 10158 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4656 /* 10162 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4657 /* 10166 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4658 /* 10169 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4659 /* 10173 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
4660 /* 10177 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4661 /* 10181 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4662 /* 10183 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4663 /* 10190 */ // (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)
4664 /* 10190 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL16rm),
4665 /* 10193 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4666 /* 10195 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4667 /* 10197 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4668 /* 10201 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4669 /* 10204 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4670 /* 10209 */ GIR_RootConstrainSelectedInstOperands,
4671 /* 10210 */ // GIR_Coverage, 26140,
4672 /* 10210 */ GIR_EraseRootFromParent_Done,
4673 /* 10211 */ // Label 356: @10211
4674 /* 10211 */ GIM_Try, /*On fail goto*//*Label 357*/ GIMT_Encode4(10272), // Rule ID 22903 //
4675 /* 10216 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
4676 /* 10219 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4677 /* 10223 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4678 /* 10227 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4679 /* 10231 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4680 /* 10234 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4681 /* 10238 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
4682 /* 10242 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4683 /* 10244 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4684 /* 10251 */ // (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)
4685 /* 10251 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL16rm),
4686 /* 10254 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4687 /* 10256 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4688 /* 10258 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4689 /* 10262 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4690 /* 10265 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4691 /* 10270 */ GIR_RootConstrainSelectedInstOperands,
4692 /* 10271 */ // GIR_Coverage, 22903,
4693 /* 10271 */ GIR_EraseRootFromParent_Done,
4694 /* 10272 */ // Label 357: @10272
4695 /* 10272 */ GIM_Try, /*On fail goto*//*Label 358*/ GIMT_Encode4(10306), // Rule ID 23058 //
4696 /* 10277 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4697 /* 10281 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4698 /* 10285 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4699 /* 10289 */ // MIs[1] Operand 1
4700 /* 10289 */ // No operand predicates
4701 /* 10289 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4702 /* 10291 */ // (mul:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (IMUL16rri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
4703 /* 10291 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL16rri),
4704 /* 10294 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4705 /* 10296 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4706 /* 10298 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
4707 /* 10301 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4708 /* 10304 */ GIR_RootConstrainSelectedInstOperands,
4709 /* 10305 */ // GIR_Coverage, 23058,
4710 /* 10305 */ GIR_EraseRootFromParent_Done,
4711 /* 10306 */ // Label 358: @10306
4712 /* 10306 */ GIM_Try, /*On fail goto*//*Label 359*/ GIMT_Encode4(10335), // Rule ID 22900 //
4713 /* 10311 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
4714 /* 10314 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4715 /* 10318 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4716 /* 10322 */ // (mul:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (IMUL16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
4717 /* 10322 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL16rr),
4718 /* 10327 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
4719 /* 10333 */ GIR_RootConstrainSelectedInstOperands,
4720 /* 10334 */ // GIR_Coverage, 22900,
4721 /* 10334 */ GIR_Done,
4722 /* 10335 */ // Label 359: @10335
4723 /* 10335 */ GIM_Try, /*On fail goto*//*Label 360*/ GIMT_Encode4(10364), // Rule ID 22990 //
4724 /* 10340 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
4725 /* 10343 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4726 /* 10347 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4727 /* 10351 */ // (mul:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (IMUL16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
4728 /* 10351 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL16rr_ND),
4729 /* 10356 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
4730 /* 10362 */ GIR_RootConstrainSelectedInstOperands,
4731 /* 10363 */ // GIR_Coverage, 22990,
4732 /* 10363 */ GIR_Done,
4733 /* 10364 */ // Label 360: @10364
4734 /* 10364 */ GIM_Reject,
4735 /* 10365 */ // Label 354: @10365
4736 /* 10365 */ GIM_Reject,
4737 /* 10366 */ // Label 342: @10366
4738 /* 10366 */ GIM_Try, /*On fail goto*//*Label 361*/ GIMT_Encode4(10660),
4739 /* 10371 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
4740 /* 10374 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
4741 /* 10377 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
4742 /* 10381 */ GIM_Try, /*On fail goto*//*Label 362*/ GIMT_Encode4(10445), // Rule ID 23062 //
4743 /* 10386 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4744 /* 10390 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4745 /* 10394 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4746 /* 10397 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4747 /* 10401 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
4748 /* 10405 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
4749 /* 10409 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4750 /* 10413 */ // MIs[2] Operand 1
4751 /* 10413 */ // No operand predicates
4752 /* 10413 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
4753 /* 10415 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4754 /* 10422 */ // (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)
4755 /* 10422 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL32rmi),
4756 /* 10425 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4757 /* 10427 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
4758 /* 10431 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
4759 /* 10434 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4760 /* 10437 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
4761 /* 10443 */ GIR_RootConstrainSelectedInstOperands,
4762 /* 10444 */ // GIR_Coverage, 23062,
4763 /* 10444 */ GIR_EraseRootFromParent_Done,
4764 /* 10445 */ // Label 362: @10445
4765 /* 10445 */ GIM_Try, /*On fail goto*//*Label 363*/ GIMT_Encode4(10506), // Rule ID 26141 //
4766 /* 10450 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
4767 /* 10453 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4768 /* 10457 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4769 /* 10461 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4770 /* 10464 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4771 /* 10468 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
4772 /* 10472 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
4773 /* 10476 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4774 /* 10478 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4775 /* 10485 */ // (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)
4776 /* 10485 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL32rm),
4777 /* 10488 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4778 /* 10490 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4779 /* 10492 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4780 /* 10496 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4781 /* 10499 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4782 /* 10504 */ GIR_RootConstrainSelectedInstOperands,
4783 /* 10505 */ // GIR_Coverage, 26141,
4784 /* 10505 */ GIR_EraseRootFromParent_Done,
4785 /* 10506 */ // Label 363: @10506
4786 /* 10506 */ GIM_Try, /*On fail goto*//*Label 364*/ GIMT_Encode4(10567), // Rule ID 22904 //
4787 /* 10511 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
4788 /* 10514 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
4789 /* 10518 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4790 /* 10522 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4791 /* 10526 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4792 /* 10529 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4793 /* 10533 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
4794 /* 10537 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4795 /* 10539 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4796 /* 10546 */ // (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)
4797 /* 10546 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL32rm),
4798 /* 10549 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4799 /* 10551 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4800 /* 10553 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4801 /* 10557 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4802 /* 10560 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4803 /* 10565 */ GIR_RootConstrainSelectedInstOperands,
4804 /* 10566 */ // GIR_Coverage, 22904,
4805 /* 10566 */ GIR_EraseRootFromParent_Done,
4806 /* 10567 */ // Label 364: @10567
4807 /* 10567 */ GIM_Try, /*On fail goto*//*Label 365*/ GIMT_Encode4(10601), // Rule ID 23059 //
4808 /* 10572 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
4809 /* 10576 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4810 /* 10580 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4811 /* 10584 */ // MIs[1] Operand 1
4812 /* 10584 */ // No operand predicates
4813 /* 10584 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4814 /* 10586 */ // (mul:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (IMUL32rri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
4815 /* 10586 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL32rri),
4816 /* 10589 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4817 /* 10591 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4818 /* 10593 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
4819 /* 10596 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4820 /* 10599 */ GIR_RootConstrainSelectedInstOperands,
4821 /* 10600 */ // GIR_Coverage, 23059,
4822 /* 10600 */ GIR_EraseRootFromParent_Done,
4823 /* 10601 */ // Label 365: @10601
4824 /* 10601 */ GIM_Try, /*On fail goto*//*Label 366*/ GIMT_Encode4(10630), // Rule ID 22901 //
4825 /* 10606 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
4826 /* 10609 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
4827 /* 10613 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
4828 /* 10617 */ // (mul:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (IMUL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
4829 /* 10617 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL32rr),
4830 /* 10622 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
4831 /* 10628 */ GIR_RootConstrainSelectedInstOperands,
4832 /* 10629 */ // GIR_Coverage, 22901,
4833 /* 10629 */ GIR_Done,
4834 /* 10630 */ // Label 366: @10630
4835 /* 10630 */ GIM_Try, /*On fail goto*//*Label 367*/ GIMT_Encode4(10659), // Rule ID 22991 //
4836 /* 10635 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
4837 /* 10638 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
4838 /* 10642 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
4839 /* 10646 */ // (mul:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (IMUL32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
4840 /* 10646 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL32rr_ND),
4841 /* 10651 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
4842 /* 10657 */ GIR_RootConstrainSelectedInstOperands,
4843 /* 10658 */ // GIR_Coverage, 22991,
4844 /* 10658 */ GIR_Done,
4845 /* 10659 */ // Label 367: @10659
4846 /* 10659 */ GIM_Reject,
4847 /* 10660 */ // Label 361: @10660
4848 /* 10660 */ GIM_Reject,
4849 /* 10661 */ // Label 343: @10661
4850 /* 10661 */ GIM_Try, /*On fail goto*//*Label 368*/ GIMT_Encode4(10963),
4851 /* 10666 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
4852 /* 10669 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
4853 /* 10672 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4854 /* 10676 */ GIM_Try, /*On fail goto*//*Label 369*/ GIMT_Encode4(10744), // Rule ID 23063 //
4855 /* 10681 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4856 /* 10685 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4857 /* 10689 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4858 /* 10692 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4859 /* 10696 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4860 /* 10700 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
4861 /* 10704 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4862 /* 10708 */ GIM_CheckI64ImmPredicate, /*MI*/2, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
4863 /* 10712 */ // MIs[2] Operand 1
4864 /* 10712 */ // No operand predicates
4865 /* 10712 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
4866 /* 10714 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4867 /* 10721 */ // (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)
4868 /* 10721 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL64rmi32),
4869 /* 10724 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4870 /* 10726 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
4871 /* 10730 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
4872 /* 10733 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4873 /* 10736 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
4874 /* 10742 */ GIR_RootConstrainSelectedInstOperands,
4875 /* 10743 */ // GIR_Coverage, 23063,
4876 /* 10743 */ GIR_EraseRootFromParent_Done,
4877 /* 10744 */ // Label 369: @10744
4878 /* 10744 */ GIM_Try, /*On fail goto*//*Label 370*/ GIMT_Encode4(10805), // Rule ID 26142 //
4879 /* 10749 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
4880 /* 10752 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4881 /* 10756 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4882 /* 10760 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4883 /* 10763 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4884 /* 10767 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4885 /* 10771 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4886 /* 10775 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4887 /* 10777 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4888 /* 10784 */ // (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)
4889 /* 10784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL64rm),
4890 /* 10787 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4891 /* 10789 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4892 /* 10791 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4893 /* 10795 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4894 /* 10798 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4895 /* 10803 */ GIR_RootConstrainSelectedInstOperands,
4896 /* 10804 */ // GIR_Coverage, 26142,
4897 /* 10804 */ GIR_EraseRootFromParent_Done,
4898 /* 10805 */ // Label 370: @10805
4899 /* 10805 */ GIM_Try, /*On fail goto*//*Label 371*/ GIMT_Encode4(10866), // Rule ID 22905 //
4900 /* 10810 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
4901 /* 10813 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4902 /* 10817 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4903 /* 10821 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4904 /* 10825 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4905 /* 10828 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4906 /* 10832 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4907 /* 10836 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4908 /* 10838 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4909 /* 10845 */ // (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)
4910 /* 10845 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL64rm),
4911 /* 10848 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4912 /* 10850 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4913 /* 10852 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4914 /* 10856 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4915 /* 10859 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4916 /* 10864 */ GIR_RootConstrainSelectedInstOperands,
4917 /* 10865 */ // GIR_Coverage, 22905,
4918 /* 10865 */ GIR_EraseRootFromParent_Done,
4919 /* 10866 */ // Label 371: @10866
4920 /* 10866 */ GIM_Try, /*On fail goto*//*Label 372*/ GIMT_Encode4(10904), // Rule ID 23060 //
4921 /* 10871 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4922 /* 10875 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4923 /* 10879 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4924 /* 10883 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
4925 /* 10887 */ // MIs[1] Operand 1
4926 /* 10887 */ // No operand predicates
4927 /* 10887 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4928 /* 10889 */ // (mul:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (IMUL64rri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
4929 /* 10889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL64rri32),
4930 /* 10892 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4931 /* 10894 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4932 /* 10896 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
4933 /* 10899 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4934 /* 10902 */ GIR_RootConstrainSelectedInstOperands,
4935 /* 10903 */ // GIR_Coverage, 23060,
4936 /* 10903 */ GIR_EraseRootFromParent_Done,
4937 /* 10904 */ // Label 372: @10904
4938 /* 10904 */ GIM_Try, /*On fail goto*//*Label 373*/ GIMT_Encode4(10933), // Rule ID 22902 //
4939 /* 10909 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
4940 /* 10912 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4941 /* 10916 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4942 /* 10920 */ // (mul:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (IMUL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
4943 /* 10920 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL64rr),
4944 /* 10925 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
4945 /* 10931 */ GIR_RootConstrainSelectedInstOperands,
4946 /* 10932 */ // GIR_Coverage, 22902,
4947 /* 10932 */ GIR_Done,
4948 /* 10933 */ // Label 373: @10933
4949 /* 10933 */ GIM_Try, /*On fail goto*//*Label 374*/ GIMT_Encode4(10962), // Rule ID 22992 //
4950 /* 10938 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
4951 /* 10941 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4952 /* 10945 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4953 /* 10949 */ // (mul:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (IMUL64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
4954 /* 10949 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL64rr_ND),
4955 /* 10954 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
4956 /* 10960 */ GIR_RootConstrainSelectedInstOperands,
4957 /* 10961 */ // GIR_Coverage, 22992,
4958 /* 10961 */ GIR_Done,
4959 /* 10962 */ // Label 374: @10962
4960 /* 10962 */ GIM_Reject,
4961 /* 10963 */ // Label 368: @10963
4962 /* 10963 */ GIM_Reject,
4963 /* 10964 */ // Label 344: @10964
4964 /* 10964 */ GIM_Try, /*On fail goto*//*Label 375*/ GIMT_Encode4(11292),
4965 /* 10969 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
4966 /* 10972 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
4967 /* 10975 */ GIM_Try, /*On fail goto*//*Label 376*/ GIMT_Encode4(11037), // Rule ID 23907 //
4968 /* 10980 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
4969 /* 10983 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4970 /* 10987 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4971 /* 10991 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4972 /* 10995 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4973 /* 10998 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4974 /* 11002 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4975 /* 11006 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4976 /* 11010 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4977 /* 11012 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4978 /* 11019 */ // (mul:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMULLQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4979 /* 11019 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ128rm),
4980 /* 11022 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4981 /* 11024 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4982 /* 11026 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4983 /* 11030 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4984 /* 11035 */ GIR_RootConstrainSelectedInstOperands,
4985 /* 11036 */ // GIR_Coverage, 23907,
4986 /* 11036 */ GIR_EraseRootFromParent_Done,
4987 /* 11037 */ // Label 376: @11037
4988 /* 11037 */ GIM_Try, /*On fail goto*//*Label 377*/ GIMT_Encode4(11099), // Rule ID 5027 //
4989 /* 11042 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
4990 /* 11045 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4991 /* 11049 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4992 /* 11053 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4993 /* 11057 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4994 /* 11061 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4995 /* 11064 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4996 /* 11068 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4997 /* 11072 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4998 /* 11074 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4999 /* 11081 */ // (mul:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5000 /* 11081 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ128rm),
5001 /* 11084 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5002 /* 11086 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5003 /* 11088 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5004 /* 11092 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5005 /* 11097 */ GIR_RootConstrainSelectedInstOperands,
5006 /* 11098 */ // GIR_Coverage, 5027,
5007 /* 11098 */ GIR_EraseRootFromParent_Done,
5008 /* 11099 */ // Label 377: @11099
5009 /* 11099 */ GIM_Try, /*On fail goto*//*Label 378*/ GIMT_Encode4(11126), // Rule ID 5024 //
5010 /* 11104 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
5011 /* 11107 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5012 /* 11111 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5013 /* 11115 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5014 /* 11119 */ // (mul:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMULLQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
5015 /* 11119 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ128rr),
5016 /* 11124 */ GIR_RootConstrainSelectedInstOperands,
5017 /* 11125 */ // GIR_Coverage, 5024,
5018 /* 11125 */ GIR_Done,
5019 /* 11126 */ // Label 378: @11126
5020 /* 11126 */ GIM_Try, /*On fail goto*//*Label 379*/ GIMT_Encode4(11291), // Rule ID 20007 //
5021 /* 11131 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoVLX),
5022 /* 11134 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
5023 /* 11138 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5024 /* 11142 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5025 /* 11146 */ // (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] })
5026 /* 11146 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
5027 /* 11149 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
5028 /* 11153 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5029 /* 11158 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
5030 /* 11160 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
5031 /* 11163 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
5032 /* 11167 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5033 /* 11172 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
5034 /* 11175 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
5035 /* 11179 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
5036 /* 11182 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
5037 /* 11187 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5038 /* 11192 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
5039 /* 11197 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
5040 /* 11200 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
5041 /* 11204 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5042 /* 11209 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
5043 /* 11211 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
5044 /* 11214 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
5045 /* 11218 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5046 /* 11223 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
5047 /* 11226 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
5048 /* 11230 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
5049 /* 11233 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
5050 /* 11238 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5051 /* 11243 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
5052 /* 11248 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
5053 /* 11251 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrr),
5054 /* 11255 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5055 /* 11260 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5056 /* 11263 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
5057 /* 11266 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
5058 /* 11268 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5059 /* 11271 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5060 /* 11273 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
5061 /* 11280 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
5062 /* 11285 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5063 /* 11290 */ // GIR_Coverage, 20007,
5064 /* 11290 */ GIR_EraseRootFromParent_Done,
5065 /* 11291 */ // Label 379: @11291
5066 /* 11291 */ GIM_Reject,
5067 /* 11292 */ // Label 375: @11292
5068 /* 11292 */ GIM_Reject,
5069 /* 11293 */ // Label 345: @11293
5070 /* 11293 */ GIM_Try, /*On fail goto*//*Label 380*/ GIMT_Encode4(11634),
5071 /* 11298 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
5072 /* 11301 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
5073 /* 11304 */ GIM_Try, /*On fail goto*//*Label 381*/ GIMT_Encode4(11366), // Rule ID 23610 //
5074 /* 11309 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
5075 /* 11312 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5076 /* 11316 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5077 /* 11320 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5078 /* 11324 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5079 /* 11327 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5080 /* 11331 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5081 /* 11335 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5082 /* 11339 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5083 /* 11341 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5084 /* 11348 */ // (mul:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMULLDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5085 /* 11348 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDrm),
5086 /* 11351 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5087 /* 11353 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5088 /* 11355 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5089 /* 11359 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5090 /* 11364 */ GIR_RootConstrainSelectedInstOperands,
5091 /* 11365 */ // GIR_Coverage, 23610,
5092 /* 11365 */ GIR_EraseRootFromParent_Done,
5093 /* 11366 */ // Label 381: @11366
5094 /* 11366 */ GIM_Try, /*On fail goto*//*Label 382*/ GIMT_Encode4(11428), // Rule ID 23880 //
5095 /* 11371 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
5096 /* 11374 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5097 /* 11378 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5098 /* 11382 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5099 /* 11386 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5100 /* 11389 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5101 /* 11393 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5102 /* 11397 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5103 /* 11401 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5104 /* 11403 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5105 /* 11410 */ // (mul:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMULLDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5106 /* 11410 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ128rm),
5107 /* 11413 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5108 /* 11415 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5109 /* 11417 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5110 /* 11421 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5111 /* 11426 */ GIR_RootConstrainSelectedInstOperands,
5112 /* 11427 */ // GIR_Coverage, 23880,
5113 /* 11427 */ GIR_EraseRootFromParent_Done,
5114 /* 11428 */ // Label 382: @11428
5115 /* 11428 */ GIM_Try, /*On fail goto*//*Label 383*/ GIMT_Encode4(11490), // Rule ID 3240 //
5116 /* 11433 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
5117 /* 11436 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5118 /* 11440 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5119 /* 11444 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5120 /* 11448 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5121 /* 11452 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5122 /* 11455 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5123 /* 11459 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5124 /* 11463 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5125 /* 11465 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5126 /* 11472 */ // (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5127 /* 11472 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDrm),
5128 /* 11475 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5129 /* 11477 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5130 /* 11479 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5131 /* 11483 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5132 /* 11488 */ GIR_RootConstrainSelectedInstOperands,
5133 /* 11489 */ // GIR_Coverage, 3240,
5134 /* 11489 */ GIR_EraseRootFromParent_Done,
5135 /* 11490 */ // Label 383: @11490
5136 /* 11490 */ GIM_Try, /*On fail goto*//*Label 384*/ GIMT_Encode4(11552), // Rule ID 4982 //
5137 /* 11495 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
5138 /* 11498 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5139 /* 11502 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5140 /* 11506 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5141 /* 11510 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5142 /* 11514 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5143 /* 11517 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5144 /* 11521 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5145 /* 11525 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5146 /* 11527 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5147 /* 11534 */ // (mul:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5148 /* 11534 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ128rm),
5149 /* 11537 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5150 /* 11539 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5151 /* 11541 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5152 /* 11545 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5153 /* 11550 */ GIR_RootConstrainSelectedInstOperands,
5154 /* 11551 */ // GIR_Coverage, 4982,
5155 /* 11551 */ GIR_EraseRootFromParent_Done,
5156 /* 11552 */ // Label 384: @11552
5157 /* 11552 */ GIM_Try, /*On fail goto*//*Label 385*/ GIMT_Encode4(11579), // Rule ID 3239 //
5158 /* 11557 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
5159 /* 11560 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5160 /* 11564 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5161 /* 11568 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5162 /* 11572 */ // (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMULLDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
5163 /* 11572 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDrr),
5164 /* 11577 */ GIR_RootConstrainSelectedInstOperands,
5165 /* 11578 */ // GIR_Coverage, 3239,
5166 /* 11578 */ GIR_Done,
5167 /* 11579 */ // Label 385: @11579
5168 /* 11579 */ GIM_Try, /*On fail goto*//*Label 386*/ GIMT_Encode4(11606), // Rule ID 3247 //
5169 /* 11584 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
5170 /* 11587 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5171 /* 11591 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5172 /* 11595 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5173 /* 11599 */ // (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMULLDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
5174 /* 11599 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMULLDrr),
5175 /* 11604 */ GIR_RootConstrainSelectedInstOperands,
5176 /* 11605 */ // GIR_Coverage, 3247,
5177 /* 11605 */ GIR_Done,
5178 /* 11606 */ // Label 386: @11606
5179 /* 11606 */ GIM_Try, /*On fail goto*//*Label 387*/ GIMT_Encode4(11633), // Rule ID 4979 //
5180 /* 11611 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
5181 /* 11614 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5182 /* 11618 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5183 /* 11622 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5184 /* 11626 */ // (mul:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMULLDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
5185 /* 11626 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ128rr),
5186 /* 11631 */ GIR_RootConstrainSelectedInstOperands,
5187 /* 11632 */ // GIR_Coverage, 4979,
5188 /* 11632 */ GIR_Done,
5189 /* 11633 */ // Label 387: @11633
5190 /* 11633 */ GIM_Reject,
5191 /* 11634 */ // Label 380: @11634
5192 /* 11634 */ GIM_Reject,
5193 /* 11635 */ // Label 346: @11635
5194 /* 11635 */ GIM_Try, /*On fail goto*//*Label 388*/ GIMT_Encode4(11951),
5195 /* 11640 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
5196 /* 11643 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
5197 /* 11646 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5198 /* 11650 */ GIM_Try, /*On fail goto*//*Label 389*/ GIMT_Encode4(11708), // Rule ID 23901 //
5199 /* 11655 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
5200 /* 11658 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5201 /* 11662 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5202 /* 11666 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5203 /* 11669 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5204 /* 11673 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5205 /* 11677 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5206 /* 11681 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5207 /* 11683 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5208 /* 11690 */ // (mul:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMULLQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5209 /* 11690 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ256rm),
5210 /* 11693 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5211 /* 11695 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5212 /* 11697 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5213 /* 11701 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5214 /* 11706 */ GIR_RootConstrainSelectedInstOperands,
5215 /* 11707 */ // GIR_Coverage, 23901,
5216 /* 11707 */ GIR_EraseRootFromParent_Done,
5217 /* 11708 */ // Label 389: @11708
5218 /* 11708 */ GIM_Try, /*On fail goto*//*Label 390*/ GIMT_Encode4(11766), // Rule ID 5018 //
5219 /* 11713 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
5220 /* 11716 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5221 /* 11720 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5222 /* 11724 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5223 /* 11728 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5224 /* 11731 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5225 /* 11735 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5226 /* 11739 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5227 /* 11741 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5228 /* 11748 */ // (mul:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5229 /* 11748 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ256rm),
5230 /* 11751 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5231 /* 11753 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5232 /* 11755 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5233 /* 11759 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5234 /* 11764 */ GIR_RootConstrainSelectedInstOperands,
5235 /* 11765 */ // GIR_Coverage, 5018,
5236 /* 11765 */ GIR_EraseRootFromParent_Done,
5237 /* 11766 */ // Label 390: @11766
5238 /* 11766 */ GIM_Try, /*On fail goto*//*Label 391*/ GIMT_Encode4(11789), // Rule ID 5015 //
5239 /* 11771 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
5240 /* 11774 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5241 /* 11778 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5242 /* 11782 */ // (mul:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMULLQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
5243 /* 11782 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ256rr),
5244 /* 11787 */ GIR_RootConstrainSelectedInstOperands,
5245 /* 11788 */ // GIR_Coverage, 5015,
5246 /* 11788 */ GIR_Done,
5247 /* 11789 */ // Label 391: @11789
5248 /* 11789 */ GIM_Try, /*On fail goto*//*Label 392*/ GIMT_Encode4(11950), // Rule ID 20005 //
5249 /* 11794 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoVLX),
5250 /* 11797 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5251 /* 11801 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5252 /* 11805 */ // (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] })
5253 /* 11805 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
5254 /* 11808 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
5255 /* 11812 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5256 /* 11817 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
5257 /* 11819 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
5258 /* 11822 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
5259 /* 11826 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5260 /* 11831 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
5261 /* 11834 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
5262 /* 11838 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
5263 /* 11841 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
5264 /* 11846 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5265 /* 11851 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
5266 /* 11856 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
5267 /* 11859 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
5268 /* 11863 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5269 /* 11868 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
5270 /* 11870 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
5271 /* 11873 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
5272 /* 11877 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5273 /* 11882 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
5274 /* 11885 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
5275 /* 11889 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
5276 /* 11892 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
5277 /* 11897 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5278 /* 11902 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
5279 /* 11907 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
5280 /* 11910 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrr),
5281 /* 11914 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5282 /* 11919 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5283 /* 11922 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
5284 /* 11925 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
5285 /* 11927 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5286 /* 11930 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5287 /* 11932 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
5288 /* 11939 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
5289 /* 11944 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5290 /* 11949 */ // GIR_Coverage, 20005,
5291 /* 11949 */ GIR_EraseRootFromParent_Done,
5292 /* 11950 */ // Label 392: @11950
5293 /* 11950 */ GIM_Reject,
5294 /* 11951 */ // Label 388: @11951
5295 /* 11951 */ GIM_Reject,
5296 /* 11952 */ // Label 347: @11952
5297 /* 11952 */ GIM_Try, /*On fail goto*//*Label 393*/ GIMT_Encode4(12293),
5298 /* 11957 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
5299 /* 11960 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
5300 /* 11963 */ GIM_Try, /*On fail goto*//*Label 394*/ GIMT_Encode4(12025), // Rule ID 23535 //
5301 /* 11968 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
5302 /* 11971 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5303 /* 11975 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5304 /* 11979 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5305 /* 11983 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5306 /* 11986 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5307 /* 11990 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5308 /* 11994 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5309 /* 11998 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5310 /* 12000 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5311 /* 12007 */ // (mul:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMULLWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5312 /* 12007 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWrm),
5313 /* 12010 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5314 /* 12012 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5315 /* 12014 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5316 /* 12018 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5317 /* 12023 */ GIR_RootConstrainSelectedInstOperands,
5318 /* 12024 */ // GIR_Coverage, 23535,
5319 /* 12024 */ GIR_EraseRootFromParent_Done,
5320 /* 12025 */ // Label 394: @12025
5321 /* 12025 */ GIM_Try, /*On fail goto*//*Label 395*/ GIMT_Encode4(12087), // Rule ID 23892 //
5322 /* 12030 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
5323 /* 12033 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5324 /* 12037 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5325 /* 12041 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5326 /* 12045 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5327 /* 12048 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5328 /* 12052 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5329 /* 12056 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5330 /* 12060 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5331 /* 12062 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5332 /* 12069 */ // (mul:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMULLWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5333 /* 12069 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ128rm),
5334 /* 12072 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5335 /* 12074 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5336 /* 12076 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5337 /* 12080 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5338 /* 12085 */ GIR_RootConstrainSelectedInstOperands,
5339 /* 12086 */ // GIR_Coverage, 23892,
5340 /* 12086 */ GIR_EraseRootFromParent_Done,
5341 /* 12087 */ // Label 395: @12087
5342 /* 12087 */ GIM_Try, /*On fail goto*//*Label 396*/ GIMT_Encode4(12149), // Rule ID 2571 //
5343 /* 12092 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
5344 /* 12095 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5345 /* 12099 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5346 /* 12103 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5347 /* 12107 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5348 /* 12111 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5349 /* 12114 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5350 /* 12118 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5351 /* 12122 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5352 /* 12124 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5353 /* 12131 */ // (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5354 /* 12131 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWrm),
5355 /* 12134 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5356 /* 12136 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5357 /* 12138 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5358 /* 12142 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5359 /* 12147 */ GIR_RootConstrainSelectedInstOperands,
5360 /* 12148 */ // GIR_Coverage, 2571,
5361 /* 12148 */ GIR_EraseRootFromParent_Done,
5362 /* 12149 */ // Label 396: @12149
5363 /* 12149 */ GIM_Try, /*On fail goto*//*Label 397*/ GIMT_Encode4(12211), // Rule ID 5003 //
5364 /* 12154 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
5365 /* 12157 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5366 /* 12161 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5367 /* 12165 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5368 /* 12169 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5369 /* 12173 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5370 /* 12176 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5371 /* 12180 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5372 /* 12184 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5373 /* 12186 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5374 /* 12193 */ // (mul:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5375 /* 12193 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ128rm),
5376 /* 12196 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5377 /* 12198 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5378 /* 12200 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5379 /* 12204 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5380 /* 12209 */ GIR_RootConstrainSelectedInstOperands,
5381 /* 12210 */ // GIR_Coverage, 5003,
5382 /* 12210 */ GIR_EraseRootFromParent_Done,
5383 /* 12211 */ // Label 397: @12211
5384 /* 12211 */ GIM_Try, /*On fail goto*//*Label 398*/ GIMT_Encode4(12238), // Rule ID 2570 //
5385 /* 12216 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
5386 /* 12219 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5387 /* 12223 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5388 /* 12227 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5389 /* 12231 */ // (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMULLWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
5390 /* 12231 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWrr),
5391 /* 12236 */ GIR_RootConstrainSelectedInstOperands,
5392 /* 12237 */ // GIR_Coverage, 2570,
5393 /* 12237 */ GIR_Done,
5394 /* 12238 */ // Label 398: @12238
5395 /* 12238 */ GIM_Try, /*On fail goto*//*Label 399*/ GIMT_Encode4(12265), // Rule ID 2572 //
5396 /* 12243 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
5397 /* 12246 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5398 /* 12250 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5399 /* 12254 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5400 /* 12258 */ // (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMULLWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
5401 /* 12258 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMULLWrr),
5402 /* 12263 */ GIR_RootConstrainSelectedInstOperands,
5403 /* 12264 */ // GIR_Coverage, 2572,
5404 /* 12264 */ GIR_Done,
5405 /* 12265 */ // Label 399: @12265
5406 /* 12265 */ GIM_Try, /*On fail goto*//*Label 400*/ GIMT_Encode4(12292), // Rule ID 5000 //
5407 /* 12270 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
5408 /* 12273 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5409 /* 12277 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5410 /* 12281 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5411 /* 12285 */ // (mul:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMULLWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
5412 /* 12285 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ128rr),
5413 /* 12290 */ GIR_RootConstrainSelectedInstOperands,
5414 /* 12291 */ // GIR_Coverage, 5000,
5415 /* 12291 */ GIR_Done,
5416 /* 12292 */ // Label 400: @12292
5417 /* 12292 */ GIM_Reject,
5418 /* 12293 */ // Label 393: @12293
5419 /* 12293 */ GIM_Reject,
5420 /* 12294 */ // Label 348: @12294
5421 /* 12294 */ GIM_Try, /*On fail goto*//*Label 401*/ GIMT_Encode4(12608),
5422 /* 12299 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
5423 /* 12302 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
5424 /* 12305 */ GIM_Try, /*On fail goto*//*Label 402*/ GIMT_Encode4(12367), // Rule ID 23612 //
5425 /* 12310 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
5426 /* 12313 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5427 /* 12317 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5428 /* 12321 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5429 /* 12325 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5430 /* 12328 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5431 /* 12332 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5432 /* 12336 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5433 /* 12340 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5434 /* 12342 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5435 /* 12349 */ // (mul:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMULLDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5436 /* 12349 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDYrm),
5437 /* 12352 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5438 /* 12354 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5439 /* 12356 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5440 /* 12360 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5441 /* 12365 */ GIR_RootConstrainSelectedInstOperands,
5442 /* 12366 */ // GIR_Coverage, 23612,
5443 /* 12366 */ GIR_EraseRootFromParent_Done,
5444 /* 12367 */ // Label 402: @12367
5445 /* 12367 */ GIM_Try, /*On fail goto*//*Label 403*/ GIMT_Encode4(12429), // Rule ID 23874 //
5446 /* 12372 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
5447 /* 12375 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5448 /* 12379 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5449 /* 12383 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5450 /* 12387 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5451 /* 12390 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5452 /* 12394 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5453 /* 12398 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5454 /* 12402 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5455 /* 12404 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5456 /* 12411 */ // (mul:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMULLDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5457 /* 12411 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ256rm),
5458 /* 12414 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5459 /* 12416 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5460 /* 12418 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5461 /* 12422 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5462 /* 12427 */ GIR_RootConstrainSelectedInstOperands,
5463 /* 12428 */ // GIR_Coverage, 23874,
5464 /* 12428 */ GIR_EraseRootFromParent_Done,
5465 /* 12429 */ // Label 403: @12429
5466 /* 12429 */ GIM_Try, /*On fail goto*//*Label 404*/ GIMT_Encode4(12491), // Rule ID 3244 //
5467 /* 12434 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
5468 /* 12437 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5469 /* 12441 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5470 /* 12445 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5471 /* 12449 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5472 /* 12453 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5473 /* 12456 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5474 /* 12460 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5475 /* 12464 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5476 /* 12466 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5477 /* 12473 */ // (mul:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5478 /* 12473 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDYrm),
5479 /* 12476 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5480 /* 12478 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5481 /* 12480 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5482 /* 12484 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5483 /* 12489 */ GIR_RootConstrainSelectedInstOperands,
5484 /* 12490 */ // GIR_Coverage, 3244,
5485 /* 12490 */ GIR_EraseRootFromParent_Done,
5486 /* 12491 */ // Label 404: @12491
5487 /* 12491 */ GIM_Try, /*On fail goto*//*Label 405*/ GIMT_Encode4(12553), // Rule ID 4973 //
5488 /* 12496 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
5489 /* 12499 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5490 /* 12503 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5491 /* 12507 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5492 /* 12511 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5493 /* 12515 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5494 /* 12518 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5495 /* 12522 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5496 /* 12526 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5497 /* 12528 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5498 /* 12535 */ // (mul:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5499 /* 12535 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ256rm),
5500 /* 12538 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5501 /* 12540 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5502 /* 12542 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5503 /* 12546 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5504 /* 12551 */ GIR_RootConstrainSelectedInstOperands,
5505 /* 12552 */ // GIR_Coverage, 4973,
5506 /* 12552 */ GIR_EraseRootFromParent_Done,
5507 /* 12553 */ // Label 405: @12553
5508 /* 12553 */ GIM_Try, /*On fail goto*//*Label 406*/ GIMT_Encode4(12580), // Rule ID 3243 //
5509 /* 12558 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
5510 /* 12561 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5511 /* 12565 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5512 /* 12569 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5513 /* 12573 */ // (mul:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMULLDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
5514 /* 12573 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDYrr),
5515 /* 12578 */ GIR_RootConstrainSelectedInstOperands,
5516 /* 12579 */ // GIR_Coverage, 3243,
5517 /* 12579 */ GIR_Done,
5518 /* 12580 */ // Label 406: @12580
5519 /* 12580 */ GIM_Try, /*On fail goto*//*Label 407*/ GIMT_Encode4(12607), // Rule ID 4970 //
5520 /* 12585 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
5521 /* 12588 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5522 /* 12592 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5523 /* 12596 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5524 /* 12600 */ // (mul:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMULLDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
5525 /* 12600 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ256rr),
5526 /* 12605 */ GIR_RootConstrainSelectedInstOperands,
5527 /* 12606 */ // GIR_Coverage, 4970,
5528 /* 12606 */ GIR_Done,
5529 /* 12607 */ // Label 407: @12607
5530 /* 12607 */ GIM_Reject,
5531 /* 12608 */ // Label 401: @12608
5532 /* 12608 */ GIM_Reject,
5533 /* 12609 */ // Label 349: @12609
5534 /* 12609 */ GIM_Try, /*On fail goto*//*Label 408*/ GIMT_Encode4(12764),
5535 /* 12614 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
5536 /* 12617 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
5537 /* 12620 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5538 /* 12624 */ GIM_Try, /*On fail goto*//*Label 409*/ GIMT_Encode4(12682), // Rule ID 23895 //
5539 /* 12629 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
5540 /* 12632 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5541 /* 12636 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5542 /* 12640 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5543 /* 12643 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5544 /* 12647 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5545 /* 12651 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5546 /* 12655 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5547 /* 12657 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5548 /* 12664 */ // (mul:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMULLQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5549 /* 12664 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrm),
5550 /* 12667 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5551 /* 12669 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5552 /* 12671 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5553 /* 12675 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5554 /* 12680 */ GIR_RootConstrainSelectedInstOperands,
5555 /* 12681 */ // GIR_Coverage, 23895,
5556 /* 12681 */ GIR_EraseRootFromParent_Done,
5557 /* 12682 */ // Label 409: @12682
5558 /* 12682 */ GIM_Try, /*On fail goto*//*Label 410*/ GIMT_Encode4(12740), // Rule ID 5009 //
5559 /* 12687 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
5560 /* 12690 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5561 /* 12694 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5562 /* 12698 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5563 /* 12702 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5564 /* 12705 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5565 /* 12709 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5566 /* 12713 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5567 /* 12715 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5568 /* 12722 */ // (mul:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5569 /* 12722 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrm),
5570 /* 12725 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5571 /* 12727 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5572 /* 12729 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5573 /* 12733 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5574 /* 12738 */ GIR_RootConstrainSelectedInstOperands,
5575 /* 12739 */ // GIR_Coverage, 5009,
5576 /* 12739 */ GIR_EraseRootFromParent_Done,
5577 /* 12740 */ // Label 410: @12740
5578 /* 12740 */ GIM_Try, /*On fail goto*//*Label 411*/ GIMT_Encode4(12763), // Rule ID 5006 //
5579 /* 12745 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
5580 /* 12748 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5581 /* 12752 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5582 /* 12756 */ // (mul:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMULLQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
5583 /* 12756 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrr),
5584 /* 12761 */ GIR_RootConstrainSelectedInstOperands,
5585 /* 12762 */ // GIR_Coverage, 5006,
5586 /* 12762 */ GIR_Done,
5587 /* 12763 */ // Label 411: @12763
5588 /* 12763 */ GIM_Reject,
5589 /* 12764 */ // Label 408: @12764
5590 /* 12764 */ GIM_Reject,
5591 /* 12765 */ // Label 350: @12765
5592 /* 12765 */ GIM_Try, /*On fail goto*//*Label 412*/ GIMT_Encode4(13079),
5593 /* 12770 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
5594 /* 12773 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
5595 /* 12776 */ GIM_Try, /*On fail goto*//*Label 413*/ GIMT_Encode4(12838), // Rule ID 23537 //
5596 /* 12781 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
5597 /* 12784 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5598 /* 12788 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5599 /* 12792 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5600 /* 12796 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5601 /* 12799 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5602 /* 12803 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5603 /* 12807 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5604 /* 12811 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5605 /* 12813 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5606 /* 12820 */ // (mul:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMULLWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5607 /* 12820 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWYrm),
5608 /* 12823 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5609 /* 12825 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5610 /* 12827 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5611 /* 12831 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5612 /* 12836 */ GIR_RootConstrainSelectedInstOperands,
5613 /* 12837 */ // GIR_Coverage, 23537,
5614 /* 12837 */ GIR_EraseRootFromParent_Done,
5615 /* 12838 */ // Label 413: @12838
5616 /* 12838 */ GIM_Try, /*On fail goto*//*Label 414*/ GIMT_Encode4(12900), // Rule ID 23889 //
5617 /* 12843 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
5618 /* 12846 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5619 /* 12850 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5620 /* 12854 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5621 /* 12858 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5622 /* 12861 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5623 /* 12865 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5624 /* 12869 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5625 /* 12873 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5626 /* 12875 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5627 /* 12882 */ // (mul:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMULLWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5628 /* 12882 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ256rm),
5629 /* 12885 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5630 /* 12887 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5631 /* 12889 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5632 /* 12893 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5633 /* 12898 */ GIR_RootConstrainSelectedInstOperands,
5634 /* 12899 */ // GIR_Coverage, 23889,
5635 /* 12899 */ GIR_EraseRootFromParent_Done,
5636 /* 12900 */ // Label 414: @12900
5637 /* 12900 */ GIM_Try, /*On fail goto*//*Label 415*/ GIMT_Encode4(12962), // Rule ID 2575 //
5638 /* 12905 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
5639 /* 12908 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5640 /* 12912 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5641 /* 12916 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5642 /* 12920 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5643 /* 12924 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5644 /* 12927 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5645 /* 12931 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5646 /* 12935 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5647 /* 12937 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5648 /* 12944 */ // (mul:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5649 /* 12944 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWYrm),
5650 /* 12947 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5651 /* 12949 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5652 /* 12951 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5653 /* 12955 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5654 /* 12960 */ GIR_RootConstrainSelectedInstOperands,
5655 /* 12961 */ // GIR_Coverage, 2575,
5656 /* 12961 */ GIR_EraseRootFromParent_Done,
5657 /* 12962 */ // Label 415: @12962
5658 /* 12962 */ GIM_Try, /*On fail goto*//*Label 416*/ GIMT_Encode4(13024), // Rule ID 4997 //
5659 /* 12967 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
5660 /* 12970 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5661 /* 12974 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5662 /* 12978 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5663 /* 12982 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5664 /* 12986 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5665 /* 12989 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5666 /* 12993 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5667 /* 12997 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5668 /* 12999 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5669 /* 13006 */ // (mul:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5670 /* 13006 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ256rm),
5671 /* 13009 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5672 /* 13011 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5673 /* 13013 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5674 /* 13017 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5675 /* 13022 */ GIR_RootConstrainSelectedInstOperands,
5676 /* 13023 */ // GIR_Coverage, 4997,
5677 /* 13023 */ GIR_EraseRootFromParent_Done,
5678 /* 13024 */ // Label 416: @13024
5679 /* 13024 */ GIM_Try, /*On fail goto*//*Label 417*/ GIMT_Encode4(13051), // Rule ID 2574 //
5680 /* 13029 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
5681 /* 13032 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5682 /* 13036 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5683 /* 13040 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5684 /* 13044 */ // (mul:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMULLWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
5685 /* 13044 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWYrr),
5686 /* 13049 */ GIR_RootConstrainSelectedInstOperands,
5687 /* 13050 */ // GIR_Coverage, 2574,
5688 /* 13050 */ GIR_Done,
5689 /* 13051 */ // Label 417: @13051
5690 /* 13051 */ GIM_Try, /*On fail goto*//*Label 418*/ GIMT_Encode4(13078), // Rule ID 4994 //
5691 /* 13056 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
5692 /* 13059 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5693 /* 13063 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5694 /* 13067 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5695 /* 13071 */ // (mul:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMULLWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
5696 /* 13071 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ256rr),
5697 /* 13076 */ GIR_RootConstrainSelectedInstOperands,
5698 /* 13077 */ // GIR_Coverage, 4994,
5699 /* 13077 */ GIR_Done,
5700 /* 13078 */ // Label 418: @13078
5701 /* 13078 */ GIM_Reject,
5702 /* 13079 */ // Label 412: @13079
5703 /* 13079 */ GIM_Reject,
5704 /* 13080 */ // Label 351: @13080
5705 /* 13080 */ GIM_Try, /*On fail goto*//*Label 419*/ GIMT_Encode4(13235),
5706 /* 13085 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
5707 /* 13088 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
5708 /* 13091 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5709 /* 13095 */ GIM_Try, /*On fail goto*//*Label 420*/ GIMT_Encode4(13153), // Rule ID 23868 //
5710 /* 13100 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
5711 /* 13103 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5712 /* 13107 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5713 /* 13111 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5714 /* 13114 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5715 /* 13118 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5716 /* 13122 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5717 /* 13126 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5718 /* 13128 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5719 /* 13135 */ // (mul:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMULLDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5720 /* 13135 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZrm),
5721 /* 13138 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5722 /* 13140 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5723 /* 13142 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5724 /* 13146 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5725 /* 13151 */ GIR_RootConstrainSelectedInstOperands,
5726 /* 13152 */ // GIR_Coverage, 23868,
5727 /* 13152 */ GIR_EraseRootFromParent_Done,
5728 /* 13153 */ // Label 420: @13153
5729 /* 13153 */ GIM_Try, /*On fail goto*//*Label 421*/ GIMT_Encode4(13211), // Rule ID 4964 //
5730 /* 13158 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
5731 /* 13161 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5732 /* 13165 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5733 /* 13169 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5734 /* 13173 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5735 /* 13176 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5736 /* 13180 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5737 /* 13184 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5738 /* 13186 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5739 /* 13193 */ // (mul:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5740 /* 13193 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZrm),
5741 /* 13196 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5742 /* 13198 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5743 /* 13200 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5744 /* 13204 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5745 /* 13209 */ GIR_RootConstrainSelectedInstOperands,
5746 /* 13210 */ // GIR_Coverage, 4964,
5747 /* 13210 */ GIR_EraseRootFromParent_Done,
5748 /* 13211 */ // Label 421: @13211
5749 /* 13211 */ GIM_Try, /*On fail goto*//*Label 422*/ GIMT_Encode4(13234), // Rule ID 4961 //
5750 /* 13216 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
5751 /* 13219 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5752 /* 13223 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5753 /* 13227 */ // (mul:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMULLDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
5754 /* 13227 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDZrr),
5755 /* 13232 */ GIR_RootConstrainSelectedInstOperands,
5756 /* 13233 */ // GIR_Coverage, 4961,
5757 /* 13233 */ GIR_Done,
5758 /* 13234 */ // Label 422: @13234
5759 /* 13234 */ GIM_Reject,
5760 /* 13235 */ // Label 419: @13235
5761 /* 13235 */ GIM_Reject,
5762 /* 13236 */ // Label 352: @13236
5763 /* 13236 */ GIM_Try, /*On fail goto*//*Label 423*/ GIMT_Encode4(13391),
5764 /* 13241 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
5765 /* 13244 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
5766 /* 13247 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5767 /* 13251 */ GIM_Try, /*On fail goto*//*Label 424*/ GIMT_Encode4(13309), // Rule ID 23886 //
5768 /* 13256 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
5769 /* 13259 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5770 /* 13263 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5771 /* 13267 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5772 /* 13270 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5773 /* 13274 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5774 /* 13278 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5775 /* 13282 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5776 /* 13284 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5777 /* 13291 */ // (mul:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMULLWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5778 /* 13291 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZrm),
5779 /* 13294 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5780 /* 13296 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5781 /* 13298 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5782 /* 13302 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5783 /* 13307 */ GIR_RootConstrainSelectedInstOperands,
5784 /* 13308 */ // GIR_Coverage, 23886,
5785 /* 13308 */ GIR_EraseRootFromParent_Done,
5786 /* 13309 */ // Label 424: @13309
5787 /* 13309 */ GIM_Try, /*On fail goto*//*Label 425*/ GIMT_Encode4(13367), // Rule ID 4991 //
5788 /* 13314 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
5789 /* 13317 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5790 /* 13321 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5791 /* 13325 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5792 /* 13329 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5793 /* 13332 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5794 /* 13336 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5795 /* 13340 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5796 /* 13342 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5797 /* 13349 */ // (mul:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5798 /* 13349 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZrm),
5799 /* 13352 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5800 /* 13354 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5801 /* 13356 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5802 /* 13360 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5803 /* 13365 */ GIR_RootConstrainSelectedInstOperands,
5804 /* 13366 */ // GIR_Coverage, 4991,
5805 /* 13366 */ GIR_EraseRootFromParent_Done,
5806 /* 13367 */ // Label 425: @13367
5807 /* 13367 */ GIM_Try, /*On fail goto*//*Label 426*/ GIMT_Encode4(13390), // Rule ID 4988 //
5808 /* 13372 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
5809 /* 13375 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5810 /* 13379 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5811 /* 13383 */ // (mul:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMULLWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
5812 /* 13383 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWZrr),
5813 /* 13388 */ GIR_RootConstrainSelectedInstOperands,
5814 /* 13389 */ // GIR_Coverage, 4988,
5815 /* 13389 */ GIR_Done,
5816 /* 13390 */ // Label 426: @13390
5817 /* 13390 */ GIM_Reject,
5818 /* 13391 */ // Label 423: @13391
5819 /* 13391 */ GIM_Reject,
5820 /* 13392 */ // Label 353: @13392
5821 /* 13392 */ GIM_Reject,
5822 /* 13393 */ // Label 3: @13393
5823 /* 13393 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(25), /*)*//*default:*//*Label 450*/ GIMT_Encode4(23468),
5824 /* 13404 */ /*GILLT_s1*//*Label 427*/ GIMT_Encode4(13504),
5825 /* 13408 */ /*GILLT_s8*//*Label 428*/ GIMT_Encode4(13850),
5826 /* 13412 */ /*GILLT_s16*//*Label 429*/ GIMT_Encode4(14121),
5827 /* 13416 */ /*GILLT_s32*//*Label 430*/ GIMT_Encode4(14684),
5828 /* 13420 */ /*GILLT_s64*//*Label 431*/ GIMT_Encode4(16374), GIMT_Encode4(0), GIMT_Encode4(0),
5829 /* 13432 */ /*GILLT_v2s1*//*Label 432*/ GIMT_Encode4(17942),
5830 /* 13436 */ /*GILLT_v2s64*//*Label 433*/ GIMT_Encode4(18288),
5831 /* 13440 */ /*GILLT_v4s1*//*Label 434*/ GIMT_Encode4(18630),
5832 /* 13444 */ /*GILLT_v4s32*//*Label 435*/ GIMT_Encode4(18976),
5833 /* 13448 */ /*GILLT_v4s64*//*Label 436*/ GIMT_Encode4(19318),
5834 /* 13452 */ /*GILLT_v8s1*//*Label 437*/ GIMT_Encode4(19784),
5835 /* 13456 */ /*GILLT_v8s16*//*Label 438*/ GIMT_Encode4(20282),
5836 /* 13460 */ /*GILLT_v8s32*//*Label 439*/ GIMT_Encode4(20624),
5837 /* 13464 */ /*GILLT_v8s64*//*Label 440*/ GIMT_Encode4(21090),
5838 /* 13468 */ /*GILLT_v16s1*//*Label 441*/ GIMT_Encode4(21246),
5839 /* 13472 */ /*GILLT_v16s8*//*Label 442*/ GIMT_Encode4(21406),
5840 /* 13476 */ /*GILLT_v16s16*//*Label 443*/ GIMT_Encode4(21748),
5841 /* 13480 */ /*GILLT_v16s32*//*Label 444*/ GIMT_Encode4(22214),
5842 /* 13484 */ /*GILLT_v32s1*//*Label 445*/ GIMT_Encode4(22370),
5843 /* 13488 */ /*GILLT_v32s8*//*Label 446*/ GIMT_Encode4(22530),
5844 /* 13492 */ /*GILLT_v32s16*//*Label 447*/ GIMT_Encode4(22996),
5845 /* 13496 */ /*GILLT_v64s1*//*Label 448*/ GIMT_Encode4(23152),
5846 /* 13500 */ /*GILLT_v64s8*//*Label 449*/ GIMT_Encode4(23312),
5847 /* 13504 */ // Label 427: @13504
5848 /* 13504 */ GIM_Try, /*On fail goto*//*Label 451*/ GIMT_Encode4(13849),
5849 /* 13509 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s1,
5850 /* 13512 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s1,
5851 /* 13515 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
5852 /* 13519 */ GIM_Try, /*On fail goto*//*Label 452*/ GIMT_Encode4(13639), // Rule ID 19486 //
5853 /* 13524 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5854 /* 13528 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
5855 /* 13532 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
5856 /* 13536 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
5857 /* 13540 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
5858 /* 13545 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
5859 /* 13549 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
5860 /* 13555 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
5861 /* 13557 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
5862 /* 13561 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
5863 /* 13563 */ // (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] })
5864 /* 13563 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
5865 /* 13566 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5866 /* 13570 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5867 /* 13575 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
5868 /* 13579 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
5869 /* 13584 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
5870 /* 13587 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5871 /* 13591 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5872 /* 13596 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
5873 /* 13600 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
5874 /* 13605 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
5875 /* 13608 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
5876 /* 13612 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5877 /* 13617 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5878 /* 13620 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
5879 /* 13623 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
5880 /* 13625 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5881 /* 13628 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5882 /* 13630 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
5883 /* 13633 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
5884 /* 13638 */ // GIR_Coverage, 19486,
5885 /* 13638 */ GIR_EraseRootFromParent_Done,
5886 /* 13639 */ // Label 452: @13639
5887 /* 13639 */ GIM_Try, /*On fail goto*//*Label 453*/ GIMT_Encode4(13759), // Rule ID 25449 //
5888 /* 13644 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
5889 /* 13648 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5890 /* 13652 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
5891 /* 13656 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
5892 /* 13660 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
5893 /* 13664 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
5894 /* 13669 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
5895 /* 13673 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
5896 /* 13679 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
5897 /* 13681 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
5898 /* 13683 */ // (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] })
5899 /* 13683 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
5900 /* 13686 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5901 /* 13690 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5902 /* 13695 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
5903 /* 13699 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
5904 /* 13704 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
5905 /* 13707 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5906 /* 13711 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5907 /* 13716 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
5908 /* 13720 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
5909 /* 13725 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
5910 /* 13728 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
5911 /* 13732 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5912 /* 13737 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5913 /* 13740 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
5914 /* 13743 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
5915 /* 13745 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5916 /* 13748 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5917 /* 13750 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
5918 /* 13753 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
5919 /* 13758 */ // GIR_Coverage, 25449,
5920 /* 13758 */ GIR_EraseRootFromParent_Done,
5921 /* 13759 */ // Label 453: @13759
5922 /* 13759 */ GIM_Try, /*On fail goto*//*Label 454*/ GIMT_Encode4(13848), // Rule ID 19482 //
5923 /* 13764 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
5924 /* 13768 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
5925 /* 13772 */ // (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] })
5926 /* 13772 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
5927 /* 13775 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5928 /* 13779 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5929 /* 13784 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
5930 /* 13788 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
5931 /* 13793 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
5932 /* 13796 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5933 /* 13800 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5934 /* 13805 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
5935 /* 13809 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
5936 /* 13814 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
5937 /* 13817 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
5938 /* 13821 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5939 /* 13826 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5940 /* 13829 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
5941 /* 13832 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
5942 /* 13834 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5943 /* 13837 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5944 /* 13839 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
5945 /* 13842 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
5946 /* 13847 */ // GIR_Coverage, 19482,
5947 /* 13847 */ GIR_EraseRootFromParent_Done,
5948 /* 13848 */ // Label 454: @13848
5949 /* 13848 */ GIM_Reject,
5950 /* 13849 */ // Label 451: @13849
5951 /* 13849 */ GIM_Reject,
5952 /* 13850 */ // Label 428: @13850
5953 /* 13850 */ GIM_Try, /*On fail goto*//*Label 455*/ GIMT_Encode4(14120),
5954 /* 13855 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
5955 /* 13858 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
5956 /* 13861 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
5957 /* 13865 */ GIM_Try, /*On fail goto*//*Label 456*/ GIMT_Encode4(13926), // Rule ID 26151 //
5958 /* 13870 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
5959 /* 13873 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5960 /* 13877 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5961 /* 13881 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5962 /* 13884 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5963 /* 13888 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
5964 /* 13892 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
5965 /* 13896 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5966 /* 13898 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5967 /* 13905 */ // (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)
5968 /* 13905 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8rm),
5969 /* 13908 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5970 /* 13910 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5971 /* 13912 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5972 /* 13916 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5973 /* 13919 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5974 /* 13924 */ GIR_RootConstrainSelectedInstOperands,
5975 /* 13925 */ // GIR_Coverage, 26151,
5976 /* 13925 */ GIR_EraseRootFromParent_Done,
5977 /* 13926 */ // Label 456: @13926
5978 /* 13926 */ GIM_Try, /*On fail goto*//*Label 457*/ GIMT_Encode4(13987), // Rule ID 22934 //
5979 /* 13931 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
5980 /* 13934 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
5981 /* 13938 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5982 /* 13942 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5983 /* 13946 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5984 /* 13949 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5985 /* 13953 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
5986 /* 13957 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5987 /* 13959 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5988 /* 13966 */ // (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)
5989 /* 13966 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8rm),
5990 /* 13969 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5991 /* 13971 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5992 /* 13973 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5993 /* 13977 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5994 /* 13980 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5995 /* 13985 */ GIR_RootConstrainSelectedInstOperands,
5996 /* 13986 */ // GIR_Coverage, 22934,
5997 /* 13986 */ GIR_EraseRootFromParent_Done,
5998 /* 13987 */ // Label 457: @13987
5999 /* 13987 */ GIM_Try, /*On fail goto*//*Label 458*/ GIMT_Encode4(14024), // Rule ID 22938 //
6000 /* 13992 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6001 /* 13995 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6002 /* 13999 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6003 /* 14003 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6004 /* 14007 */ // MIs[1] Operand 1
6005 /* 14007 */ // No operand predicates
6006 /* 14007 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6007 /* 14009 */ // (and:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (AND8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
6008 /* 14009 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8ri),
6009 /* 14012 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6010 /* 14014 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6011 /* 14016 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6012 /* 14019 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6013 /* 14022 */ GIR_RootConstrainSelectedInstOperands,
6014 /* 14023 */ // GIR_Coverage, 22938,
6015 /* 14023 */ GIR_EraseRootFromParent_Done,
6016 /* 14024 */ // Label 458: @14024
6017 /* 14024 */ GIM_Try, /*On fail goto*//*Label 459*/ GIMT_Encode4(14061), // Rule ID 23028 //
6018 /* 14029 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6019 /* 14032 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6020 /* 14036 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6021 /* 14040 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6022 /* 14044 */ // MIs[1] Operand 1
6023 /* 14044 */ // No operand predicates
6024 /* 14044 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6025 /* 14046 */ // (and:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (AND8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
6026 /* 14046 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8ri_ND),
6027 /* 14049 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6028 /* 14051 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6029 /* 14053 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6030 /* 14056 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6031 /* 14059 */ GIR_RootConstrainSelectedInstOperands,
6032 /* 14060 */ // GIR_Coverage, 23028,
6033 /* 14060 */ GIR_EraseRootFromParent_Done,
6034 /* 14061 */ // Label 459: @14061
6035 /* 14061 */ GIM_Try, /*On fail goto*//*Label 460*/ GIMT_Encode4(14090), // Rule ID 22930 //
6036 /* 14066 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6037 /* 14069 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6038 /* 14073 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6039 /* 14077 */ // (and:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (AND8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
6040 /* 14077 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND8rr),
6041 /* 14082 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
6042 /* 14088 */ GIR_RootConstrainSelectedInstOperands,
6043 /* 14089 */ // GIR_Coverage, 22930,
6044 /* 14089 */ GIR_Done,
6045 /* 14090 */ // Label 460: @14090
6046 /* 14090 */ GIM_Try, /*On fail goto*//*Label 461*/ GIMT_Encode4(14119), // Rule ID 23020 //
6047 /* 14095 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6048 /* 14098 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6049 /* 14102 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6050 /* 14106 */ // (and:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (AND8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
6051 /* 14106 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND8rr_ND),
6052 /* 14111 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
6053 /* 14117 */ GIR_RootConstrainSelectedInstOperands,
6054 /* 14118 */ // GIR_Coverage, 23020,
6055 /* 14118 */ GIR_Done,
6056 /* 14119 */ // Label 461: @14119
6057 /* 14119 */ GIM_Reject,
6058 /* 14120 */ // Label 455: @14120
6059 /* 14120 */ GIM_Reject,
6060 /* 14121 */ // Label 429: @14121
6061 /* 14121 */ GIM_Try, /*On fail goto*//*Label 462*/ GIMT_Encode4(14683),
6062 /* 14126 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
6063 /* 14129 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
6064 /* 14132 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6065 /* 14136 */ GIM_Try, /*On fail goto*//*Label 463*/ GIMT_Encode4(14197), // Rule ID 26152 //
6066 /* 14141 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6067 /* 14144 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6068 /* 14148 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6069 /* 14152 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6070 /* 14155 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6071 /* 14159 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
6072 /* 14163 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6073 /* 14167 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6074 /* 14169 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6075 /* 14176 */ // (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)
6076 /* 14176 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16rm),
6077 /* 14179 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6078 /* 14181 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6079 /* 14183 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6080 /* 14187 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6081 /* 14190 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6082 /* 14195 */ GIR_RootConstrainSelectedInstOperands,
6083 /* 14196 */ // GIR_Coverage, 26152,
6084 /* 14196 */ GIR_EraseRootFromParent_Done,
6085 /* 14197 */ // Label 463: @14197
6086 /* 14197 */ GIM_Try, /*On fail goto*//*Label 464*/ GIMT_Encode4(14258), // Rule ID 22935 //
6087 /* 14202 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6088 /* 14205 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6089 /* 14209 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6090 /* 14213 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6091 /* 14217 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6092 /* 14220 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6093 /* 14224 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
6094 /* 14228 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6095 /* 14230 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6096 /* 14237 */ // (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)
6097 /* 14237 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16rm),
6098 /* 14240 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6099 /* 14242 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6100 /* 14244 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6101 /* 14248 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6102 /* 14251 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6103 /* 14256 */ GIR_RootConstrainSelectedInstOperands,
6104 /* 14257 */ // GIR_Coverage, 22935,
6105 /* 14257 */ GIR_EraseRootFromParent_Done,
6106 /* 14258 */ // Label 464: @14258
6107 /* 14258 */ GIM_Try, /*On fail goto*//*Label 465*/ GIMT_Encode4(14360), // Rule ID 26118 //
6108 /* 14263 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6109 /* 14267 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
6110 /* 14271 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
6111 /* 14275 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
6112 /* 14279 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
6113 /* 14283 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6114 /* 14288 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6115 /* 14292 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6116 /* 14294 */ // (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] }))
6117 /* 14294 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
6118 /* 14297 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
6119 /* 14301 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6120 /* 14306 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
6121 /* 14308 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
6122 /* 14311 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
6123 /* 14315 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6124 /* 14320 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6125 /* 14323 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
6126 /* 14327 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
6127 /* 14330 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
6128 /* 14335 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
6129 /* 14340 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
6130 /* 14345 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR16rr),
6131 /* 14348 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6132 /* 14350 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6133 /* 14352 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6134 /* 14355 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6135 /* 14358 */ GIR_RootConstrainSelectedInstOperands,
6136 /* 14359 */ // GIR_Coverage, 26118,
6137 /* 14359 */ GIR_EraseRootFromParent_Done,
6138 /* 14360 */ // Label 465: @14360
6139 /* 14360 */ GIM_Try, /*On fail goto*//*Label 466*/ GIMT_Encode4(14462), // Rule ID 22856 //
6140 /* 14365 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6141 /* 14369 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6142 /* 14373 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
6143 /* 14377 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
6144 /* 14381 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
6145 /* 14385 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
6146 /* 14389 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6147 /* 14394 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6148 /* 14396 */ // (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] }))
6149 /* 14396 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
6150 /* 14399 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
6151 /* 14403 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6152 /* 14408 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
6153 /* 14410 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
6154 /* 14413 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
6155 /* 14417 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6156 /* 14422 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6157 /* 14425 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
6158 /* 14429 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
6159 /* 14432 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
6160 /* 14437 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
6161 /* 14442 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
6162 /* 14447 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR16rr),
6163 /* 14450 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6164 /* 14452 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6165 /* 14454 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6166 /* 14457 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6167 /* 14460 */ GIR_RootConstrainSelectedInstOperands,
6168 /* 14461 */ // GIR_Coverage, 22856,
6169 /* 14461 */ GIR_EraseRootFromParent_Done,
6170 /* 14462 */ // Label 466: @14462
6171 /* 14462 */ GIM_Try, /*On fail goto*//*Label 467*/ GIMT_Encode4(14550), // Rule ID 22716 //
6172 /* 14467 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6173 /* 14471 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(255),
6174 /* 14482 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, 255:{ *:[i16] }) => (EXTRACT_SUBREG:{ *:[i16] } (MOVZX32rr8:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i8] } GR16:{ *:[i16] }:$src1, sub_8bit:{ *:[i32] })), sub_16bit:{ *:[i32] })
6175 /* 14482 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s8,
6176 /* 14485 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6177 /* 14489 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6178 /* 14494 */ GIR_CopySubReg, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src1
6179 /* 14500 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
6180 /* 14505 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
6181 /* 14510 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
6182 /* 14513 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
6183 /* 14517 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6184 /* 14522 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6185 /* 14525 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
6186 /* 14527 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6187 /* 14530 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6188 /* 14532 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
6189 /* 14539 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
6190 /* 14544 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
6191 /* 14549 */ // GIR_Coverage, 22716,
6192 /* 14549 */ GIR_EraseRootFromParent_Done,
6193 /* 14550 */ // Label 467: @14550
6194 /* 14550 */ GIM_Try, /*On fail goto*//*Label 468*/ GIMT_Encode4(14587), // Rule ID 22939 //
6195 /* 14555 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6196 /* 14558 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6197 /* 14562 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6198 /* 14566 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6199 /* 14570 */ // MIs[1] Operand 1
6200 /* 14570 */ // No operand predicates
6201 /* 14570 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6202 /* 14572 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (AND16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
6203 /* 14572 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16ri),
6204 /* 14575 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6205 /* 14577 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6206 /* 14579 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6207 /* 14582 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6208 /* 14585 */ GIR_RootConstrainSelectedInstOperands,
6209 /* 14586 */ // GIR_Coverage, 22939,
6210 /* 14586 */ GIR_EraseRootFromParent_Done,
6211 /* 14587 */ // Label 468: @14587
6212 /* 14587 */ GIM_Try, /*On fail goto*//*Label 469*/ GIMT_Encode4(14624), // Rule ID 23029 //
6213 /* 14592 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6214 /* 14595 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6215 /* 14599 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6216 /* 14603 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6217 /* 14607 */ // MIs[1] Operand 1
6218 /* 14607 */ // No operand predicates
6219 /* 14607 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6220 /* 14609 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (AND16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
6221 /* 14609 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16ri_ND),
6222 /* 14612 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6223 /* 14614 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6224 /* 14616 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6225 /* 14619 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6226 /* 14622 */ GIR_RootConstrainSelectedInstOperands,
6227 /* 14623 */ // GIR_Coverage, 23029,
6228 /* 14623 */ GIR_EraseRootFromParent_Done,
6229 /* 14624 */ // Label 469: @14624
6230 /* 14624 */ GIM_Try, /*On fail goto*//*Label 470*/ GIMT_Encode4(14653), // Rule ID 22931 //
6231 /* 14629 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6232 /* 14632 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6233 /* 14636 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6234 /* 14640 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (AND16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
6235 /* 14640 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND16rr),
6236 /* 14645 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
6237 /* 14651 */ GIR_RootConstrainSelectedInstOperands,
6238 /* 14652 */ // GIR_Coverage, 22931,
6239 /* 14652 */ GIR_Done,
6240 /* 14653 */ // Label 470: @14653
6241 /* 14653 */ GIM_Try, /*On fail goto*//*Label 471*/ GIMT_Encode4(14682), // Rule ID 23021 //
6242 /* 14658 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6243 /* 14661 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6244 /* 14665 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6245 /* 14669 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (AND16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
6246 /* 14669 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND16rr_ND),
6247 /* 14674 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
6248 /* 14680 */ GIR_RootConstrainSelectedInstOperands,
6249 /* 14681 */ // GIR_Coverage, 23021,
6250 /* 14681 */ GIR_Done,
6251 /* 14682 */ // Label 471: @14682
6252 /* 14682 */ GIM_Reject,
6253 /* 14683 */ // Label 462: @14683
6254 /* 14683 */ GIM_Reject,
6255 /* 14684 */ // Label 430: @14684
6256 /* 14684 */ GIM_Try, /*On fail goto*//*Label 472*/ GIMT_Encode4(16373),
6257 /* 14689 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
6258 /* 14692 */ GIM_Try, /*On fail goto*//*Label 473*/ GIMT_Encode4(14784), // Rule ID 17536 //
6259 /* 14697 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
6260 /* 14700 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6261 /* 14703 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6262 /* 14707 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6263 /* 14711 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6264 /* 14715 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6265 /* 14719 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6266 /* 14723 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6267 /* 14728 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6268 /* 14732 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6269 /* 14736 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
6270 /* 14740 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6271 /* 14743 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
6272 /* 14747 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6273 /* 14751 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6274 /* 14753 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6275 /* 14760 */ // (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)
6276 /* 14760 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rm),
6277 /* 14763 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6278 /* 14765 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6279 /* 14769 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6280 /* 14773 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6281 /* 14776 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6282 /* 14782 */ GIR_RootConstrainSelectedInstOperands,
6283 /* 14783 */ // GIR_Coverage, 17536,
6284 /* 14783 */ GIR_EraseRootFromParent_Done,
6285 /* 14784 */ // Label 473: @14784
6286 /* 14784 */ GIM_Try, /*On fail goto*//*Label 474*/ GIMT_Encode4(14876), // Rule ID 17540 //
6287 /* 14789 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
6288 /* 14792 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6289 /* 14795 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6290 /* 14799 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6291 /* 14803 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6292 /* 14807 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6293 /* 14811 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6294 /* 14815 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6295 /* 14820 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6296 /* 14824 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6297 /* 14828 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
6298 /* 14832 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6299 /* 14835 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
6300 /* 14839 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6301 /* 14843 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6302 /* 14845 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6303 /* 14852 */ // (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)
6304 /* 14852 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rm_EVEX),
6305 /* 14855 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6306 /* 14857 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6307 /* 14861 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6308 /* 14865 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6309 /* 14868 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6310 /* 14874 */ GIR_RootConstrainSelectedInstOperands,
6311 /* 14875 */ // GIR_Coverage, 17540,
6312 /* 14875 */ GIR_EraseRootFromParent_Done,
6313 /* 14876 */ // Label 474: @14876
6314 /* 14876 */ GIM_Try, /*On fail goto*//*Label 475*/ GIMT_Encode4(14968), // Rule ID 25185 //
6315 /* 14881 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
6316 /* 14884 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6317 /* 14887 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6318 /* 14891 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6319 /* 14895 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6320 /* 14899 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6321 /* 14902 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6322 /* 14906 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6323 /* 14910 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6324 /* 14914 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6325 /* 14918 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
6326 /* 14922 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6327 /* 14926 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6328 /* 14931 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6329 /* 14935 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6330 /* 14937 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6331 /* 14944 */ // (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)
6332 /* 14944 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rm),
6333 /* 14947 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6334 /* 14949 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src1
6335 /* 14953 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6336 /* 14957 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6337 /* 14960 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6338 /* 14966 */ GIR_RootConstrainSelectedInstOperands,
6339 /* 14967 */ // GIR_Coverage, 25185,
6340 /* 14967 */ GIR_EraseRootFromParent_Done,
6341 /* 14968 */ // Label 475: @14968
6342 /* 14968 */ GIM_Try, /*On fail goto*//*Label 476*/ GIMT_Encode4(15060), // Rule ID 25189 //
6343 /* 14973 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
6344 /* 14976 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6345 /* 14979 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6346 /* 14983 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6347 /* 14987 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6348 /* 14991 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6349 /* 14994 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6350 /* 14998 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6351 /* 15002 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6352 /* 15006 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6353 /* 15010 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
6354 /* 15014 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6355 /* 15018 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6356 /* 15023 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6357 /* 15027 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6358 /* 15029 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6359 /* 15036 */ // (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)
6360 /* 15036 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rm_EVEX),
6361 /* 15039 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6362 /* 15041 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src1
6363 /* 15045 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6364 /* 15049 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6365 /* 15052 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6366 /* 15058 */ GIR_RootConstrainSelectedInstOperands,
6367 /* 15059 */ // GIR_Coverage, 25189,
6368 /* 15059 */ GIR_EraseRootFromParent_Done,
6369 /* 15060 */ // Label 476: @15060
6370 /* 15060 */ GIM_Try, /*On fail goto*//*Label 477*/ GIMT_Encode4(15128), // Rule ID 26153 //
6371 /* 15065 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6372 /* 15068 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6373 /* 15071 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6374 /* 15075 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6375 /* 15079 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6376 /* 15083 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6377 /* 15086 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6378 /* 15090 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6379 /* 15094 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6380 /* 15098 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6381 /* 15100 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6382 /* 15107 */ // (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)
6383 /* 15107 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32rm),
6384 /* 15110 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6385 /* 15112 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6386 /* 15114 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6387 /* 15118 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6388 /* 15121 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6389 /* 15126 */ GIR_RootConstrainSelectedInstOperands,
6390 /* 15127 */ // GIR_Coverage, 26153,
6391 /* 15127 */ GIR_EraseRootFromParent_Done,
6392 /* 15128 */ // Label 477: @15128
6393 /* 15128 */ GIM_Try, /*On fail goto*//*Label 478*/ GIMT_Encode4(15196), // Rule ID 22936 //
6394 /* 15133 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6395 /* 15136 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6396 /* 15139 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6397 /* 15143 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6398 /* 15147 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6399 /* 15151 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6400 /* 15155 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6401 /* 15158 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6402 /* 15162 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6403 /* 15166 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6404 /* 15168 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6405 /* 15175 */ // (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)
6406 /* 15175 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32rm),
6407 /* 15178 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6408 /* 15180 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6409 /* 15182 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6410 /* 15186 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6411 /* 15189 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6412 /* 15194 */ GIR_RootConstrainSelectedInstOperands,
6413 /* 15195 */ // GIR_Coverage, 22936,
6414 /* 15195 */ GIR_EraseRootFromParent_Done,
6415 /* 15196 */ // Label 478: @15196
6416 /* 15196 */ GIM_Try, /*On fail goto*//*Label 479*/ GIMT_Encode4(15273), // Rule ID 25077 //
6417 /* 15201 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
6418 /* 15204 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6419 /* 15207 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6420 /* 15211 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6421 /* 15215 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
6422 /* 15219 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6423 /* 15223 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6424 /* 15227 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6425 /* 15232 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
6426 /* 15236 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6427 /* 15240 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6428 /* 15244 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6429 /* 15248 */ // MIs[2] src
6430 /* 15248 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
6431 /* 15253 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6432 /* 15257 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6433 /* 15259 */ // (and:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (BLCIC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
6434 /* 15259 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCIC32rr),
6435 /* 15262 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6436 /* 15264 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6437 /* 15268 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6438 /* 15271 */ GIR_RootConstrainSelectedInstOperands,
6439 /* 15272 */ // GIR_Coverage, 25077,
6440 /* 15272 */ GIR_EraseRootFromParent_Done,
6441 /* 15273 */ // Label 479: @15273
6442 /* 15273 */ GIM_Try, /*On fail goto*//*Label 480*/ GIMT_Encode4(15350), // Rule ID 25089 //
6443 /* 15278 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
6444 /* 15281 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6445 /* 15284 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6446 /* 15288 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6447 /* 15292 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
6448 /* 15296 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6449 /* 15300 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6450 /* 15304 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6451 /* 15309 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6452 /* 15313 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6453 /* 15317 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6454 /* 15321 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6455 /* 15325 */ // MIs[2] src
6456 /* 15325 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
6457 /* 15330 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6458 /* 15334 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6459 /* 15336 */ // (and:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (TZMSK32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
6460 /* 15336 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZMSK32rr),
6461 /* 15339 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6462 /* 15341 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6463 /* 15345 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6464 /* 15348 */ GIR_RootConstrainSelectedInstOperands,
6465 /* 15349 */ // GIR_Coverage, 25089,
6466 /* 15349 */ GIR_EraseRootFromParent_Done,
6467 /* 15350 */ // Label 480: @15350
6468 /* 15350 */ GIM_Try, /*On fail goto*//*Label 481*/ GIMT_Encode4(15427), // Rule ID 17344 //
6469 /* 15355 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
6470 /* 15358 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6471 /* 15361 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6472 /* 15365 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6473 /* 15369 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6474 /* 15373 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6475 /* 15377 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6476 /* 15381 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6477 /* 15386 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6478 /* 15390 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6479 /* 15394 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
6480 /* 15398 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6481 /* 15402 */ // MIs[2] src
6482 /* 15402 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
6483 /* 15407 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
6484 /* 15411 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6485 /* 15413 */ // (and:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (BLCIC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
6486 /* 15413 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCIC32rr),
6487 /* 15416 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6488 /* 15418 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6489 /* 15422 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6490 /* 15425 */ GIR_RootConstrainSelectedInstOperands,
6491 /* 15426 */ // GIR_Coverage, 17344,
6492 /* 15426 */ GIR_EraseRootFromParent_Done,
6493 /* 15427 */ // Label 481: @15427
6494 /* 15427 */ GIM_Try, /*On fail goto*//*Label 482*/ GIMT_Encode4(15504), // Rule ID 17356 //
6495 /* 15432 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
6496 /* 15435 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6497 /* 15438 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6498 /* 15442 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6499 /* 15446 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6500 /* 15450 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6501 /* 15454 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6502 /* 15458 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6503 /* 15463 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6504 /* 15467 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6505 /* 15471 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
6506 /* 15475 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6507 /* 15479 */ // MIs[2] src
6508 /* 15479 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
6509 /* 15484 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6510 /* 15488 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6511 /* 15490 */ // (and:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (TZMSK32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
6512 /* 15490 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZMSK32rr),
6513 /* 15493 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6514 /* 15495 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6515 /* 15499 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6516 /* 15502 */ GIR_RootConstrainSelectedInstOperands,
6517 /* 15503 */ // GIR_Coverage, 17356,
6518 /* 15503 */ GIR_EraseRootFromParent_Done,
6519 /* 15504 */ // Label 482: @15504
6520 /* 15504 */ GIM_Try, /*On fail goto*//*Label 483*/ GIMT_Encode4(15562), // Rule ID 25071 //
6521 /* 15509 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
6522 /* 15512 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6523 /* 15516 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6524 /* 15520 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
6525 /* 15524 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6526 /* 15528 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6527 /* 15532 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6528 /* 15537 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
6529 /* 15541 */ // MIs[0] src
6530 /* 15541 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
6531 /* 15546 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6532 /* 15548 */ // (and:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLCFILL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
6533 /* 15548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCFILL32rr),
6534 /* 15551 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6535 /* 15553 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6536 /* 15557 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6537 /* 15560 */ GIR_RootConstrainSelectedInstOperands,
6538 /* 15561 */ // GIR_Coverage, 25071,
6539 /* 15561 */ GIR_EraseRootFromParent_Done,
6540 /* 15562 */ // Label 483: @15562
6541 /* 15562 */ GIM_Try, /*On fail goto*//*Label 484*/ GIMT_Encode4(15671), // Rule ID 26124 //
6542 /* 15567 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6543 /* 15570 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6544 /* 15574 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6545 /* 15578 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
6546 /* 15582 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6547 /* 15586 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
6548 /* 15590 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
6549 /* 15594 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6550 /* 15599 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6551 /* 15603 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6552 /* 15605 */ // (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] }))
6553 /* 15605 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
6554 /* 15608 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
6555 /* 15612 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6556 /* 15617 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
6557 /* 15619 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
6558 /* 15622 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
6559 /* 15626 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6560 /* 15631 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6561 /* 15634 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
6562 /* 15638 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
6563 /* 15641 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
6564 /* 15646 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
6565 /* 15651 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
6566 /* 15656 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR32rr),
6567 /* 15659 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6568 /* 15661 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6569 /* 15663 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6570 /* 15666 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6571 /* 15669 */ GIR_RootConstrainSelectedInstOperands,
6572 /* 15670 */ // GIR_Coverage, 26124,
6573 /* 15670 */ GIR_EraseRootFromParent_Done,
6574 /* 15671 */ // Label 484: @15671
6575 /* 15671 */ GIM_Try, /*On fail goto*//*Label 485*/ GIMT_Encode4(15725), // Rule ID 17338 //
6576 /* 15676 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
6577 /* 15679 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6578 /* 15682 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6579 /* 15686 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6580 /* 15690 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6581 /* 15694 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
6582 /* 15698 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6583 /* 15702 */ // MIs[1] src
6584 /* 15702 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
6585 /* 15707 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
6586 /* 15711 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6587 /* 15713 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src, (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (BLCFILL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
6588 /* 15713 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCFILL32rr),
6589 /* 15716 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6590 /* 15718 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
6591 /* 15720 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6592 /* 15723 */ GIR_RootConstrainSelectedInstOperands,
6593 /* 15724 */ // GIR_Coverage, 17338,
6594 /* 15724 */ GIR_EraseRootFromParent_Done,
6595 /* 15725 */ // Label 485: @15725
6596 /* 15725 */ GIM_Try, /*On fail goto*//*Label 486*/ GIMT_Encode4(15834), // Rule ID 22862 //
6597 /* 15730 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6598 /* 15733 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6599 /* 15737 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6600 /* 15741 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6601 /* 15745 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
6602 /* 15749 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6603 /* 15753 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
6604 /* 15757 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
6605 /* 15761 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6606 /* 15766 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6607 /* 15768 */ // (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] }))
6608 /* 15768 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
6609 /* 15771 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
6610 /* 15775 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6611 /* 15780 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
6612 /* 15782 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
6613 /* 15785 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
6614 /* 15789 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6615 /* 15794 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6616 /* 15797 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
6617 /* 15801 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
6618 /* 15804 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
6619 /* 15809 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
6620 /* 15814 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
6621 /* 15819 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR32rr),
6622 /* 15822 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6623 /* 15824 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6624 /* 15826 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6625 /* 15829 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6626 /* 15832 */ GIR_RootConstrainSelectedInstOperands,
6627 /* 15833 */ // GIR_Coverage, 22862,
6628 /* 15833 */ GIR_EraseRootFromParent_Done,
6629 /* 15834 */ // Label 486: @15834
6630 /* 15834 */ GIM_Try, /*On fail goto*//*Label 487*/ GIMT_Encode4(15899), // Rule ID 22714 //
6631 /* 15839 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6632 /* 15842 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6633 /* 15846 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6634 /* 15850 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(65535),
6635 /* 15861 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, 65535:{ *:[i32] }) => (MOVZX32rr16:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i16] } GR32:{ *:[i32] }:$src1, sub_16bit:{ *:[i32] }))
6636 /* 15861 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
6637 /* 15864 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6638 /* 15868 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6639 /* 15873 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(4), // src1
6640 /* 15879 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
6641 /* 15884 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
6642 /* 15889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr16),
6643 /* 15892 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6644 /* 15894 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6645 /* 15897 */ GIR_RootConstrainSelectedInstOperands,
6646 /* 15898 */ // GIR_Coverage, 22714,
6647 /* 15898 */ GIR_EraseRootFromParent_Done,
6648 /* 15899 */ // Label 487: @15899
6649 /* 15899 */ GIM_Try, /*On fail goto*//*Label 488*/ GIMT_Encode4(15964), // Rule ID 22715 //
6650 /* 15904 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6651 /* 15907 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6652 /* 15911 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6653 /* 15915 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(255),
6654 /* 15926 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, 255:{ *:[i32] }) => (MOVZX32rr8:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i8] } GR32:{ *:[i32] }:$src1, sub_8bit:{ *:[i32] }))
6655 /* 15926 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s8,
6656 /* 15929 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6657 /* 15933 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6658 /* 15938 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src1
6659 /* 15944 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
6660 /* 15949 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
6661 /* 15954 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
6662 /* 15957 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6663 /* 15959 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6664 /* 15962 */ GIR_RootConstrainSelectedInstOperands,
6665 /* 15963 */ // GIR_Coverage, 22715,
6666 /* 15963 */ GIR_EraseRootFromParent_Done,
6667 /* 15964 */ // Label 488: @15964
6668 /* 15964 */ GIM_Try, /*On fail goto*//*Label 489*/ GIMT_Encode4(16008), // Rule ID 22940 //
6669 /* 15969 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6670 /* 15972 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6671 /* 15975 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6672 /* 15979 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6673 /* 15983 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6674 /* 15987 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6675 /* 15991 */ // MIs[1] Operand 1
6676 /* 15991 */ // No operand predicates
6677 /* 15991 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6678 /* 15993 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (AND32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
6679 /* 15993 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32ri),
6680 /* 15996 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6681 /* 15998 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6682 /* 16000 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6683 /* 16003 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6684 /* 16006 */ GIR_RootConstrainSelectedInstOperands,
6685 /* 16007 */ // GIR_Coverage, 22940,
6686 /* 16007 */ GIR_EraseRootFromParent_Done,
6687 /* 16008 */ // Label 489: @16008
6688 /* 16008 */ GIM_Try, /*On fail goto*//*Label 490*/ GIMT_Encode4(16052), // Rule ID 23030 //
6689 /* 16013 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6690 /* 16016 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6691 /* 16019 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6692 /* 16023 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6693 /* 16027 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6694 /* 16031 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6695 /* 16035 */ // MIs[1] Operand 1
6696 /* 16035 */ // No operand predicates
6697 /* 16035 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6698 /* 16037 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (AND32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
6699 /* 16037 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32ri_ND),
6700 /* 16040 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6701 /* 16042 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6702 /* 16044 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6703 /* 16047 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6704 /* 16050 */ GIR_RootConstrainSelectedInstOperands,
6705 /* 16051 */ // GIR_Coverage, 23030,
6706 /* 16051 */ GIR_EraseRootFromParent_Done,
6707 /* 16052 */ // Label 490: @16052
6708 /* 16052 */ GIM_Try, /*On fail goto*//*Label 491*/ GIMT_Encode4(16114), // Rule ID 17534 //
6709 /* 16057 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
6710 /* 16060 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6711 /* 16063 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6712 /* 16067 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6713 /* 16071 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6714 /* 16075 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6715 /* 16079 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6716 /* 16083 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6717 /* 16088 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6718 /* 16092 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6719 /* 16096 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6720 /* 16098 */ // (and:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] }), GR32:{ *:[i32] }:$src2) => (ANDN32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
6721 /* 16098 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rr),
6722 /* 16101 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6723 /* 16103 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6724 /* 16107 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
6725 /* 16109 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6726 /* 16112 */ GIR_RootConstrainSelectedInstOperands,
6727 /* 16113 */ // GIR_Coverage, 17534,
6728 /* 16113 */ GIR_EraseRootFromParent_Done,
6729 /* 16114 */ // Label 491: @16114
6730 /* 16114 */ GIM_Try, /*On fail goto*//*Label 492*/ GIMT_Encode4(16176), // Rule ID 17538 //
6731 /* 16119 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
6732 /* 16122 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6733 /* 16125 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6734 /* 16129 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6735 /* 16133 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6736 /* 16137 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6737 /* 16141 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6738 /* 16145 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6739 /* 16150 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6740 /* 16154 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6741 /* 16158 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6742 /* 16160 */ // (and:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] }), GR32:{ *:[i32] }:$src2) => (ANDN32rr_EVEX:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
6743 /* 16160 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rr_EVEX),
6744 /* 16163 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6745 /* 16165 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6746 /* 16169 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
6747 /* 16171 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6748 /* 16174 */ GIR_RootConstrainSelectedInstOperands,
6749 /* 16175 */ // GIR_Coverage, 17538,
6750 /* 16175 */ GIR_EraseRootFromParent_Done,
6751 /* 16176 */ // Label 492: @16176
6752 /* 16176 */ GIM_Try, /*On fail goto*//*Label 493*/ GIMT_Encode4(16238), // Rule ID 25183 //
6753 /* 16181 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
6754 /* 16184 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6755 /* 16187 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6756 /* 16191 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6757 /* 16195 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6758 /* 16199 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6759 /* 16203 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6760 /* 16207 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6761 /* 16211 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6762 /* 16216 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6763 /* 16220 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6764 /* 16222 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src2, (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] })) => (ANDN32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
6765 /* 16222 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rr),
6766 /* 16225 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6767 /* 16227 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6768 /* 16231 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
6769 /* 16233 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6770 /* 16236 */ GIR_RootConstrainSelectedInstOperands,
6771 /* 16237 */ // GIR_Coverage, 25183,
6772 /* 16237 */ GIR_EraseRootFromParent_Done,
6773 /* 16238 */ // Label 493: @16238
6774 /* 16238 */ GIM_Try, /*On fail goto*//*Label 494*/ GIMT_Encode4(16300), // Rule ID 25187 //
6775 /* 16243 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
6776 /* 16246 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6777 /* 16249 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6778 /* 16253 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6779 /* 16257 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6780 /* 16261 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6781 /* 16265 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6782 /* 16269 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6783 /* 16273 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6784 /* 16278 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6785 /* 16282 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6786 /* 16284 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src2, (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] })) => (ANDN32rr_EVEX:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
6787 /* 16284 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rr_EVEX),
6788 /* 16287 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6789 /* 16289 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6790 /* 16293 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
6791 /* 16295 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6792 /* 16298 */ GIR_RootConstrainSelectedInstOperands,
6793 /* 16299 */ // GIR_Coverage, 25187,
6794 /* 16299 */ GIR_EraseRootFromParent_Done,
6795 /* 16300 */ // Label 494: @16300
6796 /* 16300 */ GIM_Try, /*On fail goto*//*Label 495*/ GIMT_Encode4(16336), // Rule ID 22932 //
6797 /* 16305 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6798 /* 16308 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6799 /* 16311 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6800 /* 16315 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6801 /* 16319 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6802 /* 16323 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (AND32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
6803 /* 16323 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND32rr),
6804 /* 16328 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
6805 /* 16334 */ GIR_RootConstrainSelectedInstOperands,
6806 /* 16335 */ // GIR_Coverage, 22932,
6807 /* 16335 */ GIR_Done,
6808 /* 16336 */ // Label 495: @16336
6809 /* 16336 */ GIM_Try, /*On fail goto*//*Label 496*/ GIMT_Encode4(16372), // Rule ID 23022 //
6810 /* 16341 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6811 /* 16344 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6812 /* 16347 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6813 /* 16351 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6814 /* 16355 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6815 /* 16359 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (AND32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
6816 /* 16359 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND32rr_ND),
6817 /* 16364 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
6818 /* 16370 */ GIR_RootConstrainSelectedInstOperands,
6819 /* 16371 */ // GIR_Coverage, 23022,
6820 /* 16371 */ GIR_Done,
6821 /* 16372 */ // Label 496: @16372
6822 /* 16372 */ GIM_Reject,
6823 /* 16373 */ // Label 472: @16373
6824 /* 16373 */ GIM_Reject,
6825 /* 16374 */ // Label 431: @16374
6826 /* 16374 */ GIM_Try, /*On fail goto*//*Label 497*/ GIMT_Encode4(17941),
6827 /* 16379 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
6828 /* 16382 */ GIM_Try, /*On fail goto*//*Label 498*/ GIMT_Encode4(16474), // Rule ID 17537 //
6829 /* 16387 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
6830 /* 16390 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
6831 /* 16393 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6832 /* 16397 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6833 /* 16401 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6834 /* 16405 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
6835 /* 16409 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6836 /* 16413 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6837 /* 16418 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6838 /* 16422 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6839 /* 16426 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
6840 /* 16430 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6841 /* 16433 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
6842 /* 16437 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
6843 /* 16441 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6844 /* 16443 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6845 /* 16450 */ // (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)
6846 /* 16450 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rm),
6847 /* 16453 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6848 /* 16455 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6849 /* 16459 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6850 /* 16463 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6851 /* 16466 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6852 /* 16472 */ GIR_RootConstrainSelectedInstOperands,
6853 /* 16473 */ // GIR_Coverage, 17537,
6854 /* 16473 */ GIR_EraseRootFromParent_Done,
6855 /* 16474 */ // Label 498: @16474
6856 /* 16474 */ GIM_Try, /*On fail goto*//*Label 499*/ GIMT_Encode4(16566), // Rule ID 17541 //
6857 /* 16479 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
6858 /* 16482 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
6859 /* 16485 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6860 /* 16489 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6861 /* 16493 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6862 /* 16497 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
6863 /* 16501 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6864 /* 16505 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6865 /* 16510 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6866 /* 16514 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6867 /* 16518 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
6868 /* 16522 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6869 /* 16525 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
6870 /* 16529 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
6871 /* 16533 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6872 /* 16535 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6873 /* 16542 */ // (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)
6874 /* 16542 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rm_EVEX),
6875 /* 16545 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6876 /* 16547 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6877 /* 16551 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6878 /* 16555 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6879 /* 16558 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6880 /* 16564 */ GIR_RootConstrainSelectedInstOperands,
6881 /* 16565 */ // GIR_Coverage, 17541,
6882 /* 16565 */ GIR_EraseRootFromParent_Done,
6883 /* 16566 */ // Label 499: @16566
6884 /* 16566 */ GIM_Try, /*On fail goto*//*Label 500*/ GIMT_Encode4(16658), // Rule ID 25186 //
6885 /* 16571 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
6886 /* 16574 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
6887 /* 16577 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6888 /* 16581 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6889 /* 16585 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6890 /* 16589 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6891 /* 16592 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6892 /* 16596 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6893 /* 16600 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6894 /* 16604 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6895 /* 16608 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
6896 /* 16612 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
6897 /* 16616 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6898 /* 16621 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6899 /* 16625 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6900 /* 16627 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6901 /* 16634 */ // (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)
6902 /* 16634 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rm),
6903 /* 16637 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6904 /* 16639 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src1
6905 /* 16643 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6906 /* 16647 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6907 /* 16650 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6908 /* 16656 */ GIR_RootConstrainSelectedInstOperands,
6909 /* 16657 */ // GIR_Coverage, 25186,
6910 /* 16657 */ GIR_EraseRootFromParent_Done,
6911 /* 16658 */ // Label 500: @16658
6912 /* 16658 */ GIM_Try, /*On fail goto*//*Label 501*/ GIMT_Encode4(16750), // Rule ID 25190 //
6913 /* 16663 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
6914 /* 16666 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
6915 /* 16669 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6916 /* 16673 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6917 /* 16677 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6918 /* 16681 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6919 /* 16684 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6920 /* 16688 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6921 /* 16692 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6922 /* 16696 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6923 /* 16700 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
6924 /* 16704 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
6925 /* 16708 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6926 /* 16713 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6927 /* 16717 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6928 /* 16719 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6929 /* 16726 */ // (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)
6930 /* 16726 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rm_EVEX),
6931 /* 16729 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6932 /* 16731 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src1
6933 /* 16735 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6934 /* 16739 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6935 /* 16742 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6936 /* 16748 */ GIR_RootConstrainSelectedInstOperands,
6937 /* 16749 */ // GIR_Coverage, 25190,
6938 /* 16749 */ GIR_EraseRootFromParent_Done,
6939 /* 16750 */ // Label 501: @16750
6940 /* 16750 */ GIM_Try, /*On fail goto*//*Label 502*/ GIMT_Encode4(16818), // Rule ID 26154 //
6941 /* 16755 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6942 /* 16758 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
6943 /* 16761 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6944 /* 16765 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6945 /* 16769 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6946 /* 16773 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6947 /* 16776 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6948 /* 16780 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6949 /* 16784 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6950 /* 16788 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6951 /* 16790 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6952 /* 16797 */ // (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)
6953 /* 16797 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64rm),
6954 /* 16800 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6955 /* 16802 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6956 /* 16804 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6957 /* 16808 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6958 /* 16811 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6959 /* 16816 */ GIR_RootConstrainSelectedInstOperands,
6960 /* 16817 */ // GIR_Coverage, 26154,
6961 /* 16817 */ GIR_EraseRootFromParent_Done,
6962 /* 16818 */ // Label 502: @16818
6963 /* 16818 */ GIM_Try, /*On fail goto*//*Label 503*/ GIMT_Encode4(16886), // Rule ID 22937 //
6964 /* 16823 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6965 /* 16826 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
6966 /* 16829 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6967 /* 16833 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6968 /* 16837 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6969 /* 16841 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6970 /* 16845 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6971 /* 16848 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6972 /* 16852 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6973 /* 16856 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6974 /* 16858 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6975 /* 16865 */ // (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)
6976 /* 16865 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64rm),
6977 /* 16868 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6978 /* 16870 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6979 /* 16872 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6980 /* 16876 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6981 /* 16879 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6982 /* 16884 */ GIR_RootConstrainSelectedInstOperands,
6983 /* 16885 */ // GIR_Coverage, 22937,
6984 /* 16885 */ GIR_EraseRootFromParent_Done,
6985 /* 16886 */ // Label 503: @16886
6986 /* 16886 */ GIM_Try, /*On fail goto*//*Label 504*/ GIMT_Encode4(16963), // Rule ID 25078 //
6987 /* 16891 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
6988 /* 16894 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
6989 /* 16897 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6990 /* 16901 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6991 /* 16905 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
6992 /* 16909 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
6993 /* 16913 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6994 /* 16917 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6995 /* 16922 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
6996 /* 16926 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6997 /* 16930 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6998 /* 16934 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
6999 /* 16938 */ // MIs[2] src
7000 /* 16938 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
7001 /* 16943 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
7002 /* 16947 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7003 /* 16949 */ // (and:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (BLCIC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
7004 /* 16949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCIC64rr),
7005 /* 16952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7006 /* 16954 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
7007 /* 16958 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7008 /* 16961 */ GIR_RootConstrainSelectedInstOperands,
7009 /* 16962 */ // GIR_Coverage, 25078,
7010 /* 16962 */ GIR_EraseRootFromParent_Done,
7011 /* 16963 */ // Label 504: @16963
7012 /* 16963 */ GIM_Try, /*On fail goto*//*Label 505*/ GIMT_Encode4(17040), // Rule ID 25090 //
7013 /* 16968 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7014 /* 16971 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7015 /* 16974 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7016 /* 16978 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7017 /* 16982 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
7018 /* 16986 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7019 /* 16990 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7020 /* 16994 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7021 /* 16999 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7022 /* 17003 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
7023 /* 17007 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
7024 /* 17011 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
7025 /* 17015 */ // MIs[2] src
7026 /* 17015 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
7027 /* 17020 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
7028 /* 17024 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7029 /* 17026 */ // (and:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (TZMSK64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
7030 /* 17026 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZMSK64rr),
7031 /* 17029 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7032 /* 17031 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
7033 /* 17035 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7034 /* 17038 */ GIR_RootConstrainSelectedInstOperands,
7035 /* 17039 */ // GIR_Coverage, 25090,
7036 /* 17039 */ GIR_EraseRootFromParent_Done,
7037 /* 17040 */ // Label 505: @17040
7038 /* 17040 */ GIM_Try, /*On fail goto*//*Label 506*/ GIMT_Encode4(17117), // Rule ID 17345 //
7039 /* 17045 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7040 /* 17048 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7041 /* 17051 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7042 /* 17055 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7043 /* 17059 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7044 /* 17063 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7045 /* 17067 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7046 /* 17071 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7047 /* 17076 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7048 /* 17080 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
7049 /* 17084 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
7050 /* 17088 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
7051 /* 17092 */ // MIs[2] src
7052 /* 17092 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
7053 /* 17097 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
7054 /* 17101 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7055 /* 17103 */ // (and:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (BLCIC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
7056 /* 17103 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCIC64rr),
7057 /* 17106 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7058 /* 17108 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
7059 /* 17112 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7060 /* 17115 */ GIR_RootConstrainSelectedInstOperands,
7061 /* 17116 */ // GIR_Coverage, 17345,
7062 /* 17116 */ GIR_EraseRootFromParent_Done,
7063 /* 17117 */ // Label 506: @17117
7064 /* 17117 */ GIM_Try, /*On fail goto*//*Label 507*/ GIMT_Encode4(17194), // Rule ID 17357 //
7065 /* 17122 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7066 /* 17125 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7067 /* 17128 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7068 /* 17132 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7069 /* 17136 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7070 /* 17140 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7071 /* 17144 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7072 /* 17148 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7073 /* 17153 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7074 /* 17157 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
7075 /* 17161 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
7076 /* 17165 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
7077 /* 17169 */ // MIs[2] src
7078 /* 17169 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
7079 /* 17174 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
7080 /* 17178 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7081 /* 17180 */ // (and:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (TZMSK64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
7082 /* 17180 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZMSK64rr),
7083 /* 17183 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7084 /* 17185 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
7085 /* 17189 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7086 /* 17192 */ GIR_RootConstrainSelectedInstOperands,
7087 /* 17193 */ // GIR_Coverage, 17357,
7088 /* 17193 */ GIR_EraseRootFromParent_Done,
7089 /* 17194 */ // Label 507: @17194
7090 /* 17194 */ GIM_Try, /*On fail goto*//*Label 508*/ GIMT_Encode4(17252), // Rule ID 25072 //
7091 /* 17199 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7092 /* 17202 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7093 /* 17206 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7094 /* 17210 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
7095 /* 17214 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7096 /* 17218 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7097 /* 17222 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7098 /* 17227 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
7099 /* 17231 */ // MIs[0] src
7100 /* 17231 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
7101 /* 17236 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7102 /* 17238 */ // (and:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLCFILL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
7103 /* 17238 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCFILL64rr),
7104 /* 17241 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7105 /* 17243 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
7106 /* 17247 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7107 /* 17250 */ GIR_RootConstrainSelectedInstOperands,
7108 /* 17251 */ // GIR_Coverage, 25072,
7109 /* 17251 */ GIR_EraseRootFromParent_Done,
7110 /* 17252 */ // Label 508: @17252
7111 /* 17252 */ GIM_Try, /*On fail goto*//*Label 509*/ GIMT_Encode4(17361), // Rule ID 26130 //
7112 /* 17257 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7113 /* 17260 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7114 /* 17264 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7115 /* 17268 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
7116 /* 17272 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7117 /* 17276 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
7118 /* 17280 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
7119 /* 17284 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
7120 /* 17289 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7121 /* 17293 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7122 /* 17295 */ // (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] }))
7123 /* 17295 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
7124 /* 17298 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
7125 /* 17302 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7126 /* 17307 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
7127 /* 17309 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
7128 /* 17312 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
7129 /* 17316 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7130 /* 17321 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7131 /* 17324 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
7132 /* 17328 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
7133 /* 17331 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
7134 /* 17336 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
7135 /* 17341 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
7136 /* 17346 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR64rr),
7137 /* 17349 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7138 /* 17351 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7139 /* 17353 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7140 /* 17356 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7141 /* 17359 */ GIR_RootConstrainSelectedInstOperands,
7142 /* 17360 */ // GIR_Coverage, 26130,
7143 /* 17360 */ GIR_EraseRootFromParent_Done,
7144 /* 17361 */ // Label 509: @17361
7145 /* 17361 */ GIM_Try, /*On fail goto*//*Label 510*/ GIMT_Encode4(17415), // Rule ID 17339 //
7146 /* 17366 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7147 /* 17369 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7148 /* 17372 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7149 /* 17376 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7150 /* 17380 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7151 /* 17384 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
7152 /* 17388 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7153 /* 17392 */ // MIs[1] src
7154 /* 17392 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
7155 /* 17397 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
7156 /* 17401 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7157 /* 17403 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src, (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (BLCFILL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
7158 /* 17403 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCFILL64rr),
7159 /* 17406 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7160 /* 17408 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
7161 /* 17410 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7162 /* 17413 */ GIR_RootConstrainSelectedInstOperands,
7163 /* 17414 */ // GIR_Coverage, 17339,
7164 /* 17414 */ GIR_EraseRootFromParent_Done,
7165 /* 17415 */ // Label 510: @17415
7166 /* 17415 */ GIM_Try, /*On fail goto*//*Label 511*/ GIMT_Encode4(17524), // Rule ID 22868 //
7167 /* 17420 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7168 /* 17423 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7169 /* 17427 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7170 /* 17431 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7171 /* 17435 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
7172 /* 17439 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7173 /* 17443 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
7174 /* 17447 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
7175 /* 17451 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
7176 /* 17456 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7177 /* 17458 */ // (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] }))
7178 /* 17458 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
7179 /* 17461 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
7180 /* 17465 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7181 /* 17470 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
7182 /* 17472 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
7183 /* 17475 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
7184 /* 17479 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7185 /* 17484 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7186 /* 17487 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
7187 /* 17491 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
7188 /* 17494 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
7189 /* 17499 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
7190 /* 17504 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
7191 /* 17509 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR64rr),
7192 /* 17512 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7193 /* 17514 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7194 /* 17516 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7195 /* 17519 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7196 /* 17522 */ GIR_RootConstrainSelectedInstOperands,
7197 /* 17523 */ // GIR_Coverage, 22868,
7198 /* 17523 */ GIR_EraseRootFromParent_Done,
7199 /* 17524 */ // Label 511: @17524
7200 /* 17524 */ GIM_Try, /*On fail goto*//*Label 512*/ GIMT_Encode4(17572), // Rule ID 22941 //
7201 /* 17529 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
7202 /* 17532 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7203 /* 17535 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7204 /* 17539 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7205 /* 17543 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7206 /* 17547 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
7207 /* 17551 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
7208 /* 17555 */ // MIs[1] Operand 1
7209 /* 17555 */ // No operand predicates
7210 /* 17555 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7211 /* 17557 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (AND64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
7212 /* 17557 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64ri32),
7213 /* 17560 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7214 /* 17562 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7215 /* 17564 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
7216 /* 17567 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7217 /* 17570 */ GIR_RootConstrainSelectedInstOperands,
7218 /* 17571 */ // GIR_Coverage, 22941,
7219 /* 17571 */ GIR_EraseRootFromParent_Done,
7220 /* 17572 */ // Label 512: @17572
7221 /* 17572 */ GIM_Try, /*On fail goto*//*Label 513*/ GIMT_Encode4(17620), // Rule ID 23031 //
7222 /* 17577 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
7223 /* 17580 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7224 /* 17583 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7225 /* 17587 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7226 /* 17591 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7227 /* 17595 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
7228 /* 17599 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
7229 /* 17603 */ // MIs[1] Operand 1
7230 /* 17603 */ // No operand predicates
7231 /* 17603 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7232 /* 17605 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (AND64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
7233 /* 17605 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64ri32_ND),
7234 /* 17608 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7235 /* 17610 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7236 /* 17612 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
7237 /* 17615 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7238 /* 17618 */ GIR_RootConstrainSelectedInstOperands,
7239 /* 17619 */ // GIR_Coverage, 23031,
7240 /* 17619 */ GIR_EraseRootFromParent_Done,
7241 /* 17620 */ // Label 513: @17620
7242 /* 17620 */ GIM_Try, /*On fail goto*//*Label 514*/ GIMT_Encode4(17682), // Rule ID 17535 //
7243 /* 17625 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
7244 /* 17628 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7245 /* 17631 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7246 /* 17635 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7247 /* 17639 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7248 /* 17643 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7249 /* 17647 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7250 /* 17651 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7251 /* 17656 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7252 /* 17660 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7253 /* 17664 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7254 /* 17666 */ // (and:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] }), GR64:{ *:[i64] }:$src2) => (ANDN64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7255 /* 17666 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rr),
7256 /* 17669 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7257 /* 17671 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7258 /* 17675 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
7259 /* 17677 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7260 /* 17680 */ GIR_RootConstrainSelectedInstOperands,
7261 /* 17681 */ // GIR_Coverage, 17535,
7262 /* 17681 */ GIR_EraseRootFromParent_Done,
7263 /* 17682 */ // Label 514: @17682
7264 /* 17682 */ GIM_Try, /*On fail goto*//*Label 515*/ GIMT_Encode4(17744), // Rule ID 17539 //
7265 /* 17687 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
7266 /* 17690 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7267 /* 17693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7268 /* 17697 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7269 /* 17701 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7270 /* 17705 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7271 /* 17709 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7272 /* 17713 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7273 /* 17718 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7274 /* 17722 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7275 /* 17726 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7276 /* 17728 */ // (and:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] }), GR64:{ *:[i64] }:$src2) => (ANDN64rr_EVEX:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7277 /* 17728 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rr_EVEX),
7278 /* 17731 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7279 /* 17733 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7280 /* 17737 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
7281 /* 17739 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7282 /* 17742 */ GIR_RootConstrainSelectedInstOperands,
7283 /* 17743 */ // GIR_Coverage, 17539,
7284 /* 17743 */ GIR_EraseRootFromParent_Done,
7285 /* 17744 */ // Label 515: @17744
7286 /* 17744 */ GIM_Try, /*On fail goto*//*Label 516*/ GIMT_Encode4(17806), // Rule ID 25184 //
7287 /* 17749 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
7288 /* 17752 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7289 /* 17755 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7290 /* 17759 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7291 /* 17763 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7292 /* 17767 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7293 /* 17771 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7294 /* 17775 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7295 /* 17779 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7296 /* 17784 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7297 /* 17788 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7298 /* 17790 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src2, (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] })) => (ANDN64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7299 /* 17790 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rr),
7300 /* 17793 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7301 /* 17795 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7302 /* 17799 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
7303 /* 17801 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7304 /* 17804 */ GIR_RootConstrainSelectedInstOperands,
7305 /* 17805 */ // GIR_Coverage, 25184,
7306 /* 17805 */ GIR_EraseRootFromParent_Done,
7307 /* 17806 */ // Label 516: @17806
7308 /* 17806 */ GIM_Try, /*On fail goto*//*Label 517*/ GIMT_Encode4(17868), // Rule ID 25188 //
7309 /* 17811 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
7310 /* 17814 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7311 /* 17817 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7312 /* 17821 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7313 /* 17825 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7314 /* 17829 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7315 /* 17833 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7316 /* 17837 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7317 /* 17841 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7318 /* 17846 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7319 /* 17850 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7320 /* 17852 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src2, (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] })) => (ANDN64rr_EVEX:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7321 /* 17852 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rr_EVEX),
7322 /* 17855 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7323 /* 17857 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7324 /* 17861 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
7325 /* 17863 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7326 /* 17866 */ GIR_RootConstrainSelectedInstOperands,
7327 /* 17867 */ // GIR_Coverage, 25188,
7328 /* 17867 */ GIR_EraseRootFromParent_Done,
7329 /* 17868 */ // Label 517: @17868
7330 /* 17868 */ GIM_Try, /*On fail goto*//*Label 518*/ GIMT_Encode4(17904), // Rule ID 22933 //
7331 /* 17873 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
7332 /* 17876 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7333 /* 17879 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7334 /* 17883 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7335 /* 17887 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7336 /* 17891 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (AND64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7337 /* 17891 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND64rr),
7338 /* 17896 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
7339 /* 17902 */ GIR_RootConstrainSelectedInstOperands,
7340 /* 17903 */ // GIR_Coverage, 22933,
7341 /* 17903 */ GIR_Done,
7342 /* 17904 */ // Label 518: @17904
7343 /* 17904 */ GIM_Try, /*On fail goto*//*Label 519*/ GIMT_Encode4(17940), // Rule ID 23023 //
7344 /* 17909 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
7345 /* 17912 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7346 /* 17915 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7347 /* 17919 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7348 /* 17923 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7349 /* 17927 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (AND64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7350 /* 17927 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND64rr_ND),
7351 /* 17932 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
7352 /* 17938 */ GIR_RootConstrainSelectedInstOperands,
7353 /* 17939 */ // GIR_Coverage, 23023,
7354 /* 17939 */ GIR_Done,
7355 /* 17940 */ // Label 519: @17940
7356 /* 17940 */ GIM_Reject,
7357 /* 17941 */ // Label 497: @17941
7358 /* 17941 */ GIM_Reject,
7359 /* 17942 */ // Label 432: @17942
7360 /* 17942 */ GIM_Try, /*On fail goto*//*Label 520*/ GIMT_Encode4(18287),
7361 /* 17947 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
7362 /* 17950 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s1,
7363 /* 17953 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7364 /* 17957 */ GIM_Try, /*On fail goto*//*Label 521*/ GIMT_Encode4(18077), // Rule ID 19487 //
7365 /* 17962 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7366 /* 17966 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7367 /* 17970 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
7368 /* 17974 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
7369 /* 17978 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7370 /* 17983 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7371 /* 17987 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7372 /* 17993 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7373 /* 17995 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7374 /* 17999 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7375 /* 18001 */ // (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] })
7376 /* 18001 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7377 /* 18004 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7378 /* 18008 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7379 /* 18013 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
7380 /* 18017 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7381 /* 18022 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7382 /* 18025 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7383 /* 18029 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7384 /* 18034 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
7385 /* 18038 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7386 /* 18043 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7387 /* 18046 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
7388 /* 18050 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7389 /* 18055 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7390 /* 18058 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7391 /* 18061 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7392 /* 18063 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7393 /* 18066 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7394 /* 18068 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7395 /* 18071 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
7396 /* 18076 */ // GIR_Coverage, 19487,
7397 /* 18076 */ GIR_EraseRootFromParent_Done,
7398 /* 18077 */ // Label 521: @18077
7399 /* 18077 */ GIM_Try, /*On fail goto*//*Label 522*/ GIMT_Encode4(18197), // Rule ID 25450 //
7400 /* 18082 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7401 /* 18086 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7402 /* 18090 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7403 /* 18094 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
7404 /* 18098 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
7405 /* 18102 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7406 /* 18107 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7407 /* 18111 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7408 /* 18117 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7409 /* 18119 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7410 /* 18121 */ // (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] })
7411 /* 18121 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7412 /* 18124 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7413 /* 18128 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7414 /* 18133 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
7415 /* 18137 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7416 /* 18142 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7417 /* 18145 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7418 /* 18149 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7419 /* 18154 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
7420 /* 18158 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7421 /* 18163 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7422 /* 18166 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
7423 /* 18170 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7424 /* 18175 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7425 /* 18178 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7426 /* 18181 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7427 /* 18183 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7428 /* 18186 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7429 /* 18188 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7430 /* 18191 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
7431 /* 18196 */ // GIR_Coverage, 25450,
7432 /* 18196 */ GIR_EraseRootFromParent_Done,
7433 /* 18197 */ // Label 522: @18197
7434 /* 18197 */ GIM_Try, /*On fail goto*//*Label 523*/ GIMT_Encode4(18286), // Rule ID 19483 //
7435 /* 18202 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7436 /* 18206 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7437 /* 18210 */ // (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] })
7438 /* 18210 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7439 /* 18213 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7440 /* 18217 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7441 /* 18222 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
7442 /* 18226 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7443 /* 18231 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7444 /* 18234 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7445 /* 18238 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7446 /* 18243 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
7447 /* 18247 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7448 /* 18252 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7449 /* 18255 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
7450 /* 18259 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7451 /* 18264 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7452 /* 18267 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7453 /* 18270 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7454 /* 18272 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7455 /* 18275 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7456 /* 18277 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7457 /* 18280 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
7458 /* 18285 */ // GIR_Coverage, 19483,
7459 /* 18285 */ GIR_EraseRootFromParent_Done,
7460 /* 18286 */ // Label 523: @18286
7461 /* 18286 */ GIM_Reject,
7462 /* 18287 */ // Label 520: @18287
7463 /* 18287 */ GIM_Reject,
7464 /* 18288 */ // Label 433: @18288
7465 /* 18288 */ GIM_Try, /*On fail goto*//*Label 524*/ GIMT_Encode4(18629),
7466 /* 18293 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
7467 /* 18296 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
7468 /* 18299 */ GIM_Try, /*On fail goto*//*Label 525*/ GIMT_Encode4(18361), // Rule ID 23442 //
7469 /* 18304 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
7470 /* 18307 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7471 /* 18311 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7472 /* 18315 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7473 /* 18319 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7474 /* 18322 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7475 /* 18326 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7476 /* 18330 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7477 /* 18334 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7478 /* 18336 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7479 /* 18343 */ // (and:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src1) => (VPANDrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
7480 /* 18343 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
7481 /* 18346 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7482 /* 18348 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7483 /* 18350 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7484 /* 18354 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7485 /* 18359 */ GIR_RootConstrainSelectedInstOperands,
7486 /* 18360 */ // GIR_Coverage, 23442,
7487 /* 18360 */ GIR_EraseRootFromParent_Done,
7488 /* 18361 */ // Label 525: @18361
7489 /* 18361 */ GIM_Try, /*On fail goto*//*Label 526*/ GIMT_Encode4(18423), // Rule ID 24231 //
7490 /* 18366 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
7491 /* 18369 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7492 /* 18373 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7493 /* 18377 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7494 /* 18381 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7495 /* 18384 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7496 /* 18388 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7497 /* 18392 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7498 /* 18396 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7499 /* 18398 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7500 /* 18405 */ // (and:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPANDQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
7501 /* 18405 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
7502 /* 18408 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7503 /* 18410 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7504 /* 18412 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7505 /* 18416 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7506 /* 18421 */ GIR_RootConstrainSelectedInstOperands,
7507 /* 18422 */ // GIR_Coverage, 24231,
7508 /* 18422 */ GIR_EraseRootFromParent_Done,
7509 /* 18423 */ // Label 526: @18423
7510 /* 18423 */ GIM_Try, /*On fail goto*//*Label 527*/ GIMT_Encode4(18485), // Rule ID 2111 //
7511 /* 18428 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
7512 /* 18431 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7513 /* 18435 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7514 /* 18439 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7515 /* 18443 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7516 /* 18447 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7517 /* 18450 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7518 /* 18454 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7519 /* 18458 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7520 /* 18460 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7521 /* 18467 */ // (and:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
7522 /* 18467 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
7523 /* 18470 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7524 /* 18472 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7525 /* 18474 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7526 /* 18478 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7527 /* 18483 */ GIR_RootConstrainSelectedInstOperands,
7528 /* 18484 */ // GIR_Coverage, 2111,
7529 /* 18484 */ GIR_EraseRootFromParent_Done,
7530 /* 18485 */ // Label 527: @18485
7531 /* 18485 */ GIM_Try, /*On fail goto*//*Label 528*/ GIMT_Encode4(18547), // Rule ID 5711 //
7532 /* 18490 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
7533 /* 18493 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7534 /* 18497 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7535 /* 18501 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7536 /* 18505 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7537 /* 18509 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7538 /* 18512 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7539 /* 18516 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7540 /* 18520 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7541 /* 18522 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7542 /* 18529 */ // (and:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
7543 /* 18529 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
7544 /* 18532 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7545 /* 18534 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7546 /* 18536 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7547 /* 18540 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7548 /* 18545 */ GIR_RootConstrainSelectedInstOperands,
7549 /* 18546 */ // GIR_Coverage, 5711,
7550 /* 18546 */ GIR_EraseRootFromParent_Done,
7551 /* 18547 */ // Label 528: @18547
7552 /* 18547 */ GIM_Try, /*On fail goto*//*Label 529*/ GIMT_Encode4(18574), // Rule ID 2110 //
7553 /* 18552 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
7554 /* 18555 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7555 /* 18559 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7556 /* 18563 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7557 /* 18567 */ // (and:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPANDrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
7558 /* 18567 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDrr),
7559 /* 18572 */ GIR_RootConstrainSelectedInstOperands,
7560 /* 18573 */ // GIR_Coverage, 2110,
7561 /* 18573 */ GIR_Done,
7562 /* 18574 */ // Label 529: @18574
7563 /* 18574 */ GIM_Try, /*On fail goto*//*Label 530*/ GIMT_Encode4(18601), // Rule ID 2112 //
7564 /* 18579 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
7565 /* 18582 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7566 /* 18586 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7567 /* 18590 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7568 /* 18594 */ // (and:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PANDrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
7569 /* 18594 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PANDrr),
7570 /* 18599 */ GIR_RootConstrainSelectedInstOperands,
7571 /* 18600 */ // GIR_Coverage, 2112,
7572 /* 18600 */ GIR_Done,
7573 /* 18601 */ // Label 530: @18601
7574 /* 18601 */ GIM_Try, /*On fail goto*//*Label 531*/ GIMT_Encode4(18628), // Rule ID 5708 //
7575 /* 18606 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
7576 /* 18609 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7577 /* 18613 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7578 /* 18617 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7579 /* 18621 */ // (and:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPANDQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
7580 /* 18621 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rr),
7581 /* 18626 */ GIR_RootConstrainSelectedInstOperands,
7582 /* 18627 */ // GIR_Coverage, 5708,
7583 /* 18627 */ GIR_Done,
7584 /* 18628 */ // Label 531: @18628
7585 /* 18628 */ GIM_Reject,
7586 /* 18629 */ // Label 524: @18629
7587 /* 18629 */ GIM_Reject,
7588 /* 18630 */ // Label 434: @18630
7589 /* 18630 */ GIM_Try, /*On fail goto*//*Label 532*/ GIMT_Encode4(18975),
7590 /* 18635 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
7591 /* 18638 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
7592 /* 18641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
7593 /* 18645 */ GIM_Try, /*On fail goto*//*Label 533*/ GIMT_Encode4(18765), // Rule ID 19488 //
7594 /* 18650 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7595 /* 18654 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7596 /* 18658 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
7597 /* 18662 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
7598 /* 18666 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
7599 /* 18671 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7600 /* 18675 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7601 /* 18681 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7602 /* 18683 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
7603 /* 18687 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7604 /* 18689 */ // (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] })
7605 /* 18689 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7606 /* 18692 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7607 /* 18696 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7608 /* 18701 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
7609 /* 18705 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7610 /* 18710 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7611 /* 18713 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7612 /* 18717 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7613 /* 18722 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
7614 /* 18726 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7615 /* 18731 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7616 /* 18734 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
7617 /* 18738 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7618 /* 18743 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7619 /* 18746 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7620 /* 18749 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7621 /* 18751 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7622 /* 18754 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7623 /* 18756 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7624 /* 18759 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
7625 /* 18764 */ // GIR_Coverage, 19488,
7626 /* 18764 */ GIR_EraseRootFromParent_Done,
7627 /* 18765 */ // Label 533: @18765
7628 /* 18765 */ GIM_Try, /*On fail goto*//*Label 534*/ GIMT_Encode4(18885), // Rule ID 25451 //
7629 /* 18770 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
7630 /* 18774 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7631 /* 18778 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7632 /* 18782 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
7633 /* 18786 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
7634 /* 18790 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
7635 /* 18795 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7636 /* 18799 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7637 /* 18805 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7638 /* 18807 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7639 /* 18809 */ // (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] })
7640 /* 18809 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7641 /* 18812 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7642 /* 18816 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7643 /* 18821 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
7644 /* 18825 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7645 /* 18830 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7646 /* 18833 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7647 /* 18837 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7648 /* 18842 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
7649 /* 18846 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7650 /* 18851 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7651 /* 18854 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
7652 /* 18858 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7653 /* 18863 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7654 /* 18866 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7655 /* 18869 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7656 /* 18871 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7657 /* 18874 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7658 /* 18876 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7659 /* 18879 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
7660 /* 18884 */ // GIR_Coverage, 25451,
7661 /* 18884 */ GIR_EraseRootFromParent_Done,
7662 /* 18885 */ // Label 534: @18885
7663 /* 18885 */ GIM_Try, /*On fail goto*//*Label 535*/ GIMT_Encode4(18974), // Rule ID 19484 //
7664 /* 18890 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
7665 /* 18894 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
7666 /* 18898 */ // (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] })
7667 /* 18898 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7668 /* 18901 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7669 /* 18905 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7670 /* 18910 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
7671 /* 18914 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7672 /* 18919 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7673 /* 18922 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7674 /* 18926 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7675 /* 18931 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
7676 /* 18935 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7677 /* 18940 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7678 /* 18943 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
7679 /* 18947 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7680 /* 18952 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7681 /* 18955 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7682 /* 18958 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7683 /* 18960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7684 /* 18963 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7685 /* 18965 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7686 /* 18968 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
7687 /* 18973 */ // GIR_Coverage, 19484,
7688 /* 18973 */ GIR_EraseRootFromParent_Done,
7689 /* 18974 */ // Label 535: @18974
7690 /* 18974 */ GIM_Reject,
7691 /* 18975 */ // Label 532: @18975
7692 /* 18975 */ GIM_Reject,
7693 /* 18976 */ // Label 435: @18976
7694 /* 18976 */ GIM_Try, /*On fail goto*//*Label 536*/ GIMT_Encode4(19317),
7695 /* 18981 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
7696 /* 18984 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
7697 /* 18987 */ GIM_Try, /*On fail goto*//*Label 537*/ GIMT_Encode4(19049), // Rule ID 24249 //
7698 /* 18992 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
7699 /* 18995 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7700 /* 18999 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7701 /* 19003 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7702 /* 19007 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7703 /* 19010 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7704 /* 19014 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7705 /* 19018 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7706 /* 19022 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7707 /* 19024 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7708 /* 19031 */ // (and:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPANDDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
7709 /* 19031 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZ128rm),
7710 /* 19034 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7711 /* 19036 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7712 /* 19038 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7713 /* 19042 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7714 /* 19047 */ GIR_RootConstrainSelectedInstOperands,
7715 /* 19048 */ // GIR_Coverage, 24249,
7716 /* 19048 */ GIR_EraseRootFromParent_Done,
7717 /* 19049 */ // Label 537: @19049
7718 /* 19049 */ GIM_Try, /*On fail goto*//*Label 538*/ GIMT_Encode4(19111), // Rule ID 25335 //
7719 /* 19054 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
7720 /* 19057 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7721 /* 19061 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7722 /* 19065 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7723 /* 19069 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7724 /* 19072 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7725 /* 19076 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7726 /* 19080 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7727 /* 19084 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7728 /* 19086 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7729 /* 19093 */ // (and:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPANDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
7730 /* 19093 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
7731 /* 19096 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7732 /* 19098 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7733 /* 19100 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7734 /* 19104 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7735 /* 19109 */ GIR_RootConstrainSelectedInstOperands,
7736 /* 19110 */ // GIR_Coverage, 25335,
7737 /* 19110 */ GIR_EraseRootFromParent_Done,
7738 /* 19111 */ // Label 538: @19111
7739 /* 19111 */ GIM_Try, /*On fail goto*//*Label 539*/ GIMT_Encode4(19173), // Rule ID 5738 //
7740 /* 19116 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
7741 /* 19119 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7742 /* 19123 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7743 /* 19127 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7744 /* 19131 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7745 /* 19135 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7746 /* 19138 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7747 /* 19142 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7748 /* 19146 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7749 /* 19148 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7750 /* 19155 */ // (and:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
7751 /* 19155 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZ128rm),
7752 /* 19158 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7753 /* 19160 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7754 /* 19162 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7755 /* 19166 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7756 /* 19171 */ GIR_RootConstrainSelectedInstOperands,
7757 /* 19172 */ // GIR_Coverage, 5738,
7758 /* 19172 */ GIR_EraseRootFromParent_Done,
7759 /* 19173 */ // Label 539: @19173
7760 /* 19173 */ GIM_Try, /*On fail goto*//*Label 540*/ GIMT_Encode4(19235), // Rule ID 18150 //
7761 /* 19178 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
7762 /* 19181 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7763 /* 19185 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7764 /* 19189 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7765 /* 19193 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7766 /* 19197 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7767 /* 19200 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7768 /* 19204 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7769 /* 19208 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7770 /* 19210 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7771 /* 19217 */ // (and:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
7772 /* 19217 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
7773 /* 19220 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7774 /* 19222 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7775 /* 19224 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7776 /* 19228 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7777 /* 19233 */ GIR_RootConstrainSelectedInstOperands,
7778 /* 19234 */ // GIR_Coverage, 18150,
7779 /* 19234 */ GIR_EraseRootFromParent_Done,
7780 /* 19235 */ // Label 540: @19235
7781 /* 19235 */ GIM_Try, /*On fail goto*//*Label 541*/ GIMT_Encode4(19262), // Rule ID 5735 //
7782 /* 19240 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
7783 /* 19243 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7784 /* 19247 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7785 /* 19251 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7786 /* 19255 */ // (and:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPANDDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
7787 /* 19255 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDDZ128rr),
7788 /* 19260 */ GIR_RootConstrainSelectedInstOperands,
7789 /* 19261 */ // GIR_Coverage, 5735,
7790 /* 19261 */ GIR_Done,
7791 /* 19262 */ // Label 541: @19262
7792 /* 19262 */ GIM_Try, /*On fail goto*//*Label 542*/ GIMT_Encode4(19289), // Rule ID 18138 //
7793 /* 19267 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
7794 /* 19270 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7795 /* 19274 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7796 /* 19278 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7797 /* 19282 */ // (and:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPANDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
7798 /* 19282 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDrr),
7799 /* 19287 */ GIR_RootConstrainSelectedInstOperands,
7800 /* 19288 */ // GIR_Coverage, 18138,
7801 /* 19288 */ GIR_Done,
7802 /* 19289 */ // Label 542: @19289
7803 /* 19289 */ GIM_Try, /*On fail goto*//*Label 543*/ GIMT_Encode4(19316), // Rule ID 18162 //
7804 /* 19294 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
7805 /* 19297 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7806 /* 19301 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7807 /* 19305 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7808 /* 19309 */ // (and:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PANDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
7809 /* 19309 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PANDrr),
7810 /* 19314 */ GIR_RootConstrainSelectedInstOperands,
7811 /* 19315 */ // GIR_Coverage, 18162,
7812 /* 19315 */ GIR_Done,
7813 /* 19316 */ // Label 543: @19316
7814 /* 19316 */ GIM_Reject,
7815 /* 19317 */ // Label 536: @19317
7816 /* 19317 */ GIM_Reject,
7817 /* 19318 */ // Label 436: @19318
7818 /* 19318 */ GIM_Try, /*On fail goto*//*Label 544*/ GIMT_Encode4(19783),
7819 /* 19323 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
7820 /* 19326 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
7821 /* 19329 */ GIM_Try, /*On fail goto*//*Label 545*/ GIMT_Encode4(19391), // Rule ID 23444 //
7822 /* 19334 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
7823 /* 19337 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
7824 /* 19341 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7825 /* 19345 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7826 /* 19349 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7827 /* 19352 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7828 /* 19356 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7829 /* 19360 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
7830 /* 19364 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7831 /* 19366 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7832 /* 19373 */ // (and:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VPANDYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
7833 /* 19373 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
7834 /* 19376 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7835 /* 19378 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7836 /* 19380 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7837 /* 19384 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7838 /* 19389 */ GIR_RootConstrainSelectedInstOperands,
7839 /* 19390 */ // GIR_Coverage, 23444,
7840 /* 19390 */ GIR_EraseRootFromParent_Done,
7841 /* 19391 */ // Label 545: @19391
7842 /* 19391 */ GIM_Try, /*On fail goto*//*Label 546*/ GIMT_Encode4(19453), // Rule ID 24225 //
7843 /* 19396 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
7844 /* 19399 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
7845 /* 19403 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7846 /* 19407 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7847 /* 19411 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7848 /* 19414 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7849 /* 19418 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7850 /* 19422 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
7851 /* 19426 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7852 /* 19428 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7853 /* 19435 */ // (and:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPANDQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
7854 /* 19435 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
7855 /* 19438 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7856 /* 19440 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7857 /* 19442 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7858 /* 19446 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7859 /* 19451 */ GIR_RootConstrainSelectedInstOperands,
7860 /* 19452 */ // GIR_Coverage, 24225,
7861 /* 19452 */ GIR_EraseRootFromParent_Done,
7862 /* 19453 */ // Label 546: @19453
7863 /* 19453 */ GIM_Try, /*On fail goto*//*Label 547*/ GIMT_Encode4(19515), // Rule ID 25324 //
7864 /* 19458 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
7865 /* 19461 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
7866 /* 19465 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7867 /* 19469 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7868 /* 19473 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7869 /* 19476 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7870 /* 19480 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7871 /* 19484 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
7872 /* 19488 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7873 /* 19490 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7874 /* 19497 */ // (and:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VANDPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
7875 /* 19497 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
7876 /* 19500 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7877 /* 19502 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7878 /* 19504 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7879 /* 19508 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7880 /* 19513 */ GIR_RootConstrainSelectedInstOperands,
7881 /* 19514 */ // GIR_Coverage, 25324,
7882 /* 19514 */ GIR_EraseRootFromParent_Done,
7883 /* 19515 */ // Label 547: @19515
7884 /* 19515 */ GIM_Try, /*On fail goto*//*Label 548*/ GIMT_Encode4(19577), // Rule ID 2115 //
7885 /* 19520 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
7886 /* 19523 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
7887 /* 19527 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
7888 /* 19531 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7889 /* 19535 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7890 /* 19539 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7891 /* 19542 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7892 /* 19546 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7893 /* 19550 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7894 /* 19552 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7895 /* 19559 */ // (and:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
7896 /* 19559 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
7897 /* 19562 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7898 /* 19564 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7899 /* 19566 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7900 /* 19570 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7901 /* 19575 */ GIR_RootConstrainSelectedInstOperands,
7902 /* 19576 */ // GIR_Coverage, 2115,
7903 /* 19576 */ GIR_EraseRootFromParent_Done,
7904 /* 19577 */ // Label 548: @19577
7905 /* 19577 */ GIM_Try, /*On fail goto*//*Label 549*/ GIMT_Encode4(19639), // Rule ID 5702 //
7906 /* 19582 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
7907 /* 19585 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
7908 /* 19589 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
7909 /* 19593 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7910 /* 19597 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7911 /* 19601 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7912 /* 19604 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7913 /* 19608 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7914 /* 19612 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7915 /* 19614 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7916 /* 19621 */ // (and:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
7917 /* 19621 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
7918 /* 19624 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7919 /* 19626 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7920 /* 19628 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7921 /* 19632 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7922 /* 19637 */ GIR_RootConstrainSelectedInstOperands,
7923 /* 19638 */ // GIR_Coverage, 5702,
7924 /* 19638 */ GIR_EraseRootFromParent_Done,
7925 /* 19639 */ // Label 549: @19639
7926 /* 19639 */ GIM_Try, /*On fail goto*//*Label 550*/ GIMT_Encode4(19701), // Rule ID 18123 //
7927 /* 19644 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
7928 /* 19647 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
7929 /* 19651 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
7930 /* 19655 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7931 /* 19659 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7932 /* 19663 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7933 /* 19666 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7934 /* 19670 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7935 /* 19674 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7936 /* 19676 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7937 /* 19683 */ // (and:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VANDPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
7938 /* 19683 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
7939 /* 19686 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7940 /* 19688 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7941 /* 19690 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7942 /* 19694 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7943 /* 19699 */ GIR_RootConstrainSelectedInstOperands,
7944 /* 19700 */ // GIR_Coverage, 18123,
7945 /* 19700 */ GIR_EraseRootFromParent_Done,
7946 /* 19701 */ // Label 550: @19701
7947 /* 19701 */ GIM_Try, /*On fail goto*//*Label 551*/ GIMT_Encode4(19728), // Rule ID 2114 //
7948 /* 19706 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
7949 /* 19709 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
7950 /* 19713 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
7951 /* 19717 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
7952 /* 19721 */ // (and:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPANDYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
7953 /* 19721 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDYrr),
7954 /* 19726 */ GIR_RootConstrainSelectedInstOperands,
7955 /* 19727 */ // GIR_Coverage, 2114,
7956 /* 19727 */ GIR_Done,
7957 /* 19728 */ // Label 551: @19728
7958 /* 19728 */ GIM_Try, /*On fail goto*//*Label 552*/ GIMT_Encode4(19755), // Rule ID 5699 //
7959 /* 19733 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
7960 /* 19736 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
7961 /* 19740 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
7962 /* 19744 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
7963 /* 19748 */ // (and:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPANDQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
7964 /* 19748 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rr),
7965 /* 19753 */ GIR_RootConstrainSelectedInstOperands,
7966 /* 19754 */ // GIR_Coverage, 5699,
7967 /* 19754 */ GIR_Done,
7968 /* 19755 */ // Label 552: @19755
7969 /* 19755 */ GIM_Try, /*On fail goto*//*Label 553*/ GIMT_Encode4(19782), // Rule ID 18107 //
7970 /* 19760 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
7971 /* 19763 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
7972 /* 19767 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
7973 /* 19771 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
7974 /* 19775 */ // (and:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VANDPSYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
7975 /* 19775 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VANDPSYrr),
7976 /* 19780 */ GIR_RootConstrainSelectedInstOperands,
7977 /* 19781 */ // GIR_Coverage, 18107,
7978 /* 19781 */ GIR_Done,
7979 /* 19782 */ // Label 553: @19782
7980 /* 19782 */ GIM_Reject,
7981 /* 19783 */ // Label 544: @19783
7982 /* 19783 */ GIM_Reject,
7983 /* 19784 */ // Label 437: @19784
7984 /* 19784 */ GIM_Try, /*On fail goto*//*Label 554*/ GIMT_Encode4(20281),
7985 /* 19789 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
7986 /* 19792 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
7987 /* 19795 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7988 /* 19799 */ GIM_Try, /*On fail goto*//*Label 555*/ GIMT_Encode4(19859), // Rule ID 4433 //
7989 /* 19804 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
7990 /* 19807 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7991 /* 19811 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7992 /* 19815 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
7993 /* 19819 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
7994 /* 19823 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7995 /* 19828 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7996 /* 19832 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7997 /* 19838 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7998 /* 19840 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7999 /* 19844 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
8000 /* 19846 */ // (and:{ *:[v8i1] } (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, immAllOnesV:{ *:[v8i1] }), VK8:{ *:[v8i1] }:$src2) => (KANDNBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
8001 /* 19846 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNBkk),
8002 /* 19849 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8003 /* 19851 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
8004 /* 19855 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
8005 /* 19857 */ GIR_RootConstrainSelectedInstOperands,
8006 /* 19858 */ // GIR_Coverage, 4433,
8007 /* 19858 */ GIR_EraseRootFromParent_Done,
8008 /* 19859 */ // Label 555: @19859
8009 /* 19859 */ GIM_Try, /*On fail goto*//*Label 556*/ GIMT_Encode4(19982), // Rule ID 19485 //
8010 /* 19864 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
8011 /* 19867 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8012 /* 19871 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
8013 /* 19875 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
8014 /* 19879 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
8015 /* 19883 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8016 /* 19888 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
8017 /* 19892 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
8018 /* 19898 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
8019 /* 19900 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8020 /* 19904 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
8021 /* 19906 */ // (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] })
8022 /* 19906 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
8023 /* 19909 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8024 /* 19913 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8025 /* 19918 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
8026 /* 19922 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8027 /* 19927 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
8028 /* 19930 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8029 /* 19934 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8030 /* 19939 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
8031 /* 19943 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8032 /* 19948 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
8033 /* 19951 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
8034 /* 19955 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8035 /* 19960 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
8036 /* 19963 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
8037 /* 19966 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
8038 /* 19968 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8039 /* 19971 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8040 /* 19973 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
8041 /* 19976 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
8042 /* 19981 */ // GIR_Coverage, 19485,
8043 /* 19981 */ GIR_EraseRootFromParent_Done,
8044 /* 19982 */ // Label 556: @19982
8045 /* 19982 */ GIM_Try, /*On fail goto*//*Label 557*/ GIMT_Encode4(20042), // Rule ID 23774 //
8046 /* 19987 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
8047 /* 19990 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8048 /* 19994 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8049 /* 19998 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
8050 /* 20002 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
8051 /* 20006 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
8052 /* 20010 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8053 /* 20015 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
8054 /* 20019 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
8055 /* 20025 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
8056 /* 20027 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
8057 /* 20029 */ // (and:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src2, (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, immAllOnesV:{ *:[v8i1] })) => (KANDNBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
8058 /* 20029 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNBkk),
8059 /* 20032 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8060 /* 20034 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
8061 /* 20038 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
8062 /* 20040 */ GIR_RootConstrainSelectedInstOperands,
8063 /* 20041 */ // GIR_Coverage, 23774,
8064 /* 20041 */ GIR_EraseRootFromParent_Done,
8065 /* 20042 */ // Label 557: @20042
8066 /* 20042 */ GIM_Try, /*On fail goto*//*Label 558*/ GIMT_Encode4(20165), // Rule ID 25448 //
8067 /* 20047 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
8068 /* 20050 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8069 /* 20054 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8070 /* 20058 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
8071 /* 20062 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
8072 /* 20066 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
8073 /* 20070 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8074 /* 20075 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
8075 /* 20079 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
8076 /* 20085 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
8077 /* 20087 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
8078 /* 20089 */ // (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] })
8079 /* 20089 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
8080 /* 20092 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8081 /* 20096 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8082 /* 20101 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
8083 /* 20105 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8084 /* 20110 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
8085 /* 20113 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8086 /* 20117 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8087 /* 20122 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
8088 /* 20126 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8089 /* 20131 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
8090 /* 20134 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
8091 /* 20138 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8092 /* 20143 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
8093 /* 20146 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
8094 /* 20149 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
8095 /* 20151 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8096 /* 20154 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8097 /* 20156 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
8098 /* 20159 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
8099 /* 20164 */ // GIR_Coverage, 25448,
8100 /* 20164 */ GIR_EraseRootFromParent_Done,
8101 /* 20165 */ // Label 558: @20165
8102 /* 20165 */ GIM_Try, /*On fail goto*//*Label 559*/ GIMT_Encode4(20188), // Rule ID 4417 //
8103 /* 20170 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
8104 /* 20173 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8105 /* 20177 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8106 /* 20181 */ // (and:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2) => (KANDBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
8107 /* 20181 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KANDBkk),
8108 /* 20186 */ GIR_RootConstrainSelectedInstOperands,
8109 /* 20187 */ // GIR_Coverage, 4417,
8110 /* 20187 */ GIR_Done,
8111 /* 20188 */ // Label 559: @20188
8112 /* 20188 */ GIM_Try, /*On fail goto*//*Label 560*/ GIMT_Encode4(20280), // Rule ID 19481 //
8113 /* 20193 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
8114 /* 20196 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8115 /* 20200 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8116 /* 20204 */ // (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] })
8117 /* 20204 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
8118 /* 20207 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8119 /* 20211 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8120 /* 20216 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
8121 /* 20220 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8122 /* 20225 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
8123 /* 20228 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8124 /* 20232 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8125 /* 20237 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
8126 /* 20241 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8127 /* 20246 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
8128 /* 20249 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
8129 /* 20253 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8130 /* 20258 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
8131 /* 20261 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
8132 /* 20264 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
8133 /* 20266 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8134 /* 20269 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8135 /* 20271 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
8136 /* 20274 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
8137 /* 20279 */ // GIR_Coverage, 19481,
8138 /* 20279 */ GIR_EraseRootFromParent_Done,
8139 /* 20280 */ // Label 560: @20280
8140 /* 20280 */ GIM_Reject,
8141 /* 20281 */ // Label 554: @20281
8142 /* 20281 */ GIM_Reject,
8143 /* 20282 */ // Label 438: @20282
8144 /* 20282 */ GIM_Try, /*On fail goto*//*Label 561*/ GIMT_Encode4(20623),
8145 /* 20287 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
8146 /* 20290 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
8147 /* 20293 */ GIM_Try, /*On fail goto*//*Label 562*/ GIMT_Encode4(20355), // Rule ID 25334 //
8148 /* 20298 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8149 /* 20301 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8150 /* 20305 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8151 /* 20309 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8152 /* 20313 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8153 /* 20316 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8154 /* 20320 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8155 /* 20324 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8156 /* 20328 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8157 /* 20330 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8158 /* 20337 */ // (and:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPANDrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8159 /* 20337 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
8160 /* 20340 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8161 /* 20342 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8162 /* 20344 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8163 /* 20348 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8164 /* 20353 */ GIR_RootConstrainSelectedInstOperands,
8165 /* 20354 */ // GIR_Coverage, 25334,
8166 /* 20354 */ GIR_EraseRootFromParent_Done,
8167 /* 20355 */ // Label 562: @20355
8168 /* 20355 */ GIM_Try, /*On fail goto*//*Label 563*/ GIMT_Encode4(20417), // Rule ID 25515 //
8169 /* 20360 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
8170 /* 20363 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8171 /* 20367 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8172 /* 20371 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8173 /* 20375 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8174 /* 20378 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8175 /* 20382 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8176 /* 20386 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8177 /* 20390 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8178 /* 20392 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8179 /* 20399 */ // (and:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPANDQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8180 /* 20399 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
8181 /* 20402 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8182 /* 20404 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8183 /* 20406 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8184 /* 20410 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8185 /* 20415 */ GIR_RootConstrainSelectedInstOperands,
8186 /* 20416 */ // GIR_Coverage, 25515,
8187 /* 20416 */ GIR_EraseRootFromParent_Done,
8188 /* 20417 */ // Label 563: @20417
8189 /* 20417 */ GIM_Try, /*On fail goto*//*Label 564*/ GIMT_Encode4(20479), // Rule ID 18149 //
8190 /* 20422 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8191 /* 20425 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8192 /* 20429 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8193 /* 20433 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8194 /* 20437 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8195 /* 20441 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8196 /* 20444 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8197 /* 20448 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8198 /* 20452 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8199 /* 20454 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8200 /* 20461 */ // (and:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8201 /* 20461 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
8202 /* 20464 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8203 /* 20466 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8204 /* 20468 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8205 /* 20472 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8206 /* 20477 */ GIR_RootConstrainSelectedInstOperands,
8207 /* 20478 */ // GIR_Coverage, 18149,
8208 /* 20478 */ GIR_EraseRootFromParent_Done,
8209 /* 20479 */ // Label 564: @20479
8210 /* 20479 */ GIM_Try, /*On fail goto*//*Label 565*/ GIMT_Encode4(20541), // Rule ID 20034 //
8211 /* 20484 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
8212 /* 20487 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8213 /* 20491 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8214 /* 20495 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8215 /* 20499 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8216 /* 20503 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8217 /* 20506 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8218 /* 20510 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8219 /* 20514 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8220 /* 20516 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8221 /* 20523 */ // (and:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8222 /* 20523 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
8223 /* 20526 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8224 /* 20528 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8225 /* 20530 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8226 /* 20534 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8227 /* 20539 */ GIR_RootConstrainSelectedInstOperands,
8228 /* 20540 */ // GIR_Coverage, 20034,
8229 /* 20540 */ GIR_EraseRootFromParent_Done,
8230 /* 20541 */ // Label 565: @20541
8231 /* 20541 */ GIM_Try, /*On fail goto*//*Label 566*/ GIMT_Encode4(20568), // Rule ID 18137 //
8232 /* 20546 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8233 /* 20549 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8234 /* 20553 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8235 /* 20557 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8236 /* 20561 */ // (and:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPANDrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
8237 /* 20561 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDrr),
8238 /* 20566 */ GIR_RootConstrainSelectedInstOperands,
8239 /* 20567 */ // GIR_Coverage, 18137,
8240 /* 20567 */ GIR_Done,
8241 /* 20568 */ // Label 566: @20568
8242 /* 20568 */ GIM_Try, /*On fail goto*//*Label 567*/ GIMT_Encode4(20595), // Rule ID 18161 //
8243 /* 20573 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
8244 /* 20576 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8245 /* 20580 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8246 /* 20584 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8247 /* 20588 */ // (and:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PANDrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
8248 /* 20588 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PANDrr),
8249 /* 20593 */ GIR_RootConstrainSelectedInstOperands,
8250 /* 20594 */ // GIR_Coverage, 18161,
8251 /* 20594 */ GIR_Done,
8252 /* 20595 */ // Label 567: @20595
8253 /* 20595 */ GIM_Try, /*On fail goto*//*Label 568*/ GIMT_Encode4(20622), // Rule ID 20026 //
8254 /* 20600 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
8255 /* 20603 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8256 /* 20607 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8257 /* 20611 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8258 /* 20615 */ // (and:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPANDQZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
8259 /* 20615 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rr),
8260 /* 20620 */ GIR_RootConstrainSelectedInstOperands,
8261 /* 20621 */ // GIR_Coverage, 20026,
8262 /* 20621 */ GIR_Done,
8263 /* 20622 */ // Label 568: @20622
8264 /* 20622 */ GIM_Reject,
8265 /* 20623 */ // Label 561: @20623
8266 /* 20623 */ GIM_Reject,
8267 /* 20624 */ // Label 439: @20624
8268 /* 20624 */ GIM_Try, /*On fail goto*//*Label 569*/ GIMT_Encode4(21089),
8269 /* 20629 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
8270 /* 20632 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
8271 /* 20635 */ GIM_Try, /*On fail goto*//*Label 570*/ GIMT_Encode4(20697), // Rule ID 24243 //
8272 /* 20640 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8273 /* 20643 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8274 /* 20647 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8275 /* 20651 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8276 /* 20655 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8277 /* 20658 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8278 /* 20662 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8279 /* 20666 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8280 /* 20670 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8281 /* 20672 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8282 /* 20679 */ // (and:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPANDDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8283 /* 20679 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZ256rm),
8284 /* 20682 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8285 /* 20684 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8286 /* 20686 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8287 /* 20690 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8288 /* 20695 */ GIR_RootConstrainSelectedInstOperands,
8289 /* 20696 */ // GIR_Coverage, 24243,
8290 /* 20696 */ GIR_EraseRootFromParent_Done,
8291 /* 20697 */ // Label 570: @20697
8292 /* 20697 */ GIM_Try, /*On fail goto*//*Label 571*/ GIMT_Encode4(20759), // Rule ID 25314 //
8293 /* 20702 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
8294 /* 20705 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8295 /* 20709 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8296 /* 20713 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8297 /* 20717 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8298 /* 20720 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8299 /* 20724 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8300 /* 20728 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8301 /* 20732 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8302 /* 20734 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8303 /* 20741 */ // (and:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPANDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8304 /* 20741 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8305 /* 20744 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8306 /* 20746 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8307 /* 20748 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8308 /* 20752 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8309 /* 20757 */ GIR_RootConstrainSelectedInstOperands,
8310 /* 20758 */ // GIR_Coverage, 25314,
8311 /* 20758 */ GIR_EraseRootFromParent_Done,
8312 /* 20759 */ // Label 571: @20759
8313 /* 20759 */ GIM_Try, /*On fail goto*//*Label 572*/ GIMT_Encode4(20821), // Rule ID 25323 //
8314 /* 20764 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
8315 /* 20767 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8316 /* 20771 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8317 /* 20775 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8318 /* 20779 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8319 /* 20782 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8320 /* 20786 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8321 /* 20790 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8322 /* 20794 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8323 /* 20796 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8324 /* 20803 */ // (and:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VANDPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8325 /* 20803 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8326 /* 20806 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8327 /* 20808 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8328 /* 20810 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8329 /* 20814 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8330 /* 20819 */ GIR_RootConstrainSelectedInstOperands,
8331 /* 20820 */ // GIR_Coverage, 25323,
8332 /* 20820 */ GIR_EraseRootFromParent_Done,
8333 /* 20821 */ // Label 572: @20821
8334 /* 20821 */ GIM_Try, /*On fail goto*//*Label 573*/ GIMT_Encode4(20883), // Rule ID 5729 //
8335 /* 20826 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8336 /* 20829 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8337 /* 20833 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8338 /* 20837 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8339 /* 20841 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8340 /* 20845 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8341 /* 20848 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8342 /* 20852 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8343 /* 20856 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8344 /* 20858 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8345 /* 20865 */ // (and:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8346 /* 20865 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZ256rm),
8347 /* 20868 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8348 /* 20870 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8349 /* 20872 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8350 /* 20876 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8351 /* 20881 */ GIR_RootConstrainSelectedInstOperands,
8352 /* 20882 */ // GIR_Coverage, 5729,
8353 /* 20882 */ GIR_EraseRootFromParent_Done,
8354 /* 20883 */ // Label 573: @20883
8355 /* 20883 */ GIM_Try, /*On fail goto*//*Label 574*/ GIMT_Encode4(20945), // Rule ID 18094 //
8356 /* 20888 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
8357 /* 20891 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8358 /* 20895 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8359 /* 20899 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8360 /* 20903 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8361 /* 20907 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8362 /* 20910 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8363 /* 20914 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8364 /* 20918 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8365 /* 20920 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8366 /* 20927 */ // (and:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8367 /* 20927 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8368 /* 20930 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8369 /* 20932 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8370 /* 20934 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8371 /* 20938 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8372 /* 20943 */ GIR_RootConstrainSelectedInstOperands,
8373 /* 20944 */ // GIR_Coverage, 18094,
8374 /* 20944 */ GIR_EraseRootFromParent_Done,
8375 /* 20945 */ // Label 574: @20945
8376 /* 20945 */ GIM_Try, /*On fail goto*//*Label 575*/ GIMT_Encode4(21007), // Rule ID 18122 //
8377 /* 20950 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
8378 /* 20953 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8379 /* 20957 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8380 /* 20961 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8381 /* 20965 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8382 /* 20969 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8383 /* 20972 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8384 /* 20976 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8385 /* 20980 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8386 /* 20982 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8387 /* 20989 */ // (and:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VANDPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8388 /* 20989 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8389 /* 20992 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8390 /* 20994 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8391 /* 20996 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8392 /* 21000 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8393 /* 21005 */ GIR_RootConstrainSelectedInstOperands,
8394 /* 21006 */ // GIR_Coverage, 18122,
8395 /* 21006 */ GIR_EraseRootFromParent_Done,
8396 /* 21007 */ // Label 575: @21007
8397 /* 21007 */ GIM_Try, /*On fail goto*//*Label 576*/ GIMT_Encode4(21034), // Rule ID 5726 //
8398 /* 21012 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8399 /* 21015 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8400 /* 21019 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8401 /* 21023 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8402 /* 21027 */ // (and:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPANDDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
8403 /* 21027 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDDZ256rr),
8404 /* 21032 */ GIR_RootConstrainSelectedInstOperands,
8405 /* 21033 */ // GIR_Coverage, 5726,
8406 /* 21033 */ GIR_Done,
8407 /* 21034 */ // Label 576: @21034
8408 /* 21034 */ GIM_Try, /*On fail goto*//*Label 577*/ GIMT_Encode4(21061), // Rule ID 18082 //
8409 /* 21039 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
8410 /* 21042 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8411 /* 21046 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8412 /* 21050 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8413 /* 21054 */ // (and:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPANDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
8414 /* 21054 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDYrr),
8415 /* 21059 */ GIR_RootConstrainSelectedInstOperands,
8416 /* 21060 */ // GIR_Coverage, 18082,
8417 /* 21060 */ GIR_Done,
8418 /* 21061 */ // Label 577: @21061
8419 /* 21061 */ GIM_Try, /*On fail goto*//*Label 578*/ GIMT_Encode4(21088), // Rule ID 18106 //
8420 /* 21066 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
8421 /* 21069 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8422 /* 21073 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8423 /* 21077 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8424 /* 21081 */ // (and:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VANDPSYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
8425 /* 21081 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VANDPSYrr),
8426 /* 21086 */ GIR_RootConstrainSelectedInstOperands,
8427 /* 21087 */ // GIR_Coverage, 18106,
8428 /* 21087 */ GIR_Done,
8429 /* 21088 */ // Label 578: @21088
8430 /* 21088 */ GIM_Reject,
8431 /* 21089 */ // Label 569: @21089
8432 /* 21089 */ GIM_Reject,
8433 /* 21090 */ // Label 440: @21090
8434 /* 21090 */ GIM_Try, /*On fail goto*//*Label 579*/ GIMT_Encode4(21245),
8435 /* 21095 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
8436 /* 21098 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
8437 /* 21101 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8438 /* 21105 */ GIM_Try, /*On fail goto*//*Label 580*/ GIMT_Encode4(21163), // Rule ID 24219 //
8439 /* 21110 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
8440 /* 21113 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8441 /* 21117 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8442 /* 21121 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8443 /* 21124 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8444 /* 21128 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8445 /* 21132 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8446 /* 21136 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8447 /* 21138 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8448 /* 21145 */ // (and:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPANDQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8449 /* 21145 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
8450 /* 21148 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8451 /* 21150 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8452 /* 21152 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8453 /* 21156 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8454 /* 21161 */ GIR_RootConstrainSelectedInstOperands,
8455 /* 21162 */ // GIR_Coverage, 24219,
8456 /* 21162 */ GIR_EraseRootFromParent_Done,
8457 /* 21163 */ // Label 580: @21163
8458 /* 21163 */ GIM_Try, /*On fail goto*//*Label 581*/ GIMT_Encode4(21221), // Rule ID 5693 //
8459 /* 21168 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
8460 /* 21171 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8461 /* 21175 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8462 /* 21179 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8463 /* 21183 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8464 /* 21186 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8465 /* 21190 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8466 /* 21194 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8467 /* 21196 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8468 /* 21203 */ // (and:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8469 /* 21203 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
8470 /* 21206 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8471 /* 21208 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8472 /* 21210 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8473 /* 21214 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8474 /* 21219 */ GIR_RootConstrainSelectedInstOperands,
8475 /* 21220 */ // GIR_Coverage, 5693,
8476 /* 21220 */ GIR_EraseRootFromParent_Done,
8477 /* 21221 */ // Label 581: @21221
8478 /* 21221 */ GIM_Try, /*On fail goto*//*Label 582*/ GIMT_Encode4(21244), // Rule ID 5690 //
8479 /* 21226 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
8480 /* 21229 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8481 /* 21233 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8482 /* 21237 */ // (and:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPANDQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
8483 /* 21237 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZrr),
8484 /* 21242 */ GIR_RootConstrainSelectedInstOperands,
8485 /* 21243 */ // GIR_Coverage, 5690,
8486 /* 21243 */ GIR_Done,
8487 /* 21244 */ // Label 582: @21244
8488 /* 21244 */ GIM_Reject,
8489 /* 21245 */ // Label 579: @21245
8490 /* 21245 */ GIM_Reject,
8491 /* 21246 */ // Label 441: @21246
8492 /* 21246 */ GIM_Try, /*On fail goto*//*Label 583*/ GIMT_Encode4(21405),
8493 /* 21251 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
8494 /* 21254 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
8495 /* 21257 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
8496 /* 21261 */ GIM_Try, /*On fail goto*//*Label 584*/ GIMT_Encode4(21321), // Rule ID 4434 //
8497 /* 21266 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
8498 /* 21269 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8499 /* 21273 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
8500 /* 21277 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
8501 /* 21281 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
8502 /* 21285 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
8503 /* 21290 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
8504 /* 21294 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
8505 /* 21300 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
8506 /* 21302 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
8507 /* 21306 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
8508 /* 21308 */ // (and:{ *:[v16i1] } (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, immAllOnesV:{ *:[v16i1] }), VK16:{ *:[v16i1] }:$src2) => (KANDNWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
8509 /* 21308 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
8510 /* 21311 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8511 /* 21313 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
8512 /* 21317 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
8513 /* 21319 */ GIR_RootConstrainSelectedInstOperands,
8514 /* 21320 */ // GIR_Coverage, 4434,
8515 /* 21320 */ GIR_EraseRootFromParent_Done,
8516 /* 21321 */ // Label 584: @21321
8517 /* 21321 */ GIM_Try, /*On fail goto*//*Label 585*/ GIMT_Encode4(21381), // Rule ID 23775 //
8518 /* 21326 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
8519 /* 21329 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
8520 /* 21333 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8521 /* 21337 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
8522 /* 21341 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
8523 /* 21345 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
8524 /* 21349 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
8525 /* 21354 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
8526 /* 21358 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
8527 /* 21364 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
8528 /* 21366 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
8529 /* 21368 */ // (and:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src2, (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, immAllOnesV:{ *:[v16i1] })) => (KANDNWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
8530 /* 21368 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
8531 /* 21371 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8532 /* 21373 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
8533 /* 21377 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
8534 /* 21379 */ GIR_RootConstrainSelectedInstOperands,
8535 /* 21380 */ // GIR_Coverage, 23775,
8536 /* 21380 */ GIR_EraseRootFromParent_Done,
8537 /* 21381 */ // Label 585: @21381
8538 /* 21381 */ GIM_Try, /*On fail goto*//*Label 586*/ GIMT_Encode4(21404), // Rule ID 4418 //
8539 /* 21386 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
8540 /* 21389 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
8541 /* 21393 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
8542 /* 21397 */ // (and:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2) => (KANDWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
8543 /* 21397 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
8544 /* 21402 */ GIR_RootConstrainSelectedInstOperands,
8545 /* 21403 */ // GIR_Coverage, 4418,
8546 /* 21403 */ GIR_Done,
8547 /* 21404 */ // Label 586: @21404
8548 /* 21404 */ GIM_Reject,
8549 /* 21405 */ // Label 583: @21405
8550 /* 21405 */ GIM_Reject,
8551 /* 21406 */ // Label 442: @21406
8552 /* 21406 */ GIM_Try, /*On fail goto*//*Label 587*/ GIMT_Encode4(21747),
8553 /* 21411 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
8554 /* 21414 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
8555 /* 21417 */ GIM_Try, /*On fail goto*//*Label 588*/ GIMT_Encode4(21479), // Rule ID 25333 //
8556 /* 21422 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8557 /* 21425 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8558 /* 21429 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8559 /* 21433 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8560 /* 21437 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8561 /* 21440 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8562 /* 21444 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8563 /* 21448 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8564 /* 21452 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8565 /* 21454 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8566 /* 21461 */ // (and:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPANDrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
8567 /* 21461 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
8568 /* 21464 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8569 /* 21466 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8570 /* 21468 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8571 /* 21472 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8572 /* 21477 */ GIR_RootConstrainSelectedInstOperands,
8573 /* 21478 */ // GIR_Coverage, 25333,
8574 /* 21478 */ GIR_EraseRootFromParent_Done,
8575 /* 21479 */ // Label 588: @21479
8576 /* 21479 */ GIM_Try, /*On fail goto*//*Label 589*/ GIMT_Encode4(21541), // Rule ID 25514 //
8577 /* 21484 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
8578 /* 21487 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8579 /* 21491 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8580 /* 21495 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8581 /* 21499 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8582 /* 21502 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8583 /* 21506 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8584 /* 21510 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8585 /* 21514 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8586 /* 21516 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8587 /* 21523 */ // (and:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPANDQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
8588 /* 21523 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
8589 /* 21526 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8590 /* 21528 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8591 /* 21530 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8592 /* 21534 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8593 /* 21539 */ GIR_RootConstrainSelectedInstOperands,
8594 /* 21540 */ // GIR_Coverage, 25514,
8595 /* 21540 */ GIR_EraseRootFromParent_Done,
8596 /* 21541 */ // Label 589: @21541
8597 /* 21541 */ GIM_Try, /*On fail goto*//*Label 590*/ GIMT_Encode4(21603), // Rule ID 18148 //
8598 /* 21546 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8599 /* 21549 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8600 /* 21553 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8601 /* 21557 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8602 /* 21561 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8603 /* 21565 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8604 /* 21568 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8605 /* 21572 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8606 /* 21576 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8607 /* 21578 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8608 /* 21585 */ // (and:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
8609 /* 21585 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
8610 /* 21588 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8611 /* 21590 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8612 /* 21592 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8613 /* 21596 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8614 /* 21601 */ GIR_RootConstrainSelectedInstOperands,
8615 /* 21602 */ // GIR_Coverage, 18148,
8616 /* 21602 */ GIR_EraseRootFromParent_Done,
8617 /* 21603 */ // Label 590: @21603
8618 /* 21603 */ GIM_Try, /*On fail goto*//*Label 591*/ GIMT_Encode4(21665), // Rule ID 20033 //
8619 /* 21608 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
8620 /* 21611 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8621 /* 21615 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8622 /* 21619 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8623 /* 21623 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8624 /* 21627 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8625 /* 21630 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8626 /* 21634 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8627 /* 21638 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8628 /* 21640 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8629 /* 21647 */ // (and:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
8630 /* 21647 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
8631 /* 21650 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8632 /* 21652 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8633 /* 21654 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8634 /* 21658 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8635 /* 21663 */ GIR_RootConstrainSelectedInstOperands,
8636 /* 21664 */ // GIR_Coverage, 20033,
8637 /* 21664 */ GIR_EraseRootFromParent_Done,
8638 /* 21665 */ // Label 591: @21665
8639 /* 21665 */ GIM_Try, /*On fail goto*//*Label 592*/ GIMT_Encode4(21692), // Rule ID 18136 //
8640 /* 21670 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8641 /* 21673 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8642 /* 21677 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8643 /* 21681 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8644 /* 21685 */ // (and:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPANDrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
8645 /* 21685 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDrr),
8646 /* 21690 */ GIR_RootConstrainSelectedInstOperands,
8647 /* 21691 */ // GIR_Coverage, 18136,
8648 /* 21691 */ GIR_Done,
8649 /* 21692 */ // Label 592: @21692
8650 /* 21692 */ GIM_Try, /*On fail goto*//*Label 593*/ GIMT_Encode4(21719), // Rule ID 18160 //
8651 /* 21697 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
8652 /* 21700 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8653 /* 21704 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8654 /* 21708 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8655 /* 21712 */ // (and:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PANDrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
8656 /* 21712 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PANDrr),
8657 /* 21717 */ GIR_RootConstrainSelectedInstOperands,
8658 /* 21718 */ // GIR_Coverage, 18160,
8659 /* 21718 */ GIR_Done,
8660 /* 21719 */ // Label 593: @21719
8661 /* 21719 */ GIM_Try, /*On fail goto*//*Label 594*/ GIMT_Encode4(21746), // Rule ID 20025 //
8662 /* 21724 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
8663 /* 21727 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8664 /* 21731 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8665 /* 21735 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8666 /* 21739 */ // (and:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPANDQZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
8667 /* 21739 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rr),
8668 /* 21744 */ GIR_RootConstrainSelectedInstOperands,
8669 /* 21745 */ // GIR_Coverage, 20025,
8670 /* 21745 */ GIR_Done,
8671 /* 21746 */ // Label 594: @21746
8672 /* 21746 */ GIM_Reject,
8673 /* 21747 */ // Label 587: @21747
8674 /* 21747 */ GIM_Reject,
8675 /* 21748 */ // Label 443: @21748
8676 /* 21748 */ GIM_Try, /*On fail goto*//*Label 595*/ GIMT_Encode4(22213),
8677 /* 21753 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
8678 /* 21756 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
8679 /* 21759 */ GIM_Try, /*On fail goto*//*Label 596*/ GIMT_Encode4(21821), // Rule ID 25313 //
8680 /* 21764 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
8681 /* 21767 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8682 /* 21771 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8683 /* 21775 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8684 /* 21779 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8685 /* 21782 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8686 /* 21786 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8687 /* 21790 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8688 /* 21794 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8689 /* 21796 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8690 /* 21803 */ // (and:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPANDYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8691 /* 21803 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8692 /* 21806 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8693 /* 21808 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8694 /* 21810 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8695 /* 21814 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8696 /* 21819 */ GIR_RootConstrainSelectedInstOperands,
8697 /* 21820 */ // GIR_Coverage, 25313,
8698 /* 21820 */ GIR_EraseRootFromParent_Done,
8699 /* 21821 */ // Label 596: @21821
8700 /* 21821 */ GIM_Try, /*On fail goto*//*Label 597*/ GIMT_Encode4(21883), // Rule ID 25322 //
8701 /* 21826 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
8702 /* 21829 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8703 /* 21833 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8704 /* 21837 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8705 /* 21841 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8706 /* 21844 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8707 /* 21848 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8708 /* 21852 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8709 /* 21856 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8710 /* 21858 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8711 /* 21865 */ // (and:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VANDPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8712 /* 21865 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8713 /* 21868 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8714 /* 21870 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8715 /* 21872 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8716 /* 21876 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8717 /* 21881 */ GIR_RootConstrainSelectedInstOperands,
8718 /* 21882 */ // GIR_Coverage, 25322,
8719 /* 21882 */ GIR_EraseRootFromParent_Done,
8720 /* 21883 */ // Label 597: @21883
8721 /* 21883 */ GIM_Try, /*On fail goto*//*Label 598*/ GIMT_Encode4(21945), // Rule ID 25521 //
8722 /* 21888 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
8723 /* 21891 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8724 /* 21895 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8725 /* 21899 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8726 /* 21903 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8727 /* 21906 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8728 /* 21910 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8729 /* 21914 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8730 /* 21918 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8731 /* 21920 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8732 /* 21927 */ // (and:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPANDQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8733 /* 21927 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
8734 /* 21930 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8735 /* 21932 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8736 /* 21934 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8737 /* 21938 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8738 /* 21943 */ GIR_RootConstrainSelectedInstOperands,
8739 /* 21944 */ // GIR_Coverage, 25521,
8740 /* 21944 */ GIR_EraseRootFromParent_Done,
8741 /* 21945 */ // Label 598: @21945
8742 /* 21945 */ GIM_Try, /*On fail goto*//*Label 599*/ GIMT_Encode4(22007), // Rule ID 18093 //
8743 /* 21950 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
8744 /* 21953 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8745 /* 21957 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8746 /* 21961 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8747 /* 21965 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8748 /* 21969 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8749 /* 21972 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8750 /* 21976 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8751 /* 21980 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8752 /* 21982 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8753 /* 21989 */ // (and:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8754 /* 21989 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8755 /* 21992 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8756 /* 21994 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8757 /* 21996 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8758 /* 22000 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8759 /* 22005 */ GIR_RootConstrainSelectedInstOperands,
8760 /* 22006 */ // GIR_Coverage, 18093,
8761 /* 22006 */ GIR_EraseRootFromParent_Done,
8762 /* 22007 */ // Label 599: @22007
8763 /* 22007 */ GIM_Try, /*On fail goto*//*Label 600*/ GIMT_Encode4(22069), // Rule ID 18121 //
8764 /* 22012 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
8765 /* 22015 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8766 /* 22019 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8767 /* 22023 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8768 /* 22027 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8769 /* 22031 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8770 /* 22034 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8771 /* 22038 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8772 /* 22042 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8773 /* 22044 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8774 /* 22051 */ // (and:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VANDPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8775 /* 22051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8776 /* 22054 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8777 /* 22056 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8778 /* 22058 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8779 /* 22062 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8780 /* 22067 */ GIR_RootConstrainSelectedInstOperands,
8781 /* 22068 */ // GIR_Coverage, 18121,
8782 /* 22068 */ GIR_EraseRootFromParent_Done,
8783 /* 22069 */ // Label 600: @22069
8784 /* 22069 */ GIM_Try, /*On fail goto*//*Label 601*/ GIMT_Encode4(22131), // Rule ID 20050 //
8785 /* 22074 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
8786 /* 22077 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8787 /* 22081 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8788 /* 22085 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8789 /* 22089 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8790 /* 22093 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8791 /* 22096 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8792 /* 22100 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8793 /* 22104 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8794 /* 22106 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8795 /* 22113 */ // (and:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8796 /* 22113 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
8797 /* 22116 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8798 /* 22118 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8799 /* 22120 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8800 /* 22124 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8801 /* 22129 */ GIR_RootConstrainSelectedInstOperands,
8802 /* 22130 */ // GIR_Coverage, 20050,
8803 /* 22130 */ GIR_EraseRootFromParent_Done,
8804 /* 22131 */ // Label 601: @22131
8805 /* 22131 */ GIM_Try, /*On fail goto*//*Label 602*/ GIMT_Encode4(22158), // Rule ID 18081 //
8806 /* 22136 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
8807 /* 22139 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8808 /* 22143 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8809 /* 22147 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8810 /* 22151 */ // (and:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPANDYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
8811 /* 22151 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDYrr),
8812 /* 22156 */ GIR_RootConstrainSelectedInstOperands,
8813 /* 22157 */ // GIR_Coverage, 18081,
8814 /* 22157 */ GIR_Done,
8815 /* 22158 */ // Label 602: @22158
8816 /* 22158 */ GIM_Try, /*On fail goto*//*Label 603*/ GIMT_Encode4(22185), // Rule ID 18105 //
8817 /* 22163 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
8818 /* 22166 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8819 /* 22170 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8820 /* 22174 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8821 /* 22178 */ // (and:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VANDPSYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
8822 /* 22178 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VANDPSYrr),
8823 /* 22183 */ GIR_RootConstrainSelectedInstOperands,
8824 /* 22184 */ // GIR_Coverage, 18105,
8825 /* 22184 */ GIR_Done,
8826 /* 22185 */ // Label 603: @22185
8827 /* 22185 */ GIM_Try, /*On fail goto*//*Label 604*/ GIMT_Encode4(22212), // Rule ID 20042 //
8828 /* 22190 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
8829 /* 22193 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8830 /* 22197 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8831 /* 22201 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8832 /* 22205 */ // (and:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPANDQZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
8833 /* 22205 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rr),
8834 /* 22210 */ GIR_RootConstrainSelectedInstOperands,
8835 /* 22211 */ // GIR_Coverage, 20042,
8836 /* 22211 */ GIR_Done,
8837 /* 22212 */ // Label 604: @22212
8838 /* 22212 */ GIM_Reject,
8839 /* 22213 */ // Label 595: @22213
8840 /* 22213 */ GIM_Reject,
8841 /* 22214 */ // Label 444: @22214
8842 /* 22214 */ GIM_Try, /*On fail goto*//*Label 605*/ GIMT_Encode4(22369),
8843 /* 22219 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
8844 /* 22222 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
8845 /* 22225 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8846 /* 22229 */ GIM_Try, /*On fail goto*//*Label 606*/ GIMT_Encode4(22287), // Rule ID 24237 //
8847 /* 22234 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
8848 /* 22237 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8849 /* 22241 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8850 /* 22245 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8851 /* 22248 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8852 /* 22252 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8853 /* 22256 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8854 /* 22260 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8855 /* 22262 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8856 /* 22269 */ // (and:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPANDDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8857 /* 22269 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZrm),
8858 /* 22272 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8859 /* 22274 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8860 /* 22276 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8861 /* 22280 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8862 /* 22285 */ GIR_RootConstrainSelectedInstOperands,
8863 /* 22286 */ // GIR_Coverage, 24237,
8864 /* 22286 */ GIR_EraseRootFromParent_Done,
8865 /* 22287 */ // Label 606: @22287
8866 /* 22287 */ GIM_Try, /*On fail goto*//*Label 607*/ GIMT_Encode4(22345), // Rule ID 5720 //
8867 /* 22292 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
8868 /* 22295 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8869 /* 22299 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8870 /* 22303 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8871 /* 22307 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8872 /* 22310 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8873 /* 22314 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8874 /* 22318 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8875 /* 22320 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8876 /* 22327 */ // (and:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8877 /* 22327 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZrm),
8878 /* 22330 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8879 /* 22332 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8880 /* 22334 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8881 /* 22338 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8882 /* 22343 */ GIR_RootConstrainSelectedInstOperands,
8883 /* 22344 */ // GIR_Coverage, 5720,
8884 /* 22344 */ GIR_EraseRootFromParent_Done,
8885 /* 22345 */ // Label 607: @22345
8886 /* 22345 */ GIM_Try, /*On fail goto*//*Label 608*/ GIMT_Encode4(22368), // Rule ID 5717 //
8887 /* 22350 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
8888 /* 22353 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8889 /* 22357 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8890 /* 22361 */ // (and:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPANDDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
8891 /* 22361 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDDZrr),
8892 /* 22366 */ GIR_RootConstrainSelectedInstOperands,
8893 /* 22367 */ // GIR_Coverage, 5717,
8894 /* 22367 */ GIR_Done,
8895 /* 22368 */ // Label 608: @22368
8896 /* 22368 */ GIM_Reject,
8897 /* 22369 */ // Label 605: @22369
8898 /* 22369 */ GIM_Reject,
8899 /* 22370 */ // Label 445: @22370
8900 /* 22370 */ GIM_Try, /*On fail goto*//*Label 609*/ GIMT_Encode4(22529),
8901 /* 22375 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
8902 /* 22378 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
8903 /* 22381 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
8904 /* 22385 */ GIM_Try, /*On fail goto*//*Label 610*/ GIMT_Encode4(22445), // Rule ID 4435 //
8905 /* 22390 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
8906 /* 22393 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8907 /* 22397 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
8908 /* 22401 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
8909 /* 22405 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
8910 /* 22409 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
8911 /* 22414 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
8912 /* 22418 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
8913 /* 22424 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
8914 /* 22426 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
8915 /* 22430 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
8916 /* 22432 */ // (and:{ *:[v32i1] } (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, immAllOnesV:{ *:[v32i1] }), VK32:{ *:[v32i1] }:$src2) => (KANDNDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
8917 /* 22432 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNDkk),
8918 /* 22435 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8919 /* 22437 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
8920 /* 22441 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
8921 /* 22443 */ GIR_RootConstrainSelectedInstOperands,
8922 /* 22444 */ // GIR_Coverage, 4435,
8923 /* 22444 */ GIR_EraseRootFromParent_Done,
8924 /* 22445 */ // Label 610: @22445
8925 /* 22445 */ GIM_Try, /*On fail goto*//*Label 611*/ GIMT_Encode4(22505), // Rule ID 23776 //
8926 /* 22450 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
8927 /* 22453 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
8928 /* 22457 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8929 /* 22461 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
8930 /* 22465 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
8931 /* 22469 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
8932 /* 22473 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
8933 /* 22478 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
8934 /* 22482 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
8935 /* 22488 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
8936 /* 22490 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
8937 /* 22492 */ // (and:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src2, (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, immAllOnesV:{ *:[v32i1] })) => (KANDNDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
8938 /* 22492 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNDkk),
8939 /* 22495 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8940 /* 22497 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
8941 /* 22501 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
8942 /* 22503 */ GIR_RootConstrainSelectedInstOperands,
8943 /* 22504 */ // GIR_Coverage, 23776,
8944 /* 22504 */ GIR_EraseRootFromParent_Done,
8945 /* 22505 */ // Label 611: @22505
8946 /* 22505 */ GIM_Try, /*On fail goto*//*Label 612*/ GIMT_Encode4(22528), // Rule ID 4419 //
8947 /* 22510 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
8948 /* 22513 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
8949 /* 22517 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
8950 /* 22521 */ // (and:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2) => (KANDDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
8951 /* 22521 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KANDDkk),
8952 /* 22526 */ GIR_RootConstrainSelectedInstOperands,
8953 /* 22527 */ // GIR_Coverage, 4419,
8954 /* 22527 */ GIR_Done,
8955 /* 22528 */ // Label 612: @22528
8956 /* 22528 */ GIM_Reject,
8957 /* 22529 */ // Label 609: @22529
8958 /* 22529 */ GIM_Reject,
8959 /* 22530 */ // Label 446: @22530
8960 /* 22530 */ GIM_Try, /*On fail goto*//*Label 613*/ GIMT_Encode4(22995),
8961 /* 22535 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
8962 /* 22538 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
8963 /* 22541 */ GIM_Try, /*On fail goto*//*Label 614*/ GIMT_Encode4(22603), // Rule ID 25312 //
8964 /* 22546 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
8965 /* 22549 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8966 /* 22553 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8967 /* 22557 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8968 /* 22561 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8969 /* 22564 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8970 /* 22568 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8971 /* 22572 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8972 /* 22576 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8973 /* 22578 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8974 /* 22585 */ // (and:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPANDYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
8975 /* 22585 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8976 /* 22588 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8977 /* 22590 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8978 /* 22592 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8979 /* 22596 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8980 /* 22601 */ GIR_RootConstrainSelectedInstOperands,
8981 /* 22602 */ // GIR_Coverage, 25312,
8982 /* 22602 */ GIR_EraseRootFromParent_Done,
8983 /* 22603 */ // Label 614: @22603
8984 /* 22603 */ GIM_Try, /*On fail goto*//*Label 615*/ GIMT_Encode4(22665), // Rule ID 25321 //
8985 /* 22608 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
8986 /* 22611 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8987 /* 22615 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8988 /* 22619 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8989 /* 22623 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8990 /* 22626 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8991 /* 22630 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8992 /* 22634 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8993 /* 22638 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8994 /* 22640 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8995 /* 22647 */ // (and:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VANDPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
8996 /* 22647 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8997 /* 22650 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8998 /* 22652 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8999 /* 22654 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9000 /* 22658 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9001 /* 22663 */ GIR_RootConstrainSelectedInstOperands,
9002 /* 22664 */ // GIR_Coverage, 25321,
9003 /* 22664 */ GIR_EraseRootFromParent_Done,
9004 /* 22665 */ // Label 615: @22665
9005 /* 22665 */ GIM_Try, /*On fail goto*//*Label 616*/ GIMT_Encode4(22727), // Rule ID 25520 //
9006 /* 22670 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
9007 /* 22673 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9008 /* 22677 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9009 /* 22681 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9010 /* 22685 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9011 /* 22688 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9012 /* 22692 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9013 /* 22696 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9014 /* 22700 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9015 /* 22702 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9016 /* 22709 */ // (and:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPANDQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9017 /* 22709 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
9018 /* 22712 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9019 /* 22714 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9020 /* 22716 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9021 /* 22720 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9022 /* 22725 */ GIR_RootConstrainSelectedInstOperands,
9023 /* 22726 */ // GIR_Coverage, 25520,
9024 /* 22726 */ GIR_EraseRootFromParent_Done,
9025 /* 22727 */ // Label 616: @22727
9026 /* 22727 */ GIM_Try, /*On fail goto*//*Label 617*/ GIMT_Encode4(22789), // Rule ID 18092 //
9027 /* 22732 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
9028 /* 22735 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9029 /* 22739 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9030 /* 22743 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9031 /* 22747 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9032 /* 22751 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9033 /* 22754 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9034 /* 22758 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9035 /* 22762 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9036 /* 22764 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9037 /* 22771 */ // (and:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9038 /* 22771 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
9039 /* 22774 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9040 /* 22776 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9041 /* 22778 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9042 /* 22782 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9043 /* 22787 */ GIR_RootConstrainSelectedInstOperands,
9044 /* 22788 */ // GIR_Coverage, 18092,
9045 /* 22788 */ GIR_EraseRootFromParent_Done,
9046 /* 22789 */ // Label 617: @22789
9047 /* 22789 */ GIM_Try, /*On fail goto*//*Label 618*/ GIMT_Encode4(22851), // Rule ID 18120 //
9048 /* 22794 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
9049 /* 22797 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9050 /* 22801 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9051 /* 22805 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9052 /* 22809 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9053 /* 22813 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9054 /* 22816 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9055 /* 22820 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9056 /* 22824 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9057 /* 22826 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9058 /* 22833 */ // (and:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VANDPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9059 /* 22833 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
9060 /* 22836 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9061 /* 22838 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9062 /* 22840 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9063 /* 22844 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9064 /* 22849 */ GIR_RootConstrainSelectedInstOperands,
9065 /* 22850 */ // GIR_Coverage, 18120,
9066 /* 22850 */ GIR_EraseRootFromParent_Done,
9067 /* 22851 */ // Label 618: @22851
9068 /* 22851 */ GIM_Try, /*On fail goto*//*Label 619*/ GIMT_Encode4(22913), // Rule ID 20049 //
9069 /* 22856 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
9070 /* 22859 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9071 /* 22863 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9072 /* 22867 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9073 /* 22871 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9074 /* 22875 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9075 /* 22878 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9076 /* 22882 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9077 /* 22886 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9078 /* 22888 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9079 /* 22895 */ // (and:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9080 /* 22895 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
9081 /* 22898 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9082 /* 22900 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9083 /* 22902 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9084 /* 22906 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9085 /* 22911 */ GIR_RootConstrainSelectedInstOperands,
9086 /* 22912 */ // GIR_Coverage, 20049,
9087 /* 22912 */ GIR_EraseRootFromParent_Done,
9088 /* 22913 */ // Label 619: @22913
9089 /* 22913 */ GIM_Try, /*On fail goto*//*Label 620*/ GIMT_Encode4(22940), // Rule ID 18080 //
9090 /* 22918 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
9091 /* 22921 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9092 /* 22925 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9093 /* 22929 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9094 /* 22933 */ // (and:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPANDYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
9095 /* 22933 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDYrr),
9096 /* 22938 */ GIR_RootConstrainSelectedInstOperands,
9097 /* 22939 */ // GIR_Coverage, 18080,
9098 /* 22939 */ GIR_Done,
9099 /* 22940 */ // Label 620: @22940
9100 /* 22940 */ GIM_Try, /*On fail goto*//*Label 621*/ GIMT_Encode4(22967), // Rule ID 18104 //
9101 /* 22945 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
9102 /* 22948 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9103 /* 22952 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9104 /* 22956 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9105 /* 22960 */ // (and:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VANDPSYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
9106 /* 22960 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VANDPSYrr),
9107 /* 22965 */ GIR_RootConstrainSelectedInstOperands,
9108 /* 22966 */ // GIR_Coverage, 18104,
9109 /* 22966 */ GIR_Done,
9110 /* 22967 */ // Label 621: @22967
9111 /* 22967 */ GIM_Try, /*On fail goto*//*Label 622*/ GIMT_Encode4(22994), // Rule ID 20041 //
9112 /* 22972 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
9113 /* 22975 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9114 /* 22979 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9115 /* 22983 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9116 /* 22987 */ // (and:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPANDQZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
9117 /* 22987 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rr),
9118 /* 22992 */ GIR_RootConstrainSelectedInstOperands,
9119 /* 22993 */ // GIR_Coverage, 20041,
9120 /* 22993 */ GIR_Done,
9121 /* 22994 */ // Label 622: @22994
9122 /* 22994 */ GIM_Reject,
9123 /* 22995 */ // Label 613: @22995
9124 /* 22995 */ GIM_Reject,
9125 /* 22996 */ // Label 447: @22996
9126 /* 22996 */ GIM_Try, /*On fail goto*//*Label 623*/ GIMT_Encode4(23151),
9127 /* 23001 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
9128 /* 23004 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
9129 /* 23007 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9130 /* 23011 */ GIM_Try, /*On fail goto*//*Label 624*/ GIMT_Encode4(23069), // Rule ID 25527 //
9131 /* 23016 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9132 /* 23019 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9133 /* 23023 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9134 /* 23027 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9135 /* 23030 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9136 /* 23034 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9137 /* 23038 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9138 /* 23042 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9139 /* 23044 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9140 /* 23051 */ // (and:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPANDQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
9141 /* 23051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
9142 /* 23054 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9143 /* 23056 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9144 /* 23058 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9145 /* 23062 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9146 /* 23067 */ GIR_RootConstrainSelectedInstOperands,
9147 /* 23068 */ // GIR_Coverage, 25527,
9148 /* 23068 */ GIR_EraseRootFromParent_Done,
9149 /* 23069 */ // Label 624: @23069
9150 /* 23069 */ GIM_Try, /*On fail goto*//*Label 625*/ GIMT_Encode4(23127), // Rule ID 20066 //
9151 /* 23074 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9152 /* 23077 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9153 /* 23081 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9154 /* 23085 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9155 /* 23089 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9156 /* 23092 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9157 /* 23096 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9158 /* 23100 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9159 /* 23102 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9160 /* 23109 */ // (and:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
9161 /* 23109 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
9162 /* 23112 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9163 /* 23114 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9164 /* 23116 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9165 /* 23120 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9166 /* 23125 */ GIR_RootConstrainSelectedInstOperands,
9167 /* 23126 */ // GIR_Coverage, 20066,
9168 /* 23126 */ GIR_EraseRootFromParent_Done,
9169 /* 23127 */ // Label 625: @23127
9170 /* 23127 */ GIM_Try, /*On fail goto*//*Label 626*/ GIMT_Encode4(23150), // Rule ID 20058 //
9171 /* 23132 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9172 /* 23135 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9173 /* 23139 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9174 /* 23143 */ // (and:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPANDQZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
9175 /* 23143 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZrr),
9176 /* 23148 */ GIR_RootConstrainSelectedInstOperands,
9177 /* 23149 */ // GIR_Coverage, 20058,
9178 /* 23149 */ GIR_Done,
9179 /* 23150 */ // Label 626: @23150
9180 /* 23150 */ GIM_Reject,
9181 /* 23151 */ // Label 623: @23151
9182 /* 23151 */ GIM_Reject,
9183 /* 23152 */ // Label 448: @23152
9184 /* 23152 */ GIM_Try, /*On fail goto*//*Label 627*/ GIMT_Encode4(23311),
9185 /* 23157 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
9186 /* 23160 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s1,
9187 /* 23163 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
9188 /* 23167 */ GIM_Try, /*On fail goto*//*Label 628*/ GIMT_Encode4(23227), // Rule ID 4436 //
9189 /* 23172 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
9190 /* 23175 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9191 /* 23179 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9192 /* 23183 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
9193 /* 23187 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
9194 /* 23191 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
9195 /* 23196 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
9196 /* 23200 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
9197 /* 23206 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
9198 /* 23208 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
9199 /* 23212 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9200 /* 23214 */ // (and:{ *:[v64i1] } (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, immAllOnesV:{ *:[v64i1] }), VK64:{ *:[v64i1] }:$src2) => (KANDNQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
9201 /* 23214 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNQkk),
9202 /* 23217 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9203 /* 23219 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
9204 /* 23223 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
9205 /* 23225 */ GIR_RootConstrainSelectedInstOperands,
9206 /* 23226 */ // GIR_Coverage, 4436,
9207 /* 23226 */ GIR_EraseRootFromParent_Done,
9208 /* 23227 */ // Label 628: @23227
9209 /* 23227 */ GIM_Try, /*On fail goto*//*Label 629*/ GIMT_Encode4(23287), // Rule ID 23777 //
9210 /* 23232 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
9211 /* 23235 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
9212 /* 23239 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9213 /* 23243 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9214 /* 23247 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
9215 /* 23251 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
9216 /* 23255 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
9217 /* 23260 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
9218 /* 23264 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
9219 /* 23270 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
9220 /* 23272 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9221 /* 23274 */ // (and:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src2, (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, immAllOnesV:{ *:[v64i1] })) => (KANDNQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
9222 /* 23274 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNQkk),
9223 /* 23277 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9224 /* 23279 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
9225 /* 23283 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
9226 /* 23285 */ GIR_RootConstrainSelectedInstOperands,
9227 /* 23286 */ // GIR_Coverage, 23777,
9228 /* 23286 */ GIR_EraseRootFromParent_Done,
9229 /* 23287 */ // Label 629: @23287
9230 /* 23287 */ GIM_Try, /*On fail goto*//*Label 630*/ GIMT_Encode4(23310), // Rule ID 4420 //
9231 /* 23292 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
9232 /* 23295 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
9233 /* 23299 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
9234 /* 23303 */ // (and:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2) => (KANDQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
9235 /* 23303 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KANDQkk),
9236 /* 23308 */ GIR_RootConstrainSelectedInstOperands,
9237 /* 23309 */ // GIR_Coverage, 4420,
9238 /* 23309 */ GIR_Done,
9239 /* 23310 */ // Label 630: @23310
9240 /* 23310 */ GIM_Reject,
9241 /* 23311 */ // Label 627: @23311
9242 /* 23311 */ GIM_Reject,
9243 /* 23312 */ // Label 449: @23312
9244 /* 23312 */ GIM_Try, /*On fail goto*//*Label 631*/ GIMT_Encode4(23467),
9245 /* 23317 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
9246 /* 23320 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
9247 /* 23323 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9248 /* 23327 */ GIM_Try, /*On fail goto*//*Label 632*/ GIMT_Encode4(23385), // Rule ID 25526 //
9249 /* 23332 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9250 /* 23335 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9251 /* 23339 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9252 /* 23343 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9253 /* 23346 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9254 /* 23350 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9255 /* 23354 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9256 /* 23358 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9257 /* 23360 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9258 /* 23367 */ // (and:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPANDQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9259 /* 23367 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
9260 /* 23370 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9261 /* 23372 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9262 /* 23374 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9263 /* 23378 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9264 /* 23383 */ GIR_RootConstrainSelectedInstOperands,
9265 /* 23384 */ // GIR_Coverage, 25526,
9266 /* 23384 */ GIR_EraseRootFromParent_Done,
9267 /* 23385 */ // Label 632: @23385
9268 /* 23385 */ GIM_Try, /*On fail goto*//*Label 633*/ GIMT_Encode4(23443), // Rule ID 20065 //
9269 /* 23390 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9270 /* 23393 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9271 /* 23397 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9272 /* 23401 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9273 /* 23405 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9274 /* 23408 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9275 /* 23412 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9276 /* 23416 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9277 /* 23418 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9278 /* 23425 */ // (and:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9279 /* 23425 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
9280 /* 23428 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9281 /* 23430 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9282 /* 23432 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9283 /* 23436 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9284 /* 23441 */ GIR_RootConstrainSelectedInstOperands,
9285 /* 23442 */ // GIR_Coverage, 20065,
9286 /* 23442 */ GIR_EraseRootFromParent_Done,
9287 /* 23443 */ // Label 633: @23443
9288 /* 23443 */ GIM_Try, /*On fail goto*//*Label 634*/ GIMT_Encode4(23466), // Rule ID 20057 //
9289 /* 23448 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9290 /* 23451 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9291 /* 23455 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9292 /* 23459 */ // (and:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPANDQZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
9293 /* 23459 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZrr),
9294 /* 23464 */ GIR_RootConstrainSelectedInstOperands,
9295 /* 23465 */ // GIR_Coverage, 20057,
9296 /* 23465 */ GIR_Done,
9297 /* 23466 */ // Label 634: @23466
9298 /* 23466 */ GIM_Reject,
9299 /* 23467 */ // Label 631: @23467
9300 /* 23467 */ GIM_Reject,
9301 /* 23468 */ // Label 450: @23468
9302 /* 23468 */ GIM_Reject,
9303 /* 23469 */ // Label 4: @23469
9304 /* 23469 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(25), /*)*//*default:*//*Label 658*/ GIMT_Encode4(31356),
9305 /* 23480 */ /*GILLT_s1*//*Label 635*/ GIMT_Encode4(23580),
9306 /* 23484 */ /*GILLT_s8*//*Label 636*/ GIMT_Encode4(23680),
9307 /* 23488 */ /*GILLT_s16*//*Label 637*/ GIMT_Encode4(23951),
9308 /* 23492 */ /*GILLT_s32*//*Label 638*/ GIMT_Encode4(24426),
9309 /* 23496 */ /*GILLT_s64*//*Label 639*/ GIMT_Encode4(25746), GIMT_Encode4(0), GIMT_Encode4(0),
9310 /* 23508 */ /*GILLT_v2s1*//*Label 640*/ GIMT_Encode4(27074),
9311 /* 23512 */ /*GILLT_v2s64*//*Label 641*/ GIMT_Encode4(27174),
9312 /* 23516 */ /*GILLT_v4s1*//*Label 642*/ GIMT_Encode4(27516),
9313 /* 23520 */ /*GILLT_v4s32*//*Label 643*/ GIMT_Encode4(27616),
9314 /* 23524 */ /*GILLT_v4s64*//*Label 644*/ GIMT_Encode4(27958),
9315 /* 23528 */ /*GILLT_v8s1*//*Label 645*/ GIMT_Encode4(28424),
9316 /* 23532 */ /*GILLT_v8s16*//*Label 646*/ GIMT_Encode4(28548),
9317 /* 23536 */ /*GILLT_v8s32*//*Label 647*/ GIMT_Encode4(28890),
9318 /* 23540 */ /*GILLT_v8s64*//*Label 648*/ GIMT_Encode4(29356),
9319 /* 23544 */ /*GILLT_v16s1*//*Label 649*/ GIMT_Encode4(29512),
9320 /* 23548 */ /*GILLT_v16s8*//*Label 650*/ GIMT_Encode4(29546),
9321 /* 23552 */ /*GILLT_v16s16*//*Label 651*/ GIMT_Encode4(29888),
9322 /* 23556 */ /*GILLT_v16s32*//*Label 652*/ GIMT_Encode4(30354),
9323 /* 23560 */ /*GILLT_v32s1*//*Label 653*/ GIMT_Encode4(30510),
9324 /* 23564 */ /*GILLT_v32s8*//*Label 654*/ GIMT_Encode4(30544),
9325 /* 23568 */ /*GILLT_v32s16*//*Label 655*/ GIMT_Encode4(31010),
9326 /* 23572 */ /*GILLT_v64s1*//*Label 656*/ GIMT_Encode4(31166),
9327 /* 23576 */ /*GILLT_v64s8*//*Label 657*/ GIMT_Encode4(31200),
9328 /* 23580 */ // Label 635: @23580
9329 /* 23580 */ GIM_Try, /*On fail goto*//*Label 659*/ GIMT_Encode4(23679), // Rule ID 19490 //
9330 /* 23585 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s1,
9331 /* 23588 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s1,
9332 /* 23591 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
9333 /* 23595 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
9334 /* 23599 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
9335 /* 23603 */ // (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] })
9336 /* 23603 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
9337 /* 23606 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
9338 /* 23610 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9339 /* 23615 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
9340 /* 23619 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
9341 /* 23624 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
9342 /* 23627 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
9343 /* 23631 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9344 /* 23636 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
9345 /* 23640 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
9346 /* 23645 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
9347 /* 23648 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KORWkk),
9348 /* 23652 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9349 /* 23657 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
9350 /* 23660 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
9351 /* 23663 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
9352 /* 23665 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
9353 /* 23668 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9354 /* 23670 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
9355 /* 23673 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
9356 /* 23678 */ // GIR_Coverage, 19490,
9357 /* 23678 */ GIR_EraseRootFromParent_Done,
9358 /* 23679 */ // Label 659: @23679
9359 /* 23679 */ GIM_Reject,
9360 /* 23680 */ // Label 636: @23680
9361 /* 23680 */ GIM_Try, /*On fail goto*//*Label 660*/ GIMT_Encode4(23950),
9362 /* 23685 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
9363 /* 23688 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
9364 /* 23691 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9365 /* 23695 */ GIM_Try, /*On fail goto*//*Label 661*/ GIMT_Encode4(23756), // Rule ID 26143 //
9366 /* 23700 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
9367 /* 23703 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9368 /* 23707 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9369 /* 23711 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9370 /* 23714 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9371 /* 23718 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
9372 /* 23722 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9373 /* 23726 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9374 /* 23728 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9375 /* 23735 */ // (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)
9376 /* 23735 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8rm),
9377 /* 23738 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9378 /* 23740 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9379 /* 23742 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9380 /* 23746 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9381 /* 23749 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9382 /* 23754 */ GIR_RootConstrainSelectedInstOperands,
9383 /* 23755 */ // GIR_Coverage, 26143,
9384 /* 23755 */ GIR_EraseRootFromParent_Done,
9385 /* 23756 */ // Label 661: @23756
9386 /* 23756 */ GIM_Try, /*On fail goto*//*Label 662*/ GIMT_Encode4(23817), // Rule ID 22910 //
9387 /* 23761 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
9388 /* 23764 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9389 /* 23768 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9390 /* 23772 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9391 /* 23776 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9392 /* 23779 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9393 /* 23783 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
9394 /* 23787 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9395 /* 23789 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9396 /* 23796 */ // (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)
9397 /* 23796 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8rm),
9398 /* 23799 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9399 /* 23801 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9400 /* 23803 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9401 /* 23807 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9402 /* 23810 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9403 /* 23815 */ GIR_RootConstrainSelectedInstOperands,
9404 /* 23816 */ // GIR_Coverage, 22910,
9405 /* 23816 */ GIR_EraseRootFromParent_Done,
9406 /* 23817 */ // Label 662: @23817
9407 /* 23817 */ GIM_Try, /*On fail goto*//*Label 663*/ GIMT_Encode4(23854), // Rule ID 22914 //
9408 /* 23822 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
9409 /* 23825 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9410 /* 23829 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9411 /* 23833 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9412 /* 23837 */ // MIs[1] Operand 1
9413 /* 23837 */ // No operand predicates
9414 /* 23837 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9415 /* 23839 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (OR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
9416 /* 23839 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8ri),
9417 /* 23842 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9418 /* 23844 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9419 /* 23846 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
9420 /* 23849 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9421 /* 23852 */ GIR_RootConstrainSelectedInstOperands,
9422 /* 23853 */ // GIR_Coverage, 22914,
9423 /* 23853 */ GIR_EraseRootFromParent_Done,
9424 /* 23854 */ // Label 663: @23854
9425 /* 23854 */ GIM_Try, /*On fail goto*//*Label 664*/ GIMT_Encode4(23891), // Rule ID 23004 //
9426 /* 23859 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
9427 /* 23862 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9428 /* 23866 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9429 /* 23870 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9430 /* 23874 */ // MIs[1] Operand 1
9431 /* 23874 */ // No operand predicates
9432 /* 23874 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9433 /* 23876 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (OR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
9434 /* 23876 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8ri_ND),
9435 /* 23879 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9436 /* 23881 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9437 /* 23883 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
9438 /* 23886 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9439 /* 23889 */ GIR_RootConstrainSelectedInstOperands,
9440 /* 23890 */ // GIR_Coverage, 23004,
9441 /* 23890 */ GIR_EraseRootFromParent_Done,
9442 /* 23891 */ // Label 664: @23891
9443 /* 23891 */ GIM_Try, /*On fail goto*//*Label 665*/ GIMT_Encode4(23920), // Rule ID 22906 //
9444 /* 23896 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
9445 /* 23899 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9446 /* 23903 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9447 /* 23907 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (OR8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
9448 /* 23907 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR8rr),
9449 /* 23912 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
9450 /* 23918 */ GIR_RootConstrainSelectedInstOperands,
9451 /* 23919 */ // GIR_Coverage, 22906,
9452 /* 23919 */ GIR_Done,
9453 /* 23920 */ // Label 665: @23920
9454 /* 23920 */ GIM_Try, /*On fail goto*//*Label 666*/ GIMT_Encode4(23949), // Rule ID 22996 //
9455 /* 23925 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
9456 /* 23928 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9457 /* 23932 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9458 /* 23936 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (OR8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
9459 /* 23936 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR8rr_ND),
9460 /* 23941 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
9461 /* 23947 */ GIR_RootConstrainSelectedInstOperands,
9462 /* 23948 */ // GIR_Coverage, 22996,
9463 /* 23948 */ GIR_Done,
9464 /* 23949 */ // Label 666: @23949
9465 /* 23949 */ GIM_Reject,
9466 /* 23950 */ // Label 660: @23950
9467 /* 23950 */ GIM_Reject,
9468 /* 23951 */ // Label 637: @23951
9469 /* 23951 */ GIM_Try, /*On fail goto*//*Label 667*/ GIMT_Encode4(24425),
9470 /* 23956 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
9471 /* 23959 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
9472 /* 23962 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9473 /* 23966 */ GIM_Try, /*On fail goto*//*Label 668*/ GIMT_Encode4(24027), // Rule ID 26144 //
9474 /* 23971 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
9475 /* 23974 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9476 /* 23978 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9477 /* 23982 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9478 /* 23985 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9479 /* 23989 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
9480 /* 23993 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9481 /* 23997 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9482 /* 23999 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9483 /* 24006 */ // (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)
9484 /* 24006 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16rm),
9485 /* 24009 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9486 /* 24011 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9487 /* 24013 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9488 /* 24017 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9489 /* 24020 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9490 /* 24025 */ GIR_RootConstrainSelectedInstOperands,
9491 /* 24026 */ // GIR_Coverage, 26144,
9492 /* 24026 */ GIR_EraseRootFromParent_Done,
9493 /* 24027 */ // Label 668: @24027
9494 /* 24027 */ GIM_Try, /*On fail goto*//*Label 669*/ GIMT_Encode4(24088), // Rule ID 22911 //
9495 /* 24032 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
9496 /* 24035 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9497 /* 24039 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9498 /* 24043 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9499 /* 24047 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9500 /* 24050 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9501 /* 24054 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
9502 /* 24058 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9503 /* 24060 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9504 /* 24067 */ // (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)
9505 /* 24067 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16rm),
9506 /* 24070 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9507 /* 24072 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9508 /* 24074 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9509 /* 24078 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9510 /* 24081 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9511 /* 24086 */ GIR_RootConstrainSelectedInstOperands,
9512 /* 24087 */ // GIR_Coverage, 22911,
9513 /* 24087 */ GIR_EraseRootFromParent_Done,
9514 /* 24088 */ // Label 669: @24088
9515 /* 24088 */ GIM_Try, /*On fail goto*//*Label 670*/ GIMT_Encode4(24190), // Rule ID 26119 //
9516 /* 24093 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9517 /* 24097 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
9518 /* 24101 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
9519 /* 24105 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
9520 /* 24109 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
9521 /* 24113 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9522 /* 24118 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9523 /* 24122 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9524 /* 24124 */ // (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] }))
9525 /* 24124 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
9526 /* 24127 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
9527 /* 24131 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9528 /* 24136 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
9529 /* 24138 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
9530 /* 24141 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
9531 /* 24145 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9532 /* 24150 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
9533 /* 24153 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
9534 /* 24157 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
9535 /* 24160 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
9536 /* 24165 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
9537 /* 24170 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
9538 /* 24175 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS16rr),
9539 /* 24178 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9540 /* 24180 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9541 /* 24182 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
9542 /* 24185 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9543 /* 24188 */ GIR_RootConstrainSelectedInstOperands,
9544 /* 24189 */ // GIR_Coverage, 26119,
9545 /* 24189 */ GIR_EraseRootFromParent_Done,
9546 /* 24190 */ // Label 670: @24190
9547 /* 24190 */ GIM_Try, /*On fail goto*//*Label 671*/ GIMT_Encode4(24292), // Rule ID 22857 //
9548 /* 24195 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9549 /* 24199 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9550 /* 24203 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
9551 /* 24207 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
9552 /* 24211 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
9553 /* 24215 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
9554 /* 24219 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9555 /* 24224 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9556 /* 24226 */ // (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] }))
9557 /* 24226 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
9558 /* 24229 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
9559 /* 24233 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9560 /* 24238 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
9561 /* 24240 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
9562 /* 24243 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
9563 /* 24247 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9564 /* 24252 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
9565 /* 24255 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
9566 /* 24259 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
9567 /* 24262 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
9568 /* 24267 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
9569 /* 24272 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
9570 /* 24277 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS16rr),
9571 /* 24280 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9572 /* 24282 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9573 /* 24284 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
9574 /* 24287 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9575 /* 24290 */ GIR_RootConstrainSelectedInstOperands,
9576 /* 24291 */ // GIR_Coverage, 22857,
9577 /* 24291 */ GIR_EraseRootFromParent_Done,
9578 /* 24292 */ // Label 671: @24292
9579 /* 24292 */ GIM_Try, /*On fail goto*//*Label 672*/ GIMT_Encode4(24329), // Rule ID 22915 //
9580 /* 24297 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
9581 /* 24300 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9582 /* 24304 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9583 /* 24308 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9584 /* 24312 */ // MIs[1] Operand 1
9585 /* 24312 */ // No operand predicates
9586 /* 24312 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9587 /* 24314 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (OR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
9588 /* 24314 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16ri),
9589 /* 24317 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9590 /* 24319 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9591 /* 24321 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
9592 /* 24324 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9593 /* 24327 */ GIR_RootConstrainSelectedInstOperands,
9594 /* 24328 */ // GIR_Coverage, 22915,
9595 /* 24328 */ GIR_EraseRootFromParent_Done,
9596 /* 24329 */ // Label 672: @24329
9597 /* 24329 */ GIM_Try, /*On fail goto*//*Label 673*/ GIMT_Encode4(24366), // Rule ID 23005 //
9598 /* 24334 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
9599 /* 24337 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9600 /* 24341 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9601 /* 24345 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9602 /* 24349 */ // MIs[1] Operand 1
9603 /* 24349 */ // No operand predicates
9604 /* 24349 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9605 /* 24351 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (OR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
9606 /* 24351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16ri_ND),
9607 /* 24354 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9608 /* 24356 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9609 /* 24358 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
9610 /* 24361 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9611 /* 24364 */ GIR_RootConstrainSelectedInstOperands,
9612 /* 24365 */ // GIR_Coverage, 23005,
9613 /* 24365 */ GIR_EraseRootFromParent_Done,
9614 /* 24366 */ // Label 673: @24366
9615 /* 24366 */ GIM_Try, /*On fail goto*//*Label 674*/ GIMT_Encode4(24395), // Rule ID 22907 //
9616 /* 24371 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
9617 /* 24374 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9618 /* 24378 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9619 /* 24382 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (OR16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
9620 /* 24382 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR16rr),
9621 /* 24387 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
9622 /* 24393 */ GIR_RootConstrainSelectedInstOperands,
9623 /* 24394 */ // GIR_Coverage, 22907,
9624 /* 24394 */ GIR_Done,
9625 /* 24395 */ // Label 674: @24395
9626 /* 24395 */ GIM_Try, /*On fail goto*//*Label 675*/ GIMT_Encode4(24424), // Rule ID 22997 //
9627 /* 24400 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
9628 /* 24403 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9629 /* 24407 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9630 /* 24411 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (OR16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
9631 /* 24411 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR16rr_ND),
9632 /* 24416 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
9633 /* 24422 */ GIR_RootConstrainSelectedInstOperands,
9634 /* 24423 */ // GIR_Coverage, 22997,
9635 /* 24423 */ GIR_Done,
9636 /* 24424 */ // Label 675: @24424
9637 /* 24424 */ GIM_Reject,
9638 /* 24425 */ // Label 667: @24425
9639 /* 24425 */ GIM_Reject,
9640 /* 24426 */ // Label 638: @24426
9641 /* 24426 */ GIM_Try, /*On fail goto*//*Label 676*/ GIMT_Encode4(25745),
9642 /* 24431 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
9643 /* 24434 */ GIM_Try, /*On fail goto*//*Label 677*/ GIMT_Encode4(24502), // Rule ID 26145 //
9644 /* 24439 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
9645 /* 24442 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9646 /* 24445 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9647 /* 24449 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9648 /* 24453 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9649 /* 24457 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9650 /* 24460 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9651 /* 24464 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
9652 /* 24468 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9653 /* 24472 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9654 /* 24474 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9655 /* 24481 */ // (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)
9656 /* 24481 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32rm),
9657 /* 24484 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9658 /* 24486 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9659 /* 24488 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9660 /* 24492 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9661 /* 24495 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9662 /* 24500 */ GIR_RootConstrainSelectedInstOperands,
9663 /* 24501 */ // GIR_Coverage, 26145,
9664 /* 24501 */ GIR_EraseRootFromParent_Done,
9665 /* 24502 */ // Label 677: @24502
9666 /* 24502 */ GIM_Try, /*On fail goto*//*Label 678*/ GIMT_Encode4(24570), // Rule ID 22912 //
9667 /* 24507 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
9668 /* 24510 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9669 /* 24513 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9670 /* 24517 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9671 /* 24521 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9672 /* 24525 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9673 /* 24529 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9674 /* 24532 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9675 /* 24536 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
9676 /* 24540 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9677 /* 24542 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9678 /* 24549 */ // (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)
9679 /* 24549 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32rm),
9680 /* 24552 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9681 /* 24554 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9682 /* 24556 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9683 /* 24560 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9684 /* 24563 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9685 /* 24568 */ GIR_RootConstrainSelectedInstOperands,
9686 /* 24569 */ // GIR_Coverage, 22912,
9687 /* 24569 */ GIR_EraseRootFromParent_Done,
9688 /* 24570 */ // Label 678: @24570
9689 /* 24570 */ GIM_Try, /*On fail goto*//*Label 679*/ GIMT_Encode4(24647), // Rule ID 25085 //
9690 /* 24575 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
9691 /* 24578 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9692 /* 24581 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9693 /* 24585 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9694 /* 24589 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
9695 /* 24593 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9696 /* 24597 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9697 /* 24601 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9698 /* 24606 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
9699 /* 24610 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
9700 /* 24614 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
9701 /* 24618 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
9702 /* 24622 */ // MIs[2] src
9703 /* 24622 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
9704 /* 24627 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
9705 /* 24631 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9706 /* 24633 */ // (or:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (BLSIC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9707 /* 24633 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC32rr),
9708 /* 24636 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9709 /* 24638 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
9710 /* 24642 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9711 /* 24645 */ GIR_RootConstrainSelectedInstOperands,
9712 /* 24646 */ // GIR_Coverage, 25085,
9713 /* 24646 */ GIR_EraseRootFromParent_Done,
9714 /* 24647 */ // Label 679: @24647
9715 /* 24647 */ GIM_Try, /*On fail goto*//*Label 680*/ GIMT_Encode4(24724), // Rule ID 25087 //
9716 /* 24652 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
9717 /* 24655 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9718 /* 24658 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9719 /* 24662 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9720 /* 24666 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
9721 /* 24670 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9722 /* 24674 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9723 /* 24678 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9724 /* 24683 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
9725 /* 24687 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
9726 /* 24691 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
9727 /* 24695 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
9728 /* 24699 */ // MIs[2] src
9729 /* 24699 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
9730 /* 24704 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
9731 /* 24708 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9732 /* 24710 */ // (or:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (T1MSKC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9733 /* 24710 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::T1MSKC32rr),
9734 /* 24713 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9735 /* 24715 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
9736 /* 24719 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9737 /* 24722 */ GIR_RootConstrainSelectedInstOperands,
9738 /* 24723 */ // GIR_Coverage, 25087,
9739 /* 24723 */ GIR_EraseRootFromParent_Done,
9740 /* 24724 */ // Label 680: @24724
9741 /* 24724 */ GIM_Try, /*On fail goto*//*Label 681*/ GIMT_Encode4(24802), // Rule ID 25073 //
9742 /* 24729 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
9743 /* 24732 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9744 /* 24736 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9745 /* 24740 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9746 /* 24744 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9747 /* 24748 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9748 /* 24752 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
9749 /* 24756 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
9750 /* 24760 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
9751 /* 24764 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
9752 /* 24768 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9753 /* 24773 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
9754 /* 24777 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
9755 /* 24781 */ // MIs[0] src
9756 /* 24781 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/2, /*OtherOpIdx*/1,
9757 /* 24786 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9758 /* 24788 */ // (or:{ *:[i32] } (xor:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), -1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLCI32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9759 /* 24788 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI32rr),
9760 /* 24791 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9761 /* 24793 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src
9762 /* 24797 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9763 /* 24800 */ GIR_RootConstrainSelectedInstOperands,
9764 /* 24801 */ // GIR_Coverage, 25073,
9765 /* 24801 */ GIR_EraseRootFromParent_Done,
9766 /* 24802 */ // Label 681: @24802
9767 /* 24802 */ GIM_Try, /*On fail goto*//*Label 682*/ GIMT_Encode4(24879), // Rule ID 17352 //
9768 /* 24807 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
9769 /* 24810 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9770 /* 24813 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9771 /* 24817 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9772 /* 24821 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9773 /* 24825 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9774 /* 24829 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9775 /* 24833 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9776 /* 24838 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
9777 /* 24842 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
9778 /* 24846 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
9779 /* 24850 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
9780 /* 24854 */ // MIs[2] src
9781 /* 24854 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
9782 /* 24859 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
9783 /* 24863 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9784 /* 24865 */ // (or:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (BLSIC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9785 /* 24865 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC32rr),
9786 /* 24868 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9787 /* 24870 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
9788 /* 24874 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9789 /* 24877 */ GIR_RootConstrainSelectedInstOperands,
9790 /* 24878 */ // GIR_Coverage, 17352,
9791 /* 24878 */ GIR_EraseRootFromParent_Done,
9792 /* 24879 */ // Label 682: @24879
9793 /* 24879 */ GIM_Try, /*On fail goto*//*Label 683*/ GIMT_Encode4(24956), // Rule ID 17354 //
9794 /* 24884 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
9795 /* 24887 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9796 /* 24890 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9797 /* 24894 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9798 /* 24898 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9799 /* 24902 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9800 /* 24906 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9801 /* 24910 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9802 /* 24915 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
9803 /* 24919 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
9804 /* 24923 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
9805 /* 24927 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
9806 /* 24931 */ // MIs[2] src
9807 /* 24931 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
9808 /* 24936 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
9809 /* 24940 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9810 /* 24942 */ // (or:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (T1MSKC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9811 /* 24942 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::T1MSKC32rr),
9812 /* 24945 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9813 /* 24947 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
9814 /* 24951 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9815 /* 24954 */ GIR_RootConstrainSelectedInstOperands,
9816 /* 24955 */ // GIR_Coverage, 17354,
9817 /* 24955 */ GIR_EraseRootFromParent_Done,
9818 /* 24956 */ // Label 683: @24956
9819 /* 24956 */ GIM_Try, /*On fail goto*//*Label 684*/ GIMT_Encode4(25030), // Rule ID 17340 //
9820 /* 24961 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
9821 /* 24964 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9822 /* 24967 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9823 /* 24971 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9824 /* 24975 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9825 /* 24979 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9826 /* 24983 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9827 /* 24987 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9828 /* 24991 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
9829 /* 24995 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
9830 /* 24999 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
9831 /* 25003 */ // MIs[2] src
9832 /* 25003 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
9833 /* 25008 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
9834 /* 25012 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
9835 /* 25016 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9836 /* 25018 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, (xor:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), -1:{ *:[i32] })) => (BLCI32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9837 /* 25018 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI32rr),
9838 /* 25021 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9839 /* 25023 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
9840 /* 25025 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9841 /* 25028 */ GIR_RootConstrainSelectedInstOperands,
9842 /* 25029 */ // GIR_Coverage, 17340,
9843 /* 25029 */ GIR_EraseRootFromParent_Done,
9844 /* 25030 */ // Label 684: @25030
9845 /* 25030 */ GIM_Try, /*On fail goto*//*Label 685*/ GIMT_Encode4(25088), // Rule ID 25081 //
9846 /* 25035 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
9847 /* 25038 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9848 /* 25042 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9849 /* 25046 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
9850 /* 25050 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9851 /* 25054 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9852 /* 25058 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9853 /* 25063 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
9854 /* 25067 */ // MIs[0] src
9855 /* 25067 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
9856 /* 25072 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9857 /* 25074 */ // (or:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLCS32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9858 /* 25074 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCS32rr),
9859 /* 25077 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9860 /* 25079 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
9861 /* 25083 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9862 /* 25086 */ GIR_RootConstrainSelectedInstOperands,
9863 /* 25087 */ // GIR_Coverage, 25081,
9864 /* 25087 */ GIR_EraseRootFromParent_Done,
9865 /* 25088 */ // Label 685: @25088
9866 /* 25088 */ GIM_Try, /*On fail goto*//*Label 686*/ GIMT_Encode4(25146), // Rule ID 25083 //
9867 /* 25093 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
9868 /* 25096 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9869 /* 25100 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9870 /* 25104 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
9871 /* 25108 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9872 /* 25112 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9873 /* 25116 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9874 /* 25121 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
9875 /* 25125 */ // MIs[0] src
9876 /* 25125 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
9877 /* 25130 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9878 /* 25132 */ // (or:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLSFILL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9879 /* 25132 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSFILL32rr),
9880 /* 25135 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9881 /* 25137 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
9882 /* 25141 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9883 /* 25144 */ GIR_RootConstrainSelectedInstOperands,
9884 /* 25145 */ // GIR_Coverage, 25083,
9885 /* 25145 */ GIR_EraseRootFromParent_Done,
9886 /* 25146 */ // Label 686: @25146
9887 /* 25146 */ GIM_Try, /*On fail goto*//*Label 687*/ GIMT_Encode4(25255), // Rule ID 26125 //
9888 /* 25151 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9889 /* 25154 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9890 /* 25158 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9891 /* 25162 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
9892 /* 25166 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9893 /* 25170 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
9894 /* 25174 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
9895 /* 25178 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9896 /* 25183 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9897 /* 25187 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9898 /* 25189 */ // (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] }))
9899 /* 25189 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
9900 /* 25192 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
9901 /* 25196 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9902 /* 25201 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
9903 /* 25203 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
9904 /* 25206 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
9905 /* 25210 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9906 /* 25215 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
9907 /* 25218 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
9908 /* 25222 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
9909 /* 25225 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
9910 /* 25230 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
9911 /* 25235 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
9912 /* 25240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS32rr),
9913 /* 25243 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9914 /* 25245 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9915 /* 25247 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
9916 /* 25250 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9917 /* 25253 */ GIR_RootConstrainSelectedInstOperands,
9918 /* 25254 */ // GIR_Coverage, 26125,
9919 /* 25254 */ GIR_EraseRootFromParent_Done,
9920 /* 25255 */ // Label 687: @25255
9921 /* 25255 */ GIM_Try, /*On fail goto*//*Label 688*/ GIMT_Encode4(25313), // Rule ID 25075 //
9922 /* 25260 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
9923 /* 25263 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9924 /* 25267 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9925 /* 25271 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
9926 /* 25275 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9927 /* 25279 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9928 /* 25283 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
9929 /* 25287 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9930 /* 25292 */ // MIs[0] src
9931 /* 25292 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/2,
9932 /* 25297 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9933 /* 25299 */ // (or:{ *:[i32] } (sub:{ *:[i32] } -2:{ *:[i32] }, GR32:{ *:[i32] }:$src), GR32:{ *:[i32] }:$src) => (BLCI32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9934 /* 25299 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI32rr),
9935 /* 25302 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9936 /* 25304 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
9937 /* 25308 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9938 /* 25311 */ GIR_RootConstrainSelectedInstOperands,
9939 /* 25312 */ // GIR_Coverage, 25075,
9940 /* 25312 */ GIR_EraseRootFromParent_Done,
9941 /* 25313 */ // Label 688: @25313
9942 /* 25313 */ GIM_Try, /*On fail goto*//*Label 689*/ GIMT_Encode4(25367), // Rule ID 17348 //
9943 /* 25318 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
9944 /* 25321 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9945 /* 25324 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9946 /* 25328 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9947 /* 25332 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9948 /* 25336 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
9949 /* 25340 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9950 /* 25344 */ // MIs[1] src
9951 /* 25344 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
9952 /* 25349 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
9953 /* 25353 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9954 /* 25355 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (BLCS32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9955 /* 25355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCS32rr),
9956 /* 25358 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9957 /* 25360 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
9958 /* 25362 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9959 /* 25365 */ GIR_RootConstrainSelectedInstOperands,
9960 /* 25366 */ // GIR_Coverage, 17348,
9961 /* 25366 */ GIR_EraseRootFromParent_Done,
9962 /* 25367 */ // Label 689: @25367
9963 /* 25367 */ GIM_Try, /*On fail goto*//*Label 690*/ GIMT_Encode4(25421), // Rule ID 17350 //
9964 /* 25372 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
9965 /* 25375 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9966 /* 25378 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9967 /* 25382 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9968 /* 25386 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9969 /* 25390 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
9970 /* 25394 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9971 /* 25398 */ // MIs[1] src
9972 /* 25398 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
9973 /* 25403 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
9974 /* 25407 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9975 /* 25409 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (BLSFILL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9976 /* 25409 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSFILL32rr),
9977 /* 25412 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9978 /* 25414 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
9979 /* 25416 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9980 /* 25419 */ GIR_RootConstrainSelectedInstOperands,
9981 /* 25420 */ // GIR_Coverage, 17350,
9982 /* 25420 */ GIR_EraseRootFromParent_Done,
9983 /* 25421 */ // Label 690: @25421
9984 /* 25421 */ GIM_Try, /*On fail goto*//*Label 691*/ GIMT_Encode4(25530), // Rule ID 22863 //
9985 /* 25426 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9986 /* 25429 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9987 /* 25433 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9988 /* 25437 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9989 /* 25441 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
9990 /* 25445 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9991 /* 25449 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
9992 /* 25453 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
9993 /* 25457 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9994 /* 25462 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9995 /* 25464 */ // (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] }))
9996 /* 25464 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
9997 /* 25467 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
9998 /* 25471 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9999 /* 25476 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
10000 /* 25478 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
10001 /* 25481 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
10002 /* 25485 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10003 /* 25490 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10004 /* 25493 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
10005 /* 25497 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
10006 /* 25500 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
10007 /* 25505 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
10008 /* 25510 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
10009 /* 25515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS32rr),
10010 /* 25518 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10011 /* 25520 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10012 /* 25522 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10013 /* 25525 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10014 /* 25528 */ GIR_RootConstrainSelectedInstOperands,
10015 /* 25529 */ // GIR_Coverage, 22863,
10016 /* 25529 */ GIR_EraseRootFromParent_Done,
10017 /* 25530 */ // Label 691: @25530
10018 /* 25530 */ GIM_Try, /*On fail goto*//*Label 692*/ GIMT_Encode4(25584), // Rule ID 17342 //
10019 /* 25535 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10020 /* 25538 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10021 /* 25541 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10022 /* 25545 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10023 /* 25549 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10024 /* 25553 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
10025 /* 25557 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10026 /* 25561 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
10027 /* 25565 */ // MIs[1] src
10028 /* 25565 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/2, /*OtherMI*/0, /*OtherOpIdx*/1,
10029 /* 25570 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10030 /* 25572 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, (sub:{ *:[i32] } -2:{ *:[i32] }, GR32:{ *:[i32] }:$src)) => (BLCI32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10031 /* 25572 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI32rr),
10032 /* 25575 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10033 /* 25577 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10034 /* 25579 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10035 /* 25582 */ GIR_RootConstrainSelectedInstOperands,
10036 /* 25583 */ // GIR_Coverage, 17342,
10037 /* 25583 */ GIR_EraseRootFromParent_Done,
10038 /* 25584 */ // Label 692: @25584
10039 /* 25584 */ GIM_Try, /*On fail goto*//*Label 693*/ GIMT_Encode4(25628), // Rule ID 22916 //
10040 /* 25589 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10041 /* 25592 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10042 /* 25595 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10043 /* 25599 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10044 /* 25603 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10045 /* 25607 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
10046 /* 25611 */ // MIs[1] Operand 1
10047 /* 25611 */ // No operand predicates
10048 /* 25611 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10049 /* 25613 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (OR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
10050 /* 25613 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32ri),
10051 /* 25616 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10052 /* 25618 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10053 /* 25620 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
10054 /* 25623 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10055 /* 25626 */ GIR_RootConstrainSelectedInstOperands,
10056 /* 25627 */ // GIR_Coverage, 22916,
10057 /* 25627 */ GIR_EraseRootFromParent_Done,
10058 /* 25628 */ // Label 693: @25628
10059 /* 25628 */ GIM_Try, /*On fail goto*//*Label 694*/ GIMT_Encode4(25672), // Rule ID 23006 //
10060 /* 25633 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10061 /* 25636 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10062 /* 25639 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10063 /* 25643 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10064 /* 25647 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10065 /* 25651 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
10066 /* 25655 */ // MIs[1] Operand 1
10067 /* 25655 */ // No operand predicates
10068 /* 25655 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10069 /* 25657 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (OR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
10070 /* 25657 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32ri_ND),
10071 /* 25660 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10072 /* 25662 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10073 /* 25664 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
10074 /* 25667 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10075 /* 25670 */ GIR_RootConstrainSelectedInstOperands,
10076 /* 25671 */ // GIR_Coverage, 23006,
10077 /* 25671 */ GIR_EraseRootFromParent_Done,
10078 /* 25672 */ // Label 694: @25672
10079 /* 25672 */ GIM_Try, /*On fail goto*//*Label 695*/ GIMT_Encode4(25708), // Rule ID 22908 //
10080 /* 25677 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10081 /* 25680 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10082 /* 25683 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10083 /* 25687 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10084 /* 25691 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10085 /* 25695 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (OR32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
10086 /* 25695 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR32rr),
10087 /* 25700 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
10088 /* 25706 */ GIR_RootConstrainSelectedInstOperands,
10089 /* 25707 */ // GIR_Coverage, 22908,
10090 /* 25707 */ GIR_Done,
10091 /* 25708 */ // Label 695: @25708
10092 /* 25708 */ GIM_Try, /*On fail goto*//*Label 696*/ GIMT_Encode4(25744), // Rule ID 22998 //
10093 /* 25713 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10094 /* 25716 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10095 /* 25719 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10096 /* 25723 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10097 /* 25727 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10098 /* 25731 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (OR32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
10099 /* 25731 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR32rr_ND),
10100 /* 25736 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
10101 /* 25742 */ GIR_RootConstrainSelectedInstOperands,
10102 /* 25743 */ // GIR_Coverage, 22998,
10103 /* 25743 */ GIR_Done,
10104 /* 25744 */ // Label 696: @25744
10105 /* 25744 */ GIM_Reject,
10106 /* 25745 */ // Label 676: @25745
10107 /* 25745 */ GIM_Reject,
10108 /* 25746 */ // Label 639: @25746
10109 /* 25746 */ GIM_Try, /*On fail goto*//*Label 697*/ GIMT_Encode4(27073),
10110 /* 25751 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
10111 /* 25754 */ GIM_Try, /*On fail goto*//*Label 698*/ GIMT_Encode4(25822), // Rule ID 26146 //
10112 /* 25759 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10113 /* 25762 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10114 /* 25765 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10115 /* 25769 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10116 /* 25773 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10117 /* 25777 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10118 /* 25780 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10119 /* 25784 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10120 /* 25788 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10121 /* 25792 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10122 /* 25794 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10123 /* 25801 */ // (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)
10124 /* 25801 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64rm),
10125 /* 25804 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10126 /* 25806 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10127 /* 25808 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10128 /* 25812 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10129 /* 25815 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10130 /* 25820 */ GIR_RootConstrainSelectedInstOperands,
10131 /* 25821 */ // GIR_Coverage, 26146,
10132 /* 25821 */ GIR_EraseRootFromParent_Done,
10133 /* 25822 */ // Label 698: @25822
10134 /* 25822 */ GIM_Try, /*On fail goto*//*Label 699*/ GIMT_Encode4(25890), // Rule ID 22913 //
10135 /* 25827 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10136 /* 25830 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10137 /* 25833 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10138 /* 25837 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10139 /* 25841 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10140 /* 25845 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10141 /* 25849 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10142 /* 25852 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10143 /* 25856 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10144 /* 25860 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10145 /* 25862 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10146 /* 25869 */ // (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)
10147 /* 25869 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64rm),
10148 /* 25872 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10149 /* 25874 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10150 /* 25876 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10151 /* 25880 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10152 /* 25883 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10153 /* 25888 */ GIR_RootConstrainSelectedInstOperands,
10154 /* 25889 */ // GIR_Coverage, 22913,
10155 /* 25889 */ GIR_EraseRootFromParent_Done,
10156 /* 25890 */ // Label 699: @25890
10157 /* 25890 */ GIM_Try, /*On fail goto*//*Label 700*/ GIMT_Encode4(25967), // Rule ID 25086 //
10158 /* 25895 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10159 /* 25898 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10160 /* 25901 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10161 /* 25905 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10162 /* 25909 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10163 /* 25913 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10164 /* 25917 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10165 /* 25921 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10166 /* 25926 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10167 /* 25930 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
10168 /* 25934 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
10169 /* 25938 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
10170 /* 25942 */ // MIs[2] src
10171 /* 25942 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
10172 /* 25947 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
10173 /* 25951 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10174 /* 25953 */ // (or:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (BLSIC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10175 /* 25953 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC64rr),
10176 /* 25956 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10177 /* 25958 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10178 /* 25962 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10179 /* 25965 */ GIR_RootConstrainSelectedInstOperands,
10180 /* 25966 */ // GIR_Coverage, 25086,
10181 /* 25966 */ GIR_EraseRootFromParent_Done,
10182 /* 25967 */ // Label 700: @25967
10183 /* 25967 */ GIM_Try, /*On fail goto*//*Label 701*/ GIMT_Encode4(26044), // Rule ID 25088 //
10184 /* 25972 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10185 /* 25975 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10186 /* 25978 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10187 /* 25982 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10188 /* 25986 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10189 /* 25990 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10190 /* 25994 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10191 /* 25998 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10192 /* 26003 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
10193 /* 26007 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
10194 /* 26011 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
10195 /* 26015 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
10196 /* 26019 */ // MIs[2] src
10197 /* 26019 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
10198 /* 26024 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
10199 /* 26028 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10200 /* 26030 */ // (or:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (T1MSKC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10201 /* 26030 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::T1MSKC64rr),
10202 /* 26033 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10203 /* 26035 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10204 /* 26039 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10205 /* 26042 */ GIR_RootConstrainSelectedInstOperands,
10206 /* 26043 */ // GIR_Coverage, 25088,
10207 /* 26043 */ GIR_EraseRootFromParent_Done,
10208 /* 26044 */ // Label 701: @26044
10209 /* 26044 */ GIM_Try, /*On fail goto*//*Label 702*/ GIMT_Encode4(26122), // Rule ID 25074 //
10210 /* 26049 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10211 /* 26052 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10212 /* 26056 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10213 /* 26060 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
10214 /* 26064 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10215 /* 26068 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10216 /* 26072 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
10217 /* 26076 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
10218 /* 26080 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
10219 /* 26084 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
10220 /* 26088 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10221 /* 26093 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
10222 /* 26097 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10223 /* 26101 */ // MIs[0] src
10224 /* 26101 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/2, /*OtherOpIdx*/1,
10225 /* 26106 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10226 /* 26108 */ // (or:{ *:[i64] } (xor:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), -1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLCI64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10227 /* 26108 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI64rr),
10228 /* 26111 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10229 /* 26113 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src
10230 /* 26117 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10231 /* 26120 */ GIR_RootConstrainSelectedInstOperands,
10232 /* 26121 */ // GIR_Coverage, 25074,
10233 /* 26121 */ GIR_EraseRootFromParent_Done,
10234 /* 26122 */ // Label 702: @26122
10235 /* 26122 */ GIM_Try, /*On fail goto*//*Label 703*/ GIMT_Encode4(26199), // Rule ID 17353 //
10236 /* 26127 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10237 /* 26130 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10238 /* 26133 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10239 /* 26137 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10240 /* 26141 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
10241 /* 26145 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10242 /* 26149 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10243 /* 26153 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10244 /* 26158 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10245 /* 26162 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
10246 /* 26166 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
10247 /* 26170 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
10248 /* 26174 */ // MIs[2] src
10249 /* 26174 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
10250 /* 26179 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
10251 /* 26183 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10252 /* 26185 */ // (or:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (BLSIC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10253 /* 26185 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC64rr),
10254 /* 26188 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10255 /* 26190 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10256 /* 26194 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10257 /* 26197 */ GIR_RootConstrainSelectedInstOperands,
10258 /* 26198 */ // GIR_Coverage, 17353,
10259 /* 26198 */ GIR_EraseRootFromParent_Done,
10260 /* 26199 */ // Label 703: @26199
10261 /* 26199 */ GIM_Try, /*On fail goto*//*Label 704*/ GIMT_Encode4(26276), // Rule ID 17355 //
10262 /* 26204 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10263 /* 26207 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10264 /* 26210 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10265 /* 26214 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10266 /* 26218 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
10267 /* 26222 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10268 /* 26226 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10269 /* 26230 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10270 /* 26235 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10271 /* 26239 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
10272 /* 26243 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
10273 /* 26247 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
10274 /* 26251 */ // MIs[2] src
10275 /* 26251 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
10276 /* 26256 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
10277 /* 26260 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10278 /* 26262 */ // (or:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (T1MSKC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10279 /* 26262 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::T1MSKC64rr),
10280 /* 26265 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10281 /* 26267 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10282 /* 26271 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10283 /* 26274 */ GIR_RootConstrainSelectedInstOperands,
10284 /* 26275 */ // GIR_Coverage, 17355,
10285 /* 26275 */ GIR_EraseRootFromParent_Done,
10286 /* 26276 */ // Label 704: @26276
10287 /* 26276 */ GIM_Try, /*On fail goto*//*Label 705*/ GIMT_Encode4(26350), // Rule ID 17341 //
10288 /* 26281 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10289 /* 26284 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10290 /* 26287 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10291 /* 26291 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10292 /* 26295 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10293 /* 26299 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
10294 /* 26303 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10295 /* 26307 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10296 /* 26311 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
10297 /* 26315 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
10298 /* 26319 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
10299 /* 26323 */ // MIs[2] src
10300 /* 26323 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
10301 /* 26328 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
10302 /* 26332 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10303 /* 26336 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10304 /* 26338 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, (xor:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), -1:{ *:[i64] })) => (BLCI64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10305 /* 26338 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI64rr),
10306 /* 26341 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10307 /* 26343 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10308 /* 26345 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10309 /* 26348 */ GIR_RootConstrainSelectedInstOperands,
10310 /* 26349 */ // GIR_Coverage, 17341,
10311 /* 26349 */ GIR_EraseRootFromParent_Done,
10312 /* 26350 */ // Label 705: @26350
10313 /* 26350 */ GIM_Try, /*On fail goto*//*Label 706*/ GIMT_Encode4(26408), // Rule ID 25082 //
10314 /* 26355 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10315 /* 26358 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10316 /* 26362 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10317 /* 26366 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10318 /* 26370 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10319 /* 26374 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10320 /* 26378 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10321 /* 26383 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
10322 /* 26387 */ // MIs[0] src
10323 /* 26387 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
10324 /* 26392 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10325 /* 26394 */ // (or:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLCS64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10326 /* 26394 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCS64rr),
10327 /* 26397 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10328 /* 26399 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10329 /* 26403 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10330 /* 26406 */ GIR_RootConstrainSelectedInstOperands,
10331 /* 26407 */ // GIR_Coverage, 25082,
10332 /* 26407 */ GIR_EraseRootFromParent_Done,
10333 /* 26408 */ // Label 706: @26408
10334 /* 26408 */ GIM_Try, /*On fail goto*//*Label 707*/ GIMT_Encode4(26466), // Rule ID 25084 //
10335 /* 26413 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10336 /* 26416 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10337 /* 26420 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10338 /* 26424 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10339 /* 26428 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10340 /* 26432 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10341 /* 26436 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10342 /* 26441 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10343 /* 26445 */ // MIs[0] src
10344 /* 26445 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
10345 /* 26450 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10346 /* 26452 */ // (or:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLSFILL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10347 /* 26452 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSFILL64rr),
10348 /* 26455 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10349 /* 26457 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10350 /* 26461 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10351 /* 26464 */ GIR_RootConstrainSelectedInstOperands,
10352 /* 26465 */ // GIR_Coverage, 25084,
10353 /* 26465 */ GIR_EraseRootFromParent_Done,
10354 /* 26466 */ // Label 707: @26466
10355 /* 26466 */ GIM_Try, /*On fail goto*//*Label 708*/ GIMT_Encode4(26575), // Rule ID 26131 //
10356 /* 26471 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10357 /* 26474 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10358 /* 26478 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10359 /* 26482 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
10360 /* 26486 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10361 /* 26490 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
10362 /* 26494 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
10363 /* 26498 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10364 /* 26503 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10365 /* 26507 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10366 /* 26509 */ // (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] }))
10367 /* 26509 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
10368 /* 26512 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
10369 /* 26516 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10370 /* 26521 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
10371 /* 26523 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
10372 /* 26526 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
10373 /* 26530 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10374 /* 26535 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10375 /* 26538 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
10376 /* 26542 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
10377 /* 26545 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
10378 /* 26550 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
10379 /* 26555 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
10380 /* 26560 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS64rr),
10381 /* 26563 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10382 /* 26565 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10383 /* 26567 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10384 /* 26570 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10385 /* 26573 */ GIR_RootConstrainSelectedInstOperands,
10386 /* 26574 */ // GIR_Coverage, 26131,
10387 /* 26574 */ GIR_EraseRootFromParent_Done,
10388 /* 26575 */ // Label 708: @26575
10389 /* 26575 */ GIM_Try, /*On fail goto*//*Label 709*/ GIMT_Encode4(26633), // Rule ID 25076 //
10390 /* 26580 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10391 /* 26583 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10392 /* 26587 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10393 /* 26591 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
10394 /* 26595 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10395 /* 26599 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10396 /* 26603 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
10397 /* 26607 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10398 /* 26612 */ // MIs[0] src
10399 /* 26612 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/2,
10400 /* 26617 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10401 /* 26619 */ // (or:{ *:[i64] } (sub:{ *:[i64] } -2:{ *:[i64] }, GR64:{ *:[i64] }:$src), GR64:{ *:[i64] }:$src) => (BLCI64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10402 /* 26619 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI64rr),
10403 /* 26622 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10404 /* 26624 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
10405 /* 26628 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10406 /* 26631 */ GIR_RootConstrainSelectedInstOperands,
10407 /* 26632 */ // GIR_Coverage, 25076,
10408 /* 26632 */ GIR_EraseRootFromParent_Done,
10409 /* 26633 */ // Label 709: @26633
10410 /* 26633 */ GIM_Try, /*On fail goto*//*Label 710*/ GIMT_Encode4(26687), // Rule ID 17349 //
10411 /* 26638 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10412 /* 26641 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10413 /* 26644 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10414 /* 26648 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10415 /* 26652 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10416 /* 26656 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10417 /* 26660 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10418 /* 26664 */ // MIs[1] src
10419 /* 26664 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
10420 /* 26669 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
10421 /* 26673 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10422 /* 26675 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (BLCS64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10423 /* 26675 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCS64rr),
10424 /* 26678 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10425 /* 26680 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10426 /* 26682 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10427 /* 26685 */ GIR_RootConstrainSelectedInstOperands,
10428 /* 26686 */ // GIR_Coverage, 17349,
10429 /* 26686 */ GIR_EraseRootFromParent_Done,
10430 /* 26687 */ // Label 710: @26687
10431 /* 26687 */ GIM_Try, /*On fail goto*//*Label 711*/ GIMT_Encode4(26741), // Rule ID 17351 //
10432 /* 26692 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10433 /* 26695 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10434 /* 26698 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10435 /* 26702 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10436 /* 26706 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10437 /* 26710 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10438 /* 26714 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10439 /* 26718 */ // MIs[1] src
10440 /* 26718 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
10441 /* 26723 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10442 /* 26727 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10443 /* 26729 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (BLSFILL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10444 /* 26729 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSFILL64rr),
10445 /* 26732 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10446 /* 26734 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10447 /* 26736 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10448 /* 26739 */ GIR_RootConstrainSelectedInstOperands,
10449 /* 26740 */ // GIR_Coverage, 17351,
10450 /* 26740 */ GIR_EraseRootFromParent_Done,
10451 /* 26741 */ // Label 711: @26741
10452 /* 26741 */ GIM_Try, /*On fail goto*//*Label 712*/ GIMT_Encode4(26850), // Rule ID 22869 //
10453 /* 26746 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10454 /* 26749 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10455 /* 26753 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10456 /* 26757 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10457 /* 26761 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
10458 /* 26765 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10459 /* 26769 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
10460 /* 26773 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
10461 /* 26777 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10462 /* 26782 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10463 /* 26784 */ // (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] }))
10464 /* 26784 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
10465 /* 26787 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
10466 /* 26791 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10467 /* 26796 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
10468 /* 26798 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
10469 /* 26801 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
10470 /* 26805 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10471 /* 26810 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10472 /* 26813 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
10473 /* 26817 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
10474 /* 26820 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
10475 /* 26825 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
10476 /* 26830 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
10477 /* 26835 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS64rr),
10478 /* 26838 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10479 /* 26840 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10480 /* 26842 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10481 /* 26845 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10482 /* 26848 */ GIR_RootConstrainSelectedInstOperands,
10483 /* 26849 */ // GIR_Coverage, 22869,
10484 /* 26849 */ GIR_EraseRootFromParent_Done,
10485 /* 26850 */ // Label 712: @26850
10486 /* 26850 */ GIM_Try, /*On fail goto*//*Label 713*/ GIMT_Encode4(26904), // Rule ID 17343 //
10487 /* 26855 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10488 /* 26858 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10489 /* 26861 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10490 /* 26865 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10491 /* 26869 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10492 /* 26873 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
10493 /* 26877 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10494 /* 26881 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
10495 /* 26885 */ // MIs[1] src
10496 /* 26885 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/2, /*OtherMI*/0, /*OtherOpIdx*/1,
10497 /* 26890 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10498 /* 26892 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, (sub:{ *:[i64] } -2:{ *:[i64] }, GR64:{ *:[i64] }:$src)) => (BLCI64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10499 /* 26892 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI64rr),
10500 /* 26895 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10501 /* 26897 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10502 /* 26899 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10503 /* 26902 */ GIR_RootConstrainSelectedInstOperands,
10504 /* 26903 */ // GIR_Coverage, 17343,
10505 /* 26903 */ GIR_EraseRootFromParent_Done,
10506 /* 26904 */ // Label 713: @26904
10507 /* 26904 */ GIM_Try, /*On fail goto*//*Label 714*/ GIMT_Encode4(26952), // Rule ID 22917 //
10508 /* 26909 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10509 /* 26912 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10510 /* 26915 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10511 /* 26919 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10512 /* 26923 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10513 /* 26927 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
10514 /* 26931 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
10515 /* 26935 */ // MIs[1] Operand 1
10516 /* 26935 */ // No operand predicates
10517 /* 26935 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10518 /* 26937 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (OR64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
10519 /* 26937 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64ri32),
10520 /* 26940 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10521 /* 26942 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10522 /* 26944 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
10523 /* 26947 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10524 /* 26950 */ GIR_RootConstrainSelectedInstOperands,
10525 /* 26951 */ // GIR_Coverage, 22917,
10526 /* 26951 */ GIR_EraseRootFromParent_Done,
10527 /* 26952 */ // Label 714: @26952
10528 /* 26952 */ GIM_Try, /*On fail goto*//*Label 715*/ GIMT_Encode4(27000), // Rule ID 23007 //
10529 /* 26957 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10530 /* 26960 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10531 /* 26963 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10532 /* 26967 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10533 /* 26971 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10534 /* 26975 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
10535 /* 26979 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
10536 /* 26983 */ // MIs[1] Operand 1
10537 /* 26983 */ // No operand predicates
10538 /* 26983 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10539 /* 26985 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (OR64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
10540 /* 26985 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64ri32_ND),
10541 /* 26988 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10542 /* 26990 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10543 /* 26992 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
10544 /* 26995 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10545 /* 26998 */ GIR_RootConstrainSelectedInstOperands,
10546 /* 26999 */ // GIR_Coverage, 23007,
10547 /* 26999 */ GIR_EraseRootFromParent_Done,
10548 /* 27000 */ // Label 715: @27000
10549 /* 27000 */ GIM_Try, /*On fail goto*//*Label 716*/ GIMT_Encode4(27036), // Rule ID 22909 //
10550 /* 27005 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10551 /* 27008 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10552 /* 27011 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10553 /* 27015 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10554 /* 27019 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10555 /* 27023 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (OR64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
10556 /* 27023 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR64rr),
10557 /* 27028 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
10558 /* 27034 */ GIR_RootConstrainSelectedInstOperands,
10559 /* 27035 */ // GIR_Coverage, 22909,
10560 /* 27035 */ GIR_Done,
10561 /* 27036 */ // Label 716: @27036
10562 /* 27036 */ GIM_Try, /*On fail goto*//*Label 717*/ GIMT_Encode4(27072), // Rule ID 22999 //
10563 /* 27041 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10564 /* 27044 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10565 /* 27047 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10566 /* 27051 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10567 /* 27055 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10568 /* 27059 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (OR64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
10569 /* 27059 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR64rr_ND),
10570 /* 27064 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
10571 /* 27070 */ GIR_RootConstrainSelectedInstOperands,
10572 /* 27071 */ // GIR_Coverage, 22999,
10573 /* 27071 */ GIR_Done,
10574 /* 27072 */ // Label 717: @27072
10575 /* 27072 */ GIM_Reject,
10576 /* 27073 */ // Label 697: @27073
10577 /* 27073 */ GIM_Reject,
10578 /* 27074 */ // Label 640: @27074
10579 /* 27074 */ GIM_Try, /*On fail goto*//*Label 718*/ GIMT_Encode4(27173), // Rule ID 19491 //
10580 /* 27079 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
10581 /* 27082 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s1,
10582 /* 27085 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
10583 /* 27089 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
10584 /* 27093 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
10585 /* 27097 */ // (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] })
10586 /* 27097 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
10587 /* 27100 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10588 /* 27104 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10589 /* 27109 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
10590 /* 27113 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
10591 /* 27118 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
10592 /* 27121 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10593 /* 27125 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10594 /* 27130 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
10595 /* 27134 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
10596 /* 27139 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
10597 /* 27142 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KORWkk),
10598 /* 27146 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10599 /* 27151 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10600 /* 27154 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
10601 /* 27157 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
10602 /* 27159 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10603 /* 27162 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10604 /* 27164 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10605 /* 27167 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
10606 /* 27172 */ // GIR_Coverage, 19491,
10607 /* 27172 */ GIR_EraseRootFromParent_Done,
10608 /* 27173 */ // Label 718: @27173
10609 /* 27173 */ GIM_Reject,
10610 /* 27174 */ // Label 641: @27174
10611 /* 27174 */ GIM_Try, /*On fail goto*//*Label 719*/ GIMT_Encode4(27515),
10612 /* 27179 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
10613 /* 27182 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10614 /* 27185 */ GIM_Try, /*On fail goto*//*Label 720*/ GIMT_Encode4(27247), // Rule ID 23445 //
10615 /* 27190 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
10616 /* 27193 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10617 /* 27197 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10618 /* 27201 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10619 /* 27205 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10620 /* 27208 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10621 /* 27212 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10622 /* 27216 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10623 /* 27220 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10624 /* 27222 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10625 /* 27229 */ // (or:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src1) => (VPORrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
10626 /* 27229 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
10627 /* 27232 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10628 /* 27234 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10629 /* 27236 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10630 /* 27240 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10631 /* 27245 */ GIR_RootConstrainSelectedInstOperands,
10632 /* 27246 */ // GIR_Coverage, 23445,
10633 /* 27246 */ GIR_EraseRootFromParent_Done,
10634 /* 27247 */ // Label 720: @27247
10635 /* 27247 */ GIM_Try, /*On fail goto*//*Label 721*/ GIMT_Encode4(27309), // Rule ID 24267 //
10636 /* 27252 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
10637 /* 27255 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10638 /* 27259 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10639 /* 27263 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10640 /* 27267 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10641 /* 27270 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10642 /* 27274 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10643 /* 27278 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10644 /* 27282 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10645 /* 27284 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10646 /* 27291 */ // (or:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPORQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
10647 /* 27291 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
10648 /* 27294 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10649 /* 27296 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10650 /* 27298 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10651 /* 27302 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10652 /* 27307 */ GIR_RootConstrainSelectedInstOperands,
10653 /* 27308 */ // GIR_Coverage, 24267,
10654 /* 27308 */ GIR_EraseRootFromParent_Done,
10655 /* 27309 */ // Label 721: @27309
10656 /* 27309 */ GIM_Try, /*On fail goto*//*Label 722*/ GIMT_Encode4(27371), // Rule ID 2117 //
10657 /* 27314 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
10658 /* 27317 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10659 /* 27321 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10660 /* 27325 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10661 /* 27329 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10662 /* 27333 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10663 /* 27336 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10664 /* 27340 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10665 /* 27344 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10666 /* 27346 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10667 /* 27353 */ // (or:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
10668 /* 27353 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
10669 /* 27356 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10670 /* 27358 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10671 /* 27360 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10672 /* 27364 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10673 /* 27369 */ GIR_RootConstrainSelectedInstOperands,
10674 /* 27370 */ // GIR_Coverage, 2117,
10675 /* 27370 */ GIR_EraseRootFromParent_Done,
10676 /* 27371 */ // Label 722: @27371
10677 /* 27371 */ GIM_Try, /*On fail goto*//*Label 723*/ GIMT_Encode4(27433), // Rule ID 5765 //
10678 /* 27376 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
10679 /* 27379 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10680 /* 27383 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10681 /* 27387 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10682 /* 27391 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10683 /* 27395 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10684 /* 27398 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10685 /* 27402 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10686 /* 27406 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10687 /* 27408 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10688 /* 27415 */ // (or:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
10689 /* 27415 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
10690 /* 27418 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10691 /* 27420 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10692 /* 27422 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10693 /* 27426 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10694 /* 27431 */ GIR_RootConstrainSelectedInstOperands,
10695 /* 27432 */ // GIR_Coverage, 5765,
10696 /* 27432 */ GIR_EraseRootFromParent_Done,
10697 /* 27433 */ // Label 723: @27433
10698 /* 27433 */ GIM_Try, /*On fail goto*//*Label 724*/ GIMT_Encode4(27460), // Rule ID 2116 //
10699 /* 27438 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
10700 /* 27441 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10701 /* 27445 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10702 /* 27449 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10703 /* 27453 */ // (or:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPORrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
10704 /* 27453 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORrr),
10705 /* 27458 */ GIR_RootConstrainSelectedInstOperands,
10706 /* 27459 */ // GIR_Coverage, 2116,
10707 /* 27459 */ GIR_Done,
10708 /* 27460 */ // Label 724: @27460
10709 /* 27460 */ GIM_Try, /*On fail goto*//*Label 725*/ GIMT_Encode4(27487), // Rule ID 2118 //
10710 /* 27465 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
10711 /* 27468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10712 /* 27472 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10713 /* 27476 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10714 /* 27480 */ // (or:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PORrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
10715 /* 27480 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PORrr),
10716 /* 27485 */ GIR_RootConstrainSelectedInstOperands,
10717 /* 27486 */ // GIR_Coverage, 2118,
10718 /* 27486 */ GIR_Done,
10719 /* 27487 */ // Label 725: @27487
10720 /* 27487 */ GIM_Try, /*On fail goto*//*Label 726*/ GIMT_Encode4(27514), // Rule ID 5762 //
10721 /* 27492 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
10722 /* 27495 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10723 /* 27499 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10724 /* 27503 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10725 /* 27507 */ // (or:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPORQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
10726 /* 27507 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rr),
10727 /* 27512 */ GIR_RootConstrainSelectedInstOperands,
10728 /* 27513 */ // GIR_Coverage, 5762,
10729 /* 27513 */ GIR_Done,
10730 /* 27514 */ // Label 726: @27514
10731 /* 27514 */ GIM_Reject,
10732 /* 27515 */ // Label 719: @27515
10733 /* 27515 */ GIM_Reject,
10734 /* 27516 */ // Label 642: @27516
10735 /* 27516 */ GIM_Try, /*On fail goto*//*Label 727*/ GIMT_Encode4(27615), // Rule ID 19492 //
10736 /* 27521 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
10737 /* 27524 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
10738 /* 27527 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
10739 /* 27531 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
10740 /* 27535 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
10741 /* 27539 */ // (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] })
10742 /* 27539 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
10743 /* 27542 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10744 /* 27546 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10745 /* 27551 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
10746 /* 27555 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
10747 /* 27560 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
10748 /* 27563 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10749 /* 27567 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10750 /* 27572 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
10751 /* 27576 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
10752 /* 27581 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
10753 /* 27584 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KORWkk),
10754 /* 27588 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10755 /* 27593 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10756 /* 27596 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
10757 /* 27599 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
10758 /* 27601 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10759 /* 27604 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10760 /* 27606 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10761 /* 27609 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
10762 /* 27614 */ // GIR_Coverage, 19492,
10763 /* 27614 */ GIR_EraseRootFromParent_Done,
10764 /* 27615 */ // Label 727: @27615
10765 /* 27615 */ GIM_Reject,
10766 /* 27616 */ // Label 643: @27616
10767 /* 27616 */ GIM_Try, /*On fail goto*//*Label 728*/ GIMT_Encode4(27957),
10768 /* 27621 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
10769 /* 27624 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10770 /* 27627 */ GIM_Try, /*On fail goto*//*Label 729*/ GIMT_Encode4(27689), // Rule ID 24285 //
10771 /* 27632 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
10772 /* 27635 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10773 /* 27639 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10774 /* 27643 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10775 /* 27647 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10776 /* 27650 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10777 /* 27654 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10778 /* 27658 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10779 /* 27662 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10780 /* 27664 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10781 /* 27671 */ // (or:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPORDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
10782 /* 27671 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZ128rm),
10783 /* 27674 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10784 /* 27676 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10785 /* 27678 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10786 /* 27682 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10787 /* 27687 */ GIR_RootConstrainSelectedInstOperands,
10788 /* 27688 */ // GIR_Coverage, 24285,
10789 /* 27688 */ GIR_EraseRootFromParent_Done,
10790 /* 27689 */ // Label 729: @27689
10791 /* 27689 */ GIM_Try, /*On fail goto*//*Label 730*/ GIMT_Encode4(27751), // Rule ID 25338 //
10792 /* 27694 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
10793 /* 27697 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10794 /* 27701 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10795 /* 27705 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10796 /* 27709 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10797 /* 27712 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10798 /* 27716 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10799 /* 27720 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10800 /* 27724 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10801 /* 27726 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10802 /* 27733 */ // (or:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPORrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
10803 /* 27733 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
10804 /* 27736 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10805 /* 27738 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10806 /* 27740 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10807 /* 27744 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10808 /* 27749 */ GIR_RootConstrainSelectedInstOperands,
10809 /* 27750 */ // GIR_Coverage, 25338,
10810 /* 27750 */ GIR_EraseRootFromParent_Done,
10811 /* 27751 */ // Label 730: @27751
10812 /* 27751 */ GIM_Try, /*On fail goto*//*Label 731*/ GIMT_Encode4(27813), // Rule ID 5792 //
10813 /* 27756 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
10814 /* 27759 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10815 /* 27763 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10816 /* 27767 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10817 /* 27771 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10818 /* 27775 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10819 /* 27778 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10820 /* 27782 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10821 /* 27786 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10822 /* 27788 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10823 /* 27795 */ // (or:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
10824 /* 27795 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZ128rm),
10825 /* 27798 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10826 /* 27800 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10827 /* 27802 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10828 /* 27806 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10829 /* 27811 */ GIR_RootConstrainSelectedInstOperands,
10830 /* 27812 */ // GIR_Coverage, 5792,
10831 /* 27812 */ GIR_EraseRootFromParent_Done,
10832 /* 27813 */ // Label 731: @27813
10833 /* 27813 */ GIM_Try, /*On fail goto*//*Label 732*/ GIMT_Encode4(27875), // Rule ID 18153 //
10834 /* 27818 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
10835 /* 27821 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10836 /* 27825 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10837 /* 27829 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10838 /* 27833 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10839 /* 27837 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10840 /* 27840 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10841 /* 27844 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10842 /* 27848 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10843 /* 27850 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10844 /* 27857 */ // (or:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
10845 /* 27857 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
10846 /* 27860 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10847 /* 27862 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10848 /* 27864 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10849 /* 27868 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10850 /* 27873 */ GIR_RootConstrainSelectedInstOperands,
10851 /* 27874 */ // GIR_Coverage, 18153,
10852 /* 27874 */ GIR_EraseRootFromParent_Done,
10853 /* 27875 */ // Label 732: @27875
10854 /* 27875 */ GIM_Try, /*On fail goto*//*Label 733*/ GIMT_Encode4(27902), // Rule ID 5789 //
10855 /* 27880 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
10856 /* 27883 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10857 /* 27887 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10858 /* 27891 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10859 /* 27895 */ // (or:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPORDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
10860 /* 27895 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORDZ128rr),
10861 /* 27900 */ GIR_RootConstrainSelectedInstOperands,
10862 /* 27901 */ // GIR_Coverage, 5789,
10863 /* 27901 */ GIR_Done,
10864 /* 27902 */ // Label 733: @27902
10865 /* 27902 */ GIM_Try, /*On fail goto*//*Label 734*/ GIMT_Encode4(27929), // Rule ID 18141 //
10866 /* 27907 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
10867 /* 27910 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10868 /* 27914 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10869 /* 27918 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10870 /* 27922 */ // (or:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPORrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
10871 /* 27922 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORrr),
10872 /* 27927 */ GIR_RootConstrainSelectedInstOperands,
10873 /* 27928 */ // GIR_Coverage, 18141,
10874 /* 27928 */ GIR_Done,
10875 /* 27929 */ // Label 734: @27929
10876 /* 27929 */ GIM_Try, /*On fail goto*//*Label 735*/ GIMT_Encode4(27956), // Rule ID 18165 //
10877 /* 27934 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
10878 /* 27937 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10879 /* 27941 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10880 /* 27945 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10881 /* 27949 */ // (or:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PORrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
10882 /* 27949 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PORrr),
10883 /* 27954 */ GIR_RootConstrainSelectedInstOperands,
10884 /* 27955 */ // GIR_Coverage, 18165,
10885 /* 27955 */ GIR_Done,
10886 /* 27956 */ // Label 735: @27956
10887 /* 27956 */ GIM_Reject,
10888 /* 27957 */ // Label 728: @27957
10889 /* 27957 */ GIM_Reject,
10890 /* 27958 */ // Label 644: @27958
10891 /* 27958 */ GIM_Try, /*On fail goto*//*Label 736*/ GIMT_Encode4(28423),
10892 /* 27963 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
10893 /* 27966 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
10894 /* 27969 */ GIM_Try, /*On fail goto*//*Label 737*/ GIMT_Encode4(28031), // Rule ID 23447 //
10895 /* 27974 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
10896 /* 27977 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
10897 /* 27981 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10898 /* 27985 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10899 /* 27989 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10900 /* 27992 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10901 /* 27996 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10902 /* 28000 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
10903 /* 28004 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10904 /* 28006 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10905 /* 28013 */ // (or:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VPORYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
10906 /* 28013 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
10907 /* 28016 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10908 /* 28018 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10909 /* 28020 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10910 /* 28024 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10911 /* 28029 */ GIR_RootConstrainSelectedInstOperands,
10912 /* 28030 */ // GIR_Coverage, 23447,
10913 /* 28030 */ GIR_EraseRootFromParent_Done,
10914 /* 28031 */ // Label 737: @28031
10915 /* 28031 */ GIM_Try, /*On fail goto*//*Label 738*/ GIMT_Encode4(28093), // Rule ID 24261 //
10916 /* 28036 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
10917 /* 28039 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
10918 /* 28043 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10919 /* 28047 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10920 /* 28051 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10921 /* 28054 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10922 /* 28058 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10923 /* 28062 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
10924 /* 28066 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10925 /* 28068 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10926 /* 28075 */ // (or:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPORQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
10927 /* 28075 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
10928 /* 28078 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10929 /* 28080 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10930 /* 28082 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10931 /* 28086 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10932 /* 28091 */ GIR_RootConstrainSelectedInstOperands,
10933 /* 28092 */ // GIR_Coverage, 24261,
10934 /* 28092 */ GIR_EraseRootFromParent_Done,
10935 /* 28093 */ // Label 738: @28093
10936 /* 28093 */ GIM_Try, /*On fail goto*//*Label 739*/ GIMT_Encode4(28155), // Rule ID 25328 //
10937 /* 28098 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
10938 /* 28101 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
10939 /* 28105 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10940 /* 28109 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10941 /* 28113 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10942 /* 28116 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10943 /* 28120 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10944 /* 28124 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
10945 /* 28128 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10946 /* 28130 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10947 /* 28137 */ // (or:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VORPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
10948 /* 28137 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
10949 /* 28140 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10950 /* 28142 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10951 /* 28144 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10952 /* 28148 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10953 /* 28153 */ GIR_RootConstrainSelectedInstOperands,
10954 /* 28154 */ // GIR_Coverage, 25328,
10955 /* 28154 */ GIR_EraseRootFromParent_Done,
10956 /* 28155 */ // Label 739: @28155
10957 /* 28155 */ GIM_Try, /*On fail goto*//*Label 740*/ GIMT_Encode4(28217), // Rule ID 2121 //
10958 /* 28160 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
10959 /* 28163 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
10960 /* 28167 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
10961 /* 28171 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10962 /* 28175 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10963 /* 28179 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10964 /* 28182 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10965 /* 28186 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10966 /* 28190 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10967 /* 28192 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10968 /* 28199 */ // (or:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
10969 /* 28199 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
10970 /* 28202 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10971 /* 28204 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10972 /* 28206 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10973 /* 28210 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10974 /* 28215 */ GIR_RootConstrainSelectedInstOperands,
10975 /* 28216 */ // GIR_Coverage, 2121,
10976 /* 28216 */ GIR_EraseRootFromParent_Done,
10977 /* 28217 */ // Label 740: @28217
10978 /* 28217 */ GIM_Try, /*On fail goto*//*Label 741*/ GIMT_Encode4(28279), // Rule ID 5756 //
10979 /* 28222 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
10980 /* 28225 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
10981 /* 28229 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
10982 /* 28233 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10983 /* 28237 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10984 /* 28241 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10985 /* 28244 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10986 /* 28248 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10987 /* 28252 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10988 /* 28254 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10989 /* 28261 */ // (or:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
10990 /* 28261 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
10991 /* 28264 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10992 /* 28266 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10993 /* 28268 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10994 /* 28272 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10995 /* 28277 */ GIR_RootConstrainSelectedInstOperands,
10996 /* 28278 */ // GIR_Coverage, 5756,
10997 /* 28278 */ GIR_EraseRootFromParent_Done,
10998 /* 28279 */ // Label 741: @28279
10999 /* 28279 */ GIM_Try, /*On fail goto*//*Label 742*/ GIMT_Encode4(28341), // Rule ID 18127 //
11000 /* 28284 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
11001 /* 28287 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11002 /* 28291 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11003 /* 28295 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11004 /* 28299 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11005 /* 28303 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11006 /* 28306 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11007 /* 28310 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11008 /* 28314 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11009 /* 28316 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11010 /* 28323 */ // (or:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VORPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11011 /* 28323 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
11012 /* 28326 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11013 /* 28328 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11014 /* 28330 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11015 /* 28334 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11016 /* 28339 */ GIR_RootConstrainSelectedInstOperands,
11017 /* 28340 */ // GIR_Coverage, 18127,
11018 /* 28340 */ GIR_EraseRootFromParent_Done,
11019 /* 28341 */ // Label 742: @28341
11020 /* 28341 */ GIM_Try, /*On fail goto*//*Label 743*/ GIMT_Encode4(28368), // Rule ID 2120 //
11021 /* 28346 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
11022 /* 28349 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11023 /* 28353 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11024 /* 28357 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11025 /* 28361 */ // (or:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPORYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
11026 /* 28361 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORYrr),
11027 /* 28366 */ GIR_RootConstrainSelectedInstOperands,
11028 /* 28367 */ // GIR_Coverage, 2120,
11029 /* 28367 */ GIR_Done,
11030 /* 28368 */ // Label 743: @28368
11031 /* 28368 */ GIM_Try, /*On fail goto*//*Label 744*/ GIMT_Encode4(28395), // Rule ID 5753 //
11032 /* 28373 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
11033 /* 28376 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11034 /* 28380 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11035 /* 28384 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11036 /* 28388 */ // (or:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPORQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
11037 /* 28388 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rr),
11038 /* 28393 */ GIR_RootConstrainSelectedInstOperands,
11039 /* 28394 */ // GIR_Coverage, 5753,
11040 /* 28394 */ GIR_Done,
11041 /* 28395 */ // Label 744: @28395
11042 /* 28395 */ GIM_Try, /*On fail goto*//*Label 745*/ GIMT_Encode4(28422), // Rule ID 18111 //
11043 /* 28400 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
11044 /* 28403 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11045 /* 28407 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11046 /* 28411 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11047 /* 28415 */ // (or:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VORPSYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
11048 /* 28415 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VORPSYrr),
11049 /* 28420 */ GIR_RootConstrainSelectedInstOperands,
11050 /* 28421 */ // GIR_Coverage, 18111,
11051 /* 28421 */ GIR_Done,
11052 /* 28422 */ // Label 745: @28422
11053 /* 28422 */ GIM_Reject,
11054 /* 28423 */ // Label 736: @28423
11055 /* 28423 */ GIM_Reject,
11056 /* 28424 */ // Label 645: @28424
11057 /* 28424 */ GIM_Try, /*On fail goto*//*Label 746*/ GIMT_Encode4(28547),
11058 /* 28429 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
11059 /* 28432 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
11060 /* 28435 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
11061 /* 28439 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
11062 /* 28443 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
11063 /* 28447 */ GIM_Try, /*On fail goto*//*Label 747*/ GIMT_Encode4(28462), // Rule ID 4421 //
11064 /* 28452 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
11065 /* 28455 */ // (or:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2) => (KORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
11066 /* 28455 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KORBkk),
11067 /* 28460 */ GIR_RootConstrainSelectedInstOperands,
11068 /* 28461 */ // GIR_Coverage, 4421,
11069 /* 28461 */ GIR_Done,
11070 /* 28462 */ // Label 747: @28462
11071 /* 28462 */ GIM_Try, /*On fail goto*//*Label 748*/ GIMT_Encode4(28546), // Rule ID 19489 //
11072 /* 28467 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
11073 /* 28470 */ // (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] })
11074 /* 28470 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
11075 /* 28473 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11076 /* 28477 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11077 /* 28482 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
11078 /* 28486 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
11079 /* 28491 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
11080 /* 28494 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11081 /* 28498 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11082 /* 28503 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
11083 /* 28507 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
11084 /* 28512 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
11085 /* 28515 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KORWkk),
11086 /* 28519 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11087 /* 28524 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
11088 /* 28527 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
11089 /* 28530 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
11090 /* 28532 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11091 /* 28535 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11092 /* 28537 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
11093 /* 28540 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
11094 /* 28545 */ // GIR_Coverage, 19489,
11095 /* 28545 */ GIR_EraseRootFromParent_Done,
11096 /* 28546 */ // Label 748: @28546
11097 /* 28546 */ GIM_Reject,
11098 /* 28547 */ // Label 746: @28547
11099 /* 28547 */ GIM_Reject,
11100 /* 28548 */ // Label 646: @28548
11101 /* 28548 */ GIM_Try, /*On fail goto*//*Label 749*/ GIMT_Encode4(28889),
11102 /* 28553 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
11103 /* 28556 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
11104 /* 28559 */ GIM_Try, /*On fail goto*//*Label 750*/ GIMT_Encode4(28621), // Rule ID 25337 //
11105 /* 28564 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11106 /* 28567 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11107 /* 28571 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11108 /* 28575 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11109 /* 28579 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11110 /* 28582 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11111 /* 28586 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11112 /* 28590 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11113 /* 28594 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11114 /* 28596 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11115 /* 28603 */ // (or:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPORrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11116 /* 28603 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11117 /* 28606 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11118 /* 28608 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11119 /* 28610 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11120 /* 28614 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11121 /* 28619 */ GIR_RootConstrainSelectedInstOperands,
11122 /* 28620 */ // GIR_Coverage, 25337,
11123 /* 28620 */ GIR_EraseRootFromParent_Done,
11124 /* 28621 */ // Label 750: @28621
11125 /* 28621 */ GIM_Try, /*On fail goto*//*Label 751*/ GIMT_Encode4(28683), // Rule ID 25517 //
11126 /* 28626 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
11127 /* 28629 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11128 /* 28633 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11129 /* 28637 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11130 /* 28641 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11131 /* 28644 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11132 /* 28648 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11133 /* 28652 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11134 /* 28656 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11135 /* 28658 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11136 /* 28665 */ // (or:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPORQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11137 /* 28665 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
11138 /* 28668 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11139 /* 28670 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11140 /* 28672 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11141 /* 28676 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11142 /* 28681 */ GIR_RootConstrainSelectedInstOperands,
11143 /* 28682 */ // GIR_Coverage, 25517,
11144 /* 28682 */ GIR_EraseRootFromParent_Done,
11145 /* 28683 */ // Label 751: @28683
11146 /* 28683 */ GIM_Try, /*On fail goto*//*Label 752*/ GIMT_Encode4(28745), // Rule ID 18152 //
11147 /* 28688 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11148 /* 28691 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11149 /* 28695 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11150 /* 28699 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11151 /* 28703 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11152 /* 28707 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11153 /* 28710 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11154 /* 28714 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11155 /* 28718 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11156 /* 28720 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11157 /* 28727 */ // (or:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11158 /* 28727 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11159 /* 28730 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11160 /* 28732 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11161 /* 28734 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11162 /* 28738 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11163 /* 28743 */ GIR_RootConstrainSelectedInstOperands,
11164 /* 28744 */ // GIR_Coverage, 18152,
11165 /* 28744 */ GIR_EraseRootFromParent_Done,
11166 /* 28745 */ // Label 752: @28745
11167 /* 28745 */ GIM_Try, /*On fail goto*//*Label 753*/ GIMT_Encode4(28807), // Rule ID 20036 //
11168 /* 28750 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
11169 /* 28753 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11170 /* 28757 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11171 /* 28761 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11172 /* 28765 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11173 /* 28769 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11174 /* 28772 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11175 /* 28776 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11176 /* 28780 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11177 /* 28782 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11178 /* 28789 */ // (or:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11179 /* 28789 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
11180 /* 28792 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11181 /* 28794 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11182 /* 28796 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11183 /* 28800 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11184 /* 28805 */ GIR_RootConstrainSelectedInstOperands,
11185 /* 28806 */ // GIR_Coverage, 20036,
11186 /* 28806 */ GIR_EraseRootFromParent_Done,
11187 /* 28807 */ // Label 753: @28807
11188 /* 28807 */ GIM_Try, /*On fail goto*//*Label 754*/ GIMT_Encode4(28834), // Rule ID 18140 //
11189 /* 28812 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11190 /* 28815 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11191 /* 28819 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11192 /* 28823 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11193 /* 28827 */ // (or:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPORrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
11194 /* 28827 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORrr),
11195 /* 28832 */ GIR_RootConstrainSelectedInstOperands,
11196 /* 28833 */ // GIR_Coverage, 18140,
11197 /* 28833 */ GIR_Done,
11198 /* 28834 */ // Label 754: @28834
11199 /* 28834 */ GIM_Try, /*On fail goto*//*Label 755*/ GIMT_Encode4(28861), // Rule ID 18164 //
11200 /* 28839 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
11201 /* 28842 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11202 /* 28846 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11203 /* 28850 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11204 /* 28854 */ // (or:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PORrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
11205 /* 28854 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PORrr),
11206 /* 28859 */ GIR_RootConstrainSelectedInstOperands,
11207 /* 28860 */ // GIR_Coverage, 18164,
11208 /* 28860 */ GIR_Done,
11209 /* 28861 */ // Label 755: @28861
11210 /* 28861 */ GIM_Try, /*On fail goto*//*Label 756*/ GIMT_Encode4(28888), // Rule ID 20028 //
11211 /* 28866 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
11212 /* 28869 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11213 /* 28873 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11214 /* 28877 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11215 /* 28881 */ // (or:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPORQZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
11216 /* 28881 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rr),
11217 /* 28886 */ GIR_RootConstrainSelectedInstOperands,
11218 /* 28887 */ // GIR_Coverage, 20028,
11219 /* 28887 */ GIR_Done,
11220 /* 28888 */ // Label 756: @28888
11221 /* 28888 */ GIM_Reject,
11222 /* 28889 */ // Label 749: @28889
11223 /* 28889 */ GIM_Reject,
11224 /* 28890 */ // Label 647: @28890
11225 /* 28890 */ GIM_Try, /*On fail goto*//*Label 757*/ GIMT_Encode4(29355),
11226 /* 28895 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
11227 /* 28898 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
11228 /* 28901 */ GIM_Try, /*On fail goto*//*Label 758*/ GIMT_Encode4(28963), // Rule ID 24279 //
11229 /* 28906 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
11230 /* 28909 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11231 /* 28913 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11232 /* 28917 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11233 /* 28921 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11234 /* 28924 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11235 /* 28928 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11236 /* 28932 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11237 /* 28936 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11238 /* 28938 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11239 /* 28945 */ // (or:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPORDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11240 /* 28945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZ256rm),
11241 /* 28948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11242 /* 28950 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11243 /* 28952 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11244 /* 28956 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11245 /* 28961 */ GIR_RootConstrainSelectedInstOperands,
11246 /* 28962 */ // GIR_Coverage, 24279,
11247 /* 28962 */ GIR_EraseRootFromParent_Done,
11248 /* 28963 */ // Label 758: @28963
11249 /* 28963 */ GIM_Try, /*On fail goto*//*Label 759*/ GIMT_Encode4(29025), // Rule ID 25317 //
11250 /* 28968 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
11251 /* 28971 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11252 /* 28975 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11253 /* 28979 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11254 /* 28983 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11255 /* 28986 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11256 /* 28990 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11257 /* 28994 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11258 /* 28998 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11259 /* 29000 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11260 /* 29007 */ // (or:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPORYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11261 /* 29007 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
11262 /* 29010 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11263 /* 29012 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11264 /* 29014 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11265 /* 29018 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11266 /* 29023 */ GIR_RootConstrainSelectedInstOperands,
11267 /* 29024 */ // GIR_Coverage, 25317,
11268 /* 29024 */ GIR_EraseRootFromParent_Done,
11269 /* 29025 */ // Label 759: @29025
11270 /* 29025 */ GIM_Try, /*On fail goto*//*Label 760*/ GIMT_Encode4(29087), // Rule ID 25327 //
11271 /* 29030 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
11272 /* 29033 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11273 /* 29037 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11274 /* 29041 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11275 /* 29045 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11276 /* 29048 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11277 /* 29052 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11278 /* 29056 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11279 /* 29060 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11280 /* 29062 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11281 /* 29069 */ // (or:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VORPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11282 /* 29069 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
11283 /* 29072 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11284 /* 29074 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11285 /* 29076 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11286 /* 29080 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11287 /* 29085 */ GIR_RootConstrainSelectedInstOperands,
11288 /* 29086 */ // GIR_Coverage, 25327,
11289 /* 29086 */ GIR_EraseRootFromParent_Done,
11290 /* 29087 */ // Label 760: @29087
11291 /* 29087 */ GIM_Try, /*On fail goto*//*Label 761*/ GIMT_Encode4(29149), // Rule ID 5783 //
11292 /* 29092 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
11293 /* 29095 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11294 /* 29099 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11295 /* 29103 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11296 /* 29107 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11297 /* 29111 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11298 /* 29114 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11299 /* 29118 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11300 /* 29122 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11301 /* 29124 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11302 /* 29131 */ // (or:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11303 /* 29131 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZ256rm),
11304 /* 29134 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11305 /* 29136 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11306 /* 29138 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11307 /* 29142 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11308 /* 29147 */ GIR_RootConstrainSelectedInstOperands,
11309 /* 29148 */ // GIR_Coverage, 5783,
11310 /* 29148 */ GIR_EraseRootFromParent_Done,
11311 /* 29149 */ // Label 761: @29149
11312 /* 29149 */ GIM_Try, /*On fail goto*//*Label 762*/ GIMT_Encode4(29211), // Rule ID 18097 //
11313 /* 29154 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
11314 /* 29157 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11315 /* 29161 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11316 /* 29165 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11317 /* 29169 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11318 /* 29173 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11319 /* 29176 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11320 /* 29180 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11321 /* 29184 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11322 /* 29186 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11323 /* 29193 */ // (or:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11324 /* 29193 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
11325 /* 29196 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11326 /* 29198 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11327 /* 29200 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11328 /* 29204 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11329 /* 29209 */ GIR_RootConstrainSelectedInstOperands,
11330 /* 29210 */ // GIR_Coverage, 18097,
11331 /* 29210 */ GIR_EraseRootFromParent_Done,
11332 /* 29211 */ // Label 762: @29211
11333 /* 29211 */ GIM_Try, /*On fail goto*//*Label 763*/ GIMT_Encode4(29273), // Rule ID 18126 //
11334 /* 29216 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
11335 /* 29219 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11336 /* 29223 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11337 /* 29227 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11338 /* 29231 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11339 /* 29235 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11340 /* 29238 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11341 /* 29242 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11342 /* 29246 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11343 /* 29248 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11344 /* 29255 */ // (or:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VORPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11345 /* 29255 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
11346 /* 29258 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11347 /* 29260 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11348 /* 29262 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11349 /* 29266 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11350 /* 29271 */ GIR_RootConstrainSelectedInstOperands,
11351 /* 29272 */ // GIR_Coverage, 18126,
11352 /* 29272 */ GIR_EraseRootFromParent_Done,
11353 /* 29273 */ // Label 763: @29273
11354 /* 29273 */ GIM_Try, /*On fail goto*//*Label 764*/ GIMT_Encode4(29300), // Rule ID 5780 //
11355 /* 29278 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
11356 /* 29281 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11357 /* 29285 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11358 /* 29289 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11359 /* 29293 */ // (or:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPORDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
11360 /* 29293 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORDZ256rr),
11361 /* 29298 */ GIR_RootConstrainSelectedInstOperands,
11362 /* 29299 */ // GIR_Coverage, 5780,
11363 /* 29299 */ GIR_Done,
11364 /* 29300 */ // Label 764: @29300
11365 /* 29300 */ GIM_Try, /*On fail goto*//*Label 765*/ GIMT_Encode4(29327), // Rule ID 18085 //
11366 /* 29305 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
11367 /* 29308 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11368 /* 29312 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11369 /* 29316 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11370 /* 29320 */ // (or:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPORYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
11371 /* 29320 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORYrr),
11372 /* 29325 */ GIR_RootConstrainSelectedInstOperands,
11373 /* 29326 */ // GIR_Coverage, 18085,
11374 /* 29326 */ GIR_Done,
11375 /* 29327 */ // Label 765: @29327
11376 /* 29327 */ GIM_Try, /*On fail goto*//*Label 766*/ GIMT_Encode4(29354), // Rule ID 18110 //
11377 /* 29332 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
11378 /* 29335 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11379 /* 29339 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11380 /* 29343 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11381 /* 29347 */ // (or:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VORPSYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
11382 /* 29347 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VORPSYrr),
11383 /* 29352 */ GIR_RootConstrainSelectedInstOperands,
11384 /* 29353 */ // GIR_Coverage, 18110,
11385 /* 29353 */ GIR_Done,
11386 /* 29354 */ // Label 766: @29354
11387 /* 29354 */ GIM_Reject,
11388 /* 29355 */ // Label 757: @29355
11389 /* 29355 */ GIM_Reject,
11390 /* 29356 */ // Label 648: @29356
11391 /* 29356 */ GIM_Try, /*On fail goto*//*Label 767*/ GIMT_Encode4(29511),
11392 /* 29361 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
11393 /* 29364 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
11394 /* 29367 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11395 /* 29371 */ GIM_Try, /*On fail goto*//*Label 768*/ GIMT_Encode4(29429), // Rule ID 24255 //
11396 /* 29376 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
11397 /* 29379 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11398 /* 29383 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11399 /* 29387 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11400 /* 29390 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11401 /* 29394 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11402 /* 29398 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11403 /* 29402 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11404 /* 29404 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11405 /* 29411 */ // (or:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPORQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11406 /* 29411 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
11407 /* 29414 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11408 /* 29416 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11409 /* 29418 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11410 /* 29422 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11411 /* 29427 */ GIR_RootConstrainSelectedInstOperands,
11412 /* 29428 */ // GIR_Coverage, 24255,
11413 /* 29428 */ GIR_EraseRootFromParent_Done,
11414 /* 29429 */ // Label 768: @29429
11415 /* 29429 */ GIM_Try, /*On fail goto*//*Label 769*/ GIMT_Encode4(29487), // Rule ID 5747 //
11416 /* 29434 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
11417 /* 29437 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11418 /* 29441 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11419 /* 29445 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11420 /* 29449 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11421 /* 29452 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11422 /* 29456 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11423 /* 29460 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11424 /* 29462 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11425 /* 29469 */ // (or:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11426 /* 29469 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
11427 /* 29472 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11428 /* 29474 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11429 /* 29476 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11430 /* 29480 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11431 /* 29485 */ GIR_RootConstrainSelectedInstOperands,
11432 /* 29486 */ // GIR_Coverage, 5747,
11433 /* 29486 */ GIR_EraseRootFromParent_Done,
11434 /* 29487 */ // Label 769: @29487
11435 /* 29487 */ GIM_Try, /*On fail goto*//*Label 770*/ GIMT_Encode4(29510), // Rule ID 5744 //
11436 /* 29492 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
11437 /* 29495 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11438 /* 29499 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11439 /* 29503 */ // (or:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPORQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
11440 /* 29503 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZrr),
11441 /* 29508 */ GIR_RootConstrainSelectedInstOperands,
11442 /* 29509 */ // GIR_Coverage, 5744,
11443 /* 29509 */ GIR_Done,
11444 /* 29510 */ // Label 770: @29510
11445 /* 29510 */ GIM_Reject,
11446 /* 29511 */ // Label 767: @29511
11447 /* 29511 */ GIM_Reject,
11448 /* 29512 */ // Label 649: @29512
11449 /* 29512 */ GIM_Try, /*On fail goto*//*Label 771*/ GIMT_Encode4(29545), // Rule ID 4422 //
11450 /* 29517 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
11451 /* 29520 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
11452 /* 29523 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
11453 /* 29526 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
11454 /* 29530 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
11455 /* 29534 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
11456 /* 29538 */ // (or:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2) => (KORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
11457 /* 29538 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KORWkk),
11458 /* 29543 */ GIR_RootConstrainSelectedInstOperands,
11459 /* 29544 */ // GIR_Coverage, 4422,
11460 /* 29544 */ GIR_Done,
11461 /* 29545 */ // Label 771: @29545
11462 /* 29545 */ GIM_Reject,
11463 /* 29546 */ // Label 650: @29546
11464 /* 29546 */ GIM_Try, /*On fail goto*//*Label 772*/ GIMT_Encode4(29887),
11465 /* 29551 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
11466 /* 29554 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
11467 /* 29557 */ GIM_Try, /*On fail goto*//*Label 773*/ GIMT_Encode4(29619), // Rule ID 25336 //
11468 /* 29562 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11469 /* 29565 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11470 /* 29569 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11471 /* 29573 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11472 /* 29577 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11473 /* 29580 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11474 /* 29584 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11475 /* 29588 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11476 /* 29592 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11477 /* 29594 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11478 /* 29601 */ // (or:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPORrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
11479 /* 29601 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11480 /* 29604 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11481 /* 29606 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11482 /* 29608 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11483 /* 29612 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11484 /* 29617 */ GIR_RootConstrainSelectedInstOperands,
11485 /* 29618 */ // GIR_Coverage, 25336,
11486 /* 29618 */ GIR_EraseRootFromParent_Done,
11487 /* 29619 */ // Label 773: @29619
11488 /* 29619 */ GIM_Try, /*On fail goto*//*Label 774*/ GIMT_Encode4(29681), // Rule ID 25516 //
11489 /* 29624 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
11490 /* 29627 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11491 /* 29631 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11492 /* 29635 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11493 /* 29639 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11494 /* 29642 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11495 /* 29646 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11496 /* 29650 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11497 /* 29654 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11498 /* 29656 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11499 /* 29663 */ // (or:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPORQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
11500 /* 29663 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
11501 /* 29666 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11502 /* 29668 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11503 /* 29670 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11504 /* 29674 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11505 /* 29679 */ GIR_RootConstrainSelectedInstOperands,
11506 /* 29680 */ // GIR_Coverage, 25516,
11507 /* 29680 */ GIR_EraseRootFromParent_Done,
11508 /* 29681 */ // Label 774: @29681
11509 /* 29681 */ GIM_Try, /*On fail goto*//*Label 775*/ GIMT_Encode4(29743), // Rule ID 18151 //
11510 /* 29686 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11511 /* 29689 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11512 /* 29693 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11513 /* 29697 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11514 /* 29701 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11515 /* 29705 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11516 /* 29708 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11517 /* 29712 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11518 /* 29716 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11519 /* 29718 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11520 /* 29725 */ // (or:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
11521 /* 29725 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11522 /* 29728 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11523 /* 29730 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11524 /* 29732 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11525 /* 29736 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11526 /* 29741 */ GIR_RootConstrainSelectedInstOperands,
11527 /* 29742 */ // GIR_Coverage, 18151,
11528 /* 29742 */ GIR_EraseRootFromParent_Done,
11529 /* 29743 */ // Label 775: @29743
11530 /* 29743 */ GIM_Try, /*On fail goto*//*Label 776*/ GIMT_Encode4(29805), // Rule ID 20035 //
11531 /* 29748 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
11532 /* 29751 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11533 /* 29755 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11534 /* 29759 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11535 /* 29763 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11536 /* 29767 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11537 /* 29770 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11538 /* 29774 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11539 /* 29778 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11540 /* 29780 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11541 /* 29787 */ // (or:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
11542 /* 29787 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
11543 /* 29790 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11544 /* 29792 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11545 /* 29794 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11546 /* 29798 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11547 /* 29803 */ GIR_RootConstrainSelectedInstOperands,
11548 /* 29804 */ // GIR_Coverage, 20035,
11549 /* 29804 */ GIR_EraseRootFromParent_Done,
11550 /* 29805 */ // Label 776: @29805
11551 /* 29805 */ GIM_Try, /*On fail goto*//*Label 777*/ GIMT_Encode4(29832), // Rule ID 18139 //
11552 /* 29810 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11553 /* 29813 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11554 /* 29817 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11555 /* 29821 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11556 /* 29825 */ // (or:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPORrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
11557 /* 29825 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORrr),
11558 /* 29830 */ GIR_RootConstrainSelectedInstOperands,
11559 /* 29831 */ // GIR_Coverage, 18139,
11560 /* 29831 */ GIR_Done,
11561 /* 29832 */ // Label 777: @29832
11562 /* 29832 */ GIM_Try, /*On fail goto*//*Label 778*/ GIMT_Encode4(29859), // Rule ID 18163 //
11563 /* 29837 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
11564 /* 29840 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11565 /* 29844 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11566 /* 29848 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11567 /* 29852 */ // (or:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PORrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
11568 /* 29852 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PORrr),
11569 /* 29857 */ GIR_RootConstrainSelectedInstOperands,
11570 /* 29858 */ // GIR_Coverage, 18163,
11571 /* 29858 */ GIR_Done,
11572 /* 29859 */ // Label 778: @29859
11573 /* 29859 */ GIM_Try, /*On fail goto*//*Label 779*/ GIMT_Encode4(29886), // Rule ID 20027 //
11574 /* 29864 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
11575 /* 29867 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11576 /* 29871 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11577 /* 29875 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11578 /* 29879 */ // (or:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPORQZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
11579 /* 29879 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rr),
11580 /* 29884 */ GIR_RootConstrainSelectedInstOperands,
11581 /* 29885 */ // GIR_Coverage, 20027,
11582 /* 29885 */ GIR_Done,
11583 /* 29886 */ // Label 779: @29886
11584 /* 29886 */ GIM_Reject,
11585 /* 29887 */ // Label 772: @29887
11586 /* 29887 */ GIM_Reject,
11587 /* 29888 */ // Label 651: @29888
11588 /* 29888 */ GIM_Try, /*On fail goto*//*Label 780*/ GIMT_Encode4(30353),
11589 /* 29893 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
11590 /* 29896 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
11591 /* 29899 */ GIM_Try, /*On fail goto*//*Label 781*/ GIMT_Encode4(29961), // Rule ID 25316 //
11592 /* 29904 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
11593 /* 29907 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11594 /* 29911 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11595 /* 29915 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11596 /* 29919 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11597 /* 29922 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11598 /* 29926 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11599 /* 29930 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11600 /* 29934 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11601 /* 29936 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11602 /* 29943 */ // (or:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPORYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11603 /* 29943 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
11604 /* 29946 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11605 /* 29948 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11606 /* 29950 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11607 /* 29954 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11608 /* 29959 */ GIR_RootConstrainSelectedInstOperands,
11609 /* 29960 */ // GIR_Coverage, 25316,
11610 /* 29960 */ GIR_EraseRootFromParent_Done,
11611 /* 29961 */ // Label 781: @29961
11612 /* 29961 */ GIM_Try, /*On fail goto*//*Label 782*/ GIMT_Encode4(30023), // Rule ID 25326 //
11613 /* 29966 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
11614 /* 29969 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11615 /* 29973 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11616 /* 29977 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11617 /* 29981 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11618 /* 29984 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11619 /* 29988 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11620 /* 29992 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11621 /* 29996 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11622 /* 29998 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11623 /* 30005 */ // (or:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VORPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11624 /* 30005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
11625 /* 30008 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11626 /* 30010 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11627 /* 30012 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11628 /* 30016 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11629 /* 30021 */ GIR_RootConstrainSelectedInstOperands,
11630 /* 30022 */ // GIR_Coverage, 25326,
11631 /* 30022 */ GIR_EraseRootFromParent_Done,
11632 /* 30023 */ // Label 782: @30023
11633 /* 30023 */ GIM_Try, /*On fail goto*//*Label 783*/ GIMT_Encode4(30085), // Rule ID 25523 //
11634 /* 30028 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
11635 /* 30031 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11636 /* 30035 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11637 /* 30039 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11638 /* 30043 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11639 /* 30046 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11640 /* 30050 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11641 /* 30054 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11642 /* 30058 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11643 /* 30060 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11644 /* 30067 */ // (or:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPORQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11645 /* 30067 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
11646 /* 30070 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11647 /* 30072 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11648 /* 30074 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11649 /* 30078 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11650 /* 30083 */ GIR_RootConstrainSelectedInstOperands,
11651 /* 30084 */ // GIR_Coverage, 25523,
11652 /* 30084 */ GIR_EraseRootFromParent_Done,
11653 /* 30085 */ // Label 783: @30085
11654 /* 30085 */ GIM_Try, /*On fail goto*//*Label 784*/ GIMT_Encode4(30147), // Rule ID 18096 //
11655 /* 30090 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
11656 /* 30093 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11657 /* 30097 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11658 /* 30101 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11659 /* 30105 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11660 /* 30109 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11661 /* 30112 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11662 /* 30116 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11663 /* 30120 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11664 /* 30122 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11665 /* 30129 */ // (or:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11666 /* 30129 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
11667 /* 30132 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11668 /* 30134 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11669 /* 30136 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11670 /* 30140 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11671 /* 30145 */ GIR_RootConstrainSelectedInstOperands,
11672 /* 30146 */ // GIR_Coverage, 18096,
11673 /* 30146 */ GIR_EraseRootFromParent_Done,
11674 /* 30147 */ // Label 784: @30147
11675 /* 30147 */ GIM_Try, /*On fail goto*//*Label 785*/ GIMT_Encode4(30209), // Rule ID 18125 //
11676 /* 30152 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
11677 /* 30155 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11678 /* 30159 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11679 /* 30163 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11680 /* 30167 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11681 /* 30171 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11682 /* 30174 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11683 /* 30178 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11684 /* 30182 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11685 /* 30184 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11686 /* 30191 */ // (or:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VORPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11687 /* 30191 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
11688 /* 30194 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11689 /* 30196 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11690 /* 30198 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11691 /* 30202 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11692 /* 30207 */ GIR_RootConstrainSelectedInstOperands,
11693 /* 30208 */ // GIR_Coverage, 18125,
11694 /* 30208 */ GIR_EraseRootFromParent_Done,
11695 /* 30209 */ // Label 785: @30209
11696 /* 30209 */ GIM_Try, /*On fail goto*//*Label 786*/ GIMT_Encode4(30271), // Rule ID 20052 //
11697 /* 30214 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
11698 /* 30217 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11699 /* 30221 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11700 /* 30225 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11701 /* 30229 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11702 /* 30233 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11703 /* 30236 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11704 /* 30240 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11705 /* 30244 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11706 /* 30246 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11707 /* 30253 */ // (or:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11708 /* 30253 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
11709 /* 30256 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11710 /* 30258 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11711 /* 30260 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11712 /* 30264 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11713 /* 30269 */ GIR_RootConstrainSelectedInstOperands,
11714 /* 30270 */ // GIR_Coverage, 20052,
11715 /* 30270 */ GIR_EraseRootFromParent_Done,
11716 /* 30271 */ // Label 786: @30271
11717 /* 30271 */ GIM_Try, /*On fail goto*//*Label 787*/ GIMT_Encode4(30298), // Rule ID 18084 //
11718 /* 30276 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
11719 /* 30279 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11720 /* 30283 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11721 /* 30287 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11722 /* 30291 */ // (or:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPORYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
11723 /* 30291 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORYrr),
11724 /* 30296 */ GIR_RootConstrainSelectedInstOperands,
11725 /* 30297 */ // GIR_Coverage, 18084,
11726 /* 30297 */ GIR_Done,
11727 /* 30298 */ // Label 787: @30298
11728 /* 30298 */ GIM_Try, /*On fail goto*//*Label 788*/ GIMT_Encode4(30325), // Rule ID 18109 //
11729 /* 30303 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
11730 /* 30306 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11731 /* 30310 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11732 /* 30314 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11733 /* 30318 */ // (or:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VORPSYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
11734 /* 30318 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VORPSYrr),
11735 /* 30323 */ GIR_RootConstrainSelectedInstOperands,
11736 /* 30324 */ // GIR_Coverage, 18109,
11737 /* 30324 */ GIR_Done,
11738 /* 30325 */ // Label 788: @30325
11739 /* 30325 */ GIM_Try, /*On fail goto*//*Label 789*/ GIMT_Encode4(30352), // Rule ID 20044 //
11740 /* 30330 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
11741 /* 30333 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11742 /* 30337 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11743 /* 30341 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11744 /* 30345 */ // (or:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPORQZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
11745 /* 30345 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rr),
11746 /* 30350 */ GIR_RootConstrainSelectedInstOperands,
11747 /* 30351 */ // GIR_Coverage, 20044,
11748 /* 30351 */ GIR_Done,
11749 /* 30352 */ // Label 789: @30352
11750 /* 30352 */ GIM_Reject,
11751 /* 30353 */ // Label 780: @30353
11752 /* 30353 */ GIM_Reject,
11753 /* 30354 */ // Label 652: @30354
11754 /* 30354 */ GIM_Try, /*On fail goto*//*Label 790*/ GIMT_Encode4(30509),
11755 /* 30359 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
11756 /* 30362 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
11757 /* 30365 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11758 /* 30369 */ GIM_Try, /*On fail goto*//*Label 791*/ GIMT_Encode4(30427), // Rule ID 24273 //
11759 /* 30374 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
11760 /* 30377 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11761 /* 30381 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11762 /* 30385 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11763 /* 30388 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11764 /* 30392 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11765 /* 30396 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11766 /* 30400 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11767 /* 30402 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11768 /* 30409 */ // (or:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPORDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11769 /* 30409 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZrm),
11770 /* 30412 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11771 /* 30414 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11772 /* 30416 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11773 /* 30420 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11774 /* 30425 */ GIR_RootConstrainSelectedInstOperands,
11775 /* 30426 */ // GIR_Coverage, 24273,
11776 /* 30426 */ GIR_EraseRootFromParent_Done,
11777 /* 30427 */ // Label 791: @30427
11778 /* 30427 */ GIM_Try, /*On fail goto*//*Label 792*/ GIMT_Encode4(30485), // Rule ID 5774 //
11779 /* 30432 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
11780 /* 30435 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11781 /* 30439 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11782 /* 30443 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11783 /* 30447 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11784 /* 30450 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11785 /* 30454 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11786 /* 30458 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11787 /* 30460 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11788 /* 30467 */ // (or:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11789 /* 30467 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZrm),
11790 /* 30470 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11791 /* 30472 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11792 /* 30474 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11793 /* 30478 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11794 /* 30483 */ GIR_RootConstrainSelectedInstOperands,
11795 /* 30484 */ // GIR_Coverage, 5774,
11796 /* 30484 */ GIR_EraseRootFromParent_Done,
11797 /* 30485 */ // Label 792: @30485
11798 /* 30485 */ GIM_Try, /*On fail goto*//*Label 793*/ GIMT_Encode4(30508), // Rule ID 5771 //
11799 /* 30490 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
11800 /* 30493 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11801 /* 30497 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11802 /* 30501 */ // (or:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPORDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
11803 /* 30501 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORDZrr),
11804 /* 30506 */ GIR_RootConstrainSelectedInstOperands,
11805 /* 30507 */ // GIR_Coverage, 5771,
11806 /* 30507 */ GIR_Done,
11807 /* 30508 */ // Label 793: @30508
11808 /* 30508 */ GIM_Reject,
11809 /* 30509 */ // Label 790: @30509
11810 /* 30509 */ GIM_Reject,
11811 /* 30510 */ // Label 653: @30510
11812 /* 30510 */ GIM_Try, /*On fail goto*//*Label 794*/ GIMT_Encode4(30543), // Rule ID 4423 //
11813 /* 30515 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
11814 /* 30518 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
11815 /* 30521 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
11816 /* 30524 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
11817 /* 30528 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
11818 /* 30532 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
11819 /* 30536 */ // (or:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2) => (KORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
11820 /* 30536 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KORDkk),
11821 /* 30541 */ GIR_RootConstrainSelectedInstOperands,
11822 /* 30542 */ // GIR_Coverage, 4423,
11823 /* 30542 */ GIR_Done,
11824 /* 30543 */ // Label 794: @30543
11825 /* 30543 */ GIM_Reject,
11826 /* 30544 */ // Label 654: @30544
11827 /* 30544 */ GIM_Try, /*On fail goto*//*Label 795*/ GIMT_Encode4(31009),
11828 /* 30549 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
11829 /* 30552 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
11830 /* 30555 */ GIM_Try, /*On fail goto*//*Label 796*/ GIMT_Encode4(30617), // Rule ID 25315 //
11831 /* 30560 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
11832 /* 30563 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11833 /* 30567 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11834 /* 30571 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11835 /* 30575 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11836 /* 30578 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11837 /* 30582 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11838 /* 30586 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11839 /* 30590 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11840 /* 30592 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11841 /* 30599 */ // (or:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPORYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
11842 /* 30599 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
11843 /* 30602 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11844 /* 30604 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11845 /* 30606 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11846 /* 30610 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11847 /* 30615 */ GIR_RootConstrainSelectedInstOperands,
11848 /* 30616 */ // GIR_Coverage, 25315,
11849 /* 30616 */ GIR_EraseRootFromParent_Done,
11850 /* 30617 */ // Label 796: @30617
11851 /* 30617 */ GIM_Try, /*On fail goto*//*Label 797*/ GIMT_Encode4(30679), // Rule ID 25325 //
11852 /* 30622 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
11853 /* 30625 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11854 /* 30629 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11855 /* 30633 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11856 /* 30637 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11857 /* 30640 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11858 /* 30644 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11859 /* 30648 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11860 /* 30652 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11861 /* 30654 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11862 /* 30661 */ // (or:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VORPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
11863 /* 30661 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
11864 /* 30664 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11865 /* 30666 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11866 /* 30668 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11867 /* 30672 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11868 /* 30677 */ GIR_RootConstrainSelectedInstOperands,
11869 /* 30678 */ // GIR_Coverage, 25325,
11870 /* 30678 */ GIR_EraseRootFromParent_Done,
11871 /* 30679 */ // Label 797: @30679
11872 /* 30679 */ GIM_Try, /*On fail goto*//*Label 798*/ GIMT_Encode4(30741), // Rule ID 25522 //
11873 /* 30684 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
11874 /* 30687 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11875 /* 30691 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11876 /* 30695 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11877 /* 30699 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11878 /* 30702 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11879 /* 30706 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11880 /* 30710 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11881 /* 30714 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11882 /* 30716 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11883 /* 30723 */ // (or:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPORQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
11884 /* 30723 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
11885 /* 30726 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11886 /* 30728 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11887 /* 30730 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11888 /* 30734 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11889 /* 30739 */ GIR_RootConstrainSelectedInstOperands,
11890 /* 30740 */ // GIR_Coverage, 25522,
11891 /* 30740 */ GIR_EraseRootFromParent_Done,
11892 /* 30741 */ // Label 798: @30741
11893 /* 30741 */ GIM_Try, /*On fail goto*//*Label 799*/ GIMT_Encode4(30803), // Rule ID 18095 //
11894 /* 30746 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
11895 /* 30749 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11896 /* 30753 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11897 /* 30757 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11898 /* 30761 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11899 /* 30765 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11900 /* 30768 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11901 /* 30772 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11902 /* 30776 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11903 /* 30778 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11904 /* 30785 */ // (or:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
11905 /* 30785 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
11906 /* 30788 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11907 /* 30790 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11908 /* 30792 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11909 /* 30796 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11910 /* 30801 */ GIR_RootConstrainSelectedInstOperands,
11911 /* 30802 */ // GIR_Coverage, 18095,
11912 /* 30802 */ GIR_EraseRootFromParent_Done,
11913 /* 30803 */ // Label 799: @30803
11914 /* 30803 */ GIM_Try, /*On fail goto*//*Label 800*/ GIMT_Encode4(30865), // Rule ID 18124 //
11915 /* 30808 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
11916 /* 30811 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11917 /* 30815 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11918 /* 30819 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11919 /* 30823 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11920 /* 30827 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11921 /* 30830 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11922 /* 30834 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11923 /* 30838 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11924 /* 30840 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11925 /* 30847 */ // (or:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VORPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
11926 /* 30847 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
11927 /* 30850 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11928 /* 30852 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11929 /* 30854 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11930 /* 30858 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11931 /* 30863 */ GIR_RootConstrainSelectedInstOperands,
11932 /* 30864 */ // GIR_Coverage, 18124,
11933 /* 30864 */ GIR_EraseRootFromParent_Done,
11934 /* 30865 */ // Label 800: @30865
11935 /* 30865 */ GIM_Try, /*On fail goto*//*Label 801*/ GIMT_Encode4(30927), // Rule ID 20051 //
11936 /* 30870 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
11937 /* 30873 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11938 /* 30877 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11939 /* 30881 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11940 /* 30885 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11941 /* 30889 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11942 /* 30892 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11943 /* 30896 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11944 /* 30900 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11945 /* 30902 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11946 /* 30909 */ // (or:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
11947 /* 30909 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
11948 /* 30912 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11949 /* 30914 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11950 /* 30916 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11951 /* 30920 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11952 /* 30925 */ GIR_RootConstrainSelectedInstOperands,
11953 /* 30926 */ // GIR_Coverage, 20051,
11954 /* 30926 */ GIR_EraseRootFromParent_Done,
11955 /* 30927 */ // Label 801: @30927
11956 /* 30927 */ GIM_Try, /*On fail goto*//*Label 802*/ GIMT_Encode4(30954), // Rule ID 18083 //
11957 /* 30932 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
11958 /* 30935 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11959 /* 30939 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11960 /* 30943 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11961 /* 30947 */ // (or:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPORYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
11962 /* 30947 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORYrr),
11963 /* 30952 */ GIR_RootConstrainSelectedInstOperands,
11964 /* 30953 */ // GIR_Coverage, 18083,
11965 /* 30953 */ GIR_Done,
11966 /* 30954 */ // Label 802: @30954
11967 /* 30954 */ GIM_Try, /*On fail goto*//*Label 803*/ GIMT_Encode4(30981), // Rule ID 18108 //
11968 /* 30959 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
11969 /* 30962 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11970 /* 30966 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11971 /* 30970 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11972 /* 30974 */ // (or:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VORPSYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
11973 /* 30974 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VORPSYrr),
11974 /* 30979 */ GIR_RootConstrainSelectedInstOperands,
11975 /* 30980 */ // GIR_Coverage, 18108,
11976 /* 30980 */ GIR_Done,
11977 /* 30981 */ // Label 803: @30981
11978 /* 30981 */ GIM_Try, /*On fail goto*//*Label 804*/ GIMT_Encode4(31008), // Rule ID 20043 //
11979 /* 30986 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
11980 /* 30989 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11981 /* 30993 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11982 /* 30997 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11983 /* 31001 */ // (or:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPORQZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
11984 /* 31001 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rr),
11985 /* 31006 */ GIR_RootConstrainSelectedInstOperands,
11986 /* 31007 */ // GIR_Coverage, 20043,
11987 /* 31007 */ GIR_Done,
11988 /* 31008 */ // Label 804: @31008
11989 /* 31008 */ GIM_Reject,
11990 /* 31009 */ // Label 795: @31009
11991 /* 31009 */ GIM_Reject,
11992 /* 31010 */ // Label 655: @31010
11993 /* 31010 */ GIM_Try, /*On fail goto*//*Label 805*/ GIMT_Encode4(31165),
11994 /* 31015 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
11995 /* 31018 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
11996 /* 31021 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11997 /* 31025 */ GIM_Try, /*On fail goto*//*Label 806*/ GIMT_Encode4(31083), // Rule ID 25529 //
11998 /* 31030 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
11999 /* 31033 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12000 /* 31037 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12001 /* 31041 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12002 /* 31044 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12003 /* 31048 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12004 /* 31052 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12005 /* 31056 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12006 /* 31058 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12007 /* 31065 */ // (or:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPORQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
12008 /* 31065 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
12009 /* 31068 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12010 /* 31070 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12011 /* 31072 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12012 /* 31076 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12013 /* 31081 */ GIR_RootConstrainSelectedInstOperands,
12014 /* 31082 */ // GIR_Coverage, 25529,
12015 /* 31082 */ GIR_EraseRootFromParent_Done,
12016 /* 31083 */ // Label 806: @31083
12017 /* 31083 */ GIM_Try, /*On fail goto*//*Label 807*/ GIMT_Encode4(31141), // Rule ID 20068 //
12018 /* 31088 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12019 /* 31091 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12020 /* 31095 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12021 /* 31099 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12022 /* 31103 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12023 /* 31106 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12024 /* 31110 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12025 /* 31114 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12026 /* 31116 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12027 /* 31123 */ // (or:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
12028 /* 31123 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
12029 /* 31126 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12030 /* 31128 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12031 /* 31130 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12032 /* 31134 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12033 /* 31139 */ GIR_RootConstrainSelectedInstOperands,
12034 /* 31140 */ // GIR_Coverage, 20068,
12035 /* 31140 */ GIR_EraseRootFromParent_Done,
12036 /* 31141 */ // Label 807: @31141
12037 /* 31141 */ GIM_Try, /*On fail goto*//*Label 808*/ GIMT_Encode4(31164), // Rule ID 20060 //
12038 /* 31146 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12039 /* 31149 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12040 /* 31153 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12041 /* 31157 */ // (or:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPORQZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
12042 /* 31157 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZrr),
12043 /* 31162 */ GIR_RootConstrainSelectedInstOperands,
12044 /* 31163 */ // GIR_Coverage, 20060,
12045 /* 31163 */ GIR_Done,
12046 /* 31164 */ // Label 808: @31164
12047 /* 31164 */ GIM_Reject,
12048 /* 31165 */ // Label 805: @31165
12049 /* 31165 */ GIM_Reject,
12050 /* 31166 */ // Label 656: @31166
12051 /* 31166 */ GIM_Try, /*On fail goto*//*Label 809*/ GIMT_Encode4(31199), // Rule ID 4424 //
12052 /* 31171 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
12053 /* 31174 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
12054 /* 31177 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s1,
12055 /* 31180 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
12056 /* 31184 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
12057 /* 31188 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
12058 /* 31192 */ // (or:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2) => (KORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
12059 /* 31192 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KORQkk),
12060 /* 31197 */ GIR_RootConstrainSelectedInstOperands,
12061 /* 31198 */ // GIR_Coverage, 4424,
12062 /* 31198 */ GIR_Done,
12063 /* 31199 */ // Label 809: @31199
12064 /* 31199 */ GIM_Reject,
12065 /* 31200 */ // Label 657: @31200
12066 /* 31200 */ GIM_Try, /*On fail goto*//*Label 810*/ GIMT_Encode4(31355),
12067 /* 31205 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
12068 /* 31208 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
12069 /* 31211 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12070 /* 31215 */ GIM_Try, /*On fail goto*//*Label 811*/ GIMT_Encode4(31273), // Rule ID 25528 //
12071 /* 31220 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12072 /* 31223 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12073 /* 31227 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12074 /* 31231 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12075 /* 31234 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12076 /* 31238 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12077 /* 31242 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12078 /* 31246 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12079 /* 31248 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12080 /* 31255 */ // (or:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPORQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
12081 /* 31255 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
12082 /* 31258 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12083 /* 31260 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12084 /* 31262 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12085 /* 31266 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12086 /* 31271 */ GIR_RootConstrainSelectedInstOperands,
12087 /* 31272 */ // GIR_Coverage, 25528,
12088 /* 31272 */ GIR_EraseRootFromParent_Done,
12089 /* 31273 */ // Label 811: @31273
12090 /* 31273 */ GIM_Try, /*On fail goto*//*Label 812*/ GIMT_Encode4(31331), // Rule ID 20067 //
12091 /* 31278 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12092 /* 31281 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12093 /* 31285 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12094 /* 31289 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12095 /* 31293 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12096 /* 31296 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12097 /* 31300 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12098 /* 31304 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12099 /* 31306 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12100 /* 31313 */ // (or:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
12101 /* 31313 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
12102 /* 31316 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12103 /* 31318 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12104 /* 31320 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12105 /* 31324 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12106 /* 31329 */ GIR_RootConstrainSelectedInstOperands,
12107 /* 31330 */ // GIR_Coverage, 20067,
12108 /* 31330 */ GIR_EraseRootFromParent_Done,
12109 /* 31331 */ // Label 812: @31331
12110 /* 31331 */ GIM_Try, /*On fail goto*//*Label 813*/ GIMT_Encode4(31354), // Rule ID 20059 //
12111 /* 31336 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12112 /* 31339 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12113 /* 31343 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12114 /* 31347 */ // (or:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPORQZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
12115 /* 31347 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZrr),
12116 /* 31352 */ GIR_RootConstrainSelectedInstOperands,
12117 /* 31353 */ // GIR_Coverage, 20059,
12118 /* 31353 */ GIR_Done,
12119 /* 31354 */ // Label 813: @31354
12120 /* 31354 */ GIM_Reject,
12121 /* 31355 */ // Label 810: @31355
12122 /* 31355 */ GIM_Reject,
12123 /* 31356 */ // Label 658: @31356
12124 /* 31356 */ GIM_Reject,
12125 /* 31357 */ // Label 5: @31357
12126 /* 31357 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(25), /*)*//*default:*//*Label 837*/ GIMT_Encode4(43303),
12127 /* 31368 */ /*GILLT_s1*//*Label 814*/ GIMT_Encode4(31468),
12128 /* 31372 */ /*GILLT_s8*//*Label 815*/ GIMT_Encode4(32026),
12129 /* 31376 */ /*GILLT_s16*//*Label 816*/ GIMT_Encode4(32375),
12130 /* 31380 */ /*GILLT_s32*//*Label 817*/ GIMT_Encode4(32942),
12131 /* 31384 */ /*GILLT_s64*//*Label 818*/ GIMT_Encode4(33691), GIMT_Encode4(0), GIMT_Encode4(0),
12132 /* 31396 */ /*GILLT_v2s1*//*Label 819*/ GIMT_Encode4(34399),
12133 /* 31400 */ /*GILLT_v2s64*//*Label 820*/ GIMT_Encode4(34941),
12134 /* 31404 */ /*GILLT_v4s1*//*Label 821*/ GIMT_Encode4(35561),
12135 /* 31408 */ /*GILLT_v4s32*//*Label 822*/ GIMT_Encode4(36103),
12136 /* 31412 */ /*GILLT_v4s64*//*Label 823*/ GIMT_Encode4(36723),
12137 /* 31416 */ /*GILLT_v8s1*//*Label 824*/ GIMT_Encode4(37467),
12138 /* 31420 */ /*GILLT_v8s16*//*Label 825*/ GIMT_Encode4(38265),
12139 /* 31424 */ /*GILLT_v8s32*//*Label 826*/ GIMT_Encode4(38885),
12140 /* 31428 */ /*GILLT_v8s64*//*Label 827*/ GIMT_Encode4(39629),
12141 /* 31432 */ /*GILLT_v16s1*//*Label 828*/ GIMT_Encode4(39827),
12142 /* 31436 */ /*GILLT_v16s8*//*Label 829*/ GIMT_Encode4(40085),
12143 /* 31440 */ /*GILLT_v16s16*//*Label 830*/ GIMT_Encode4(40705),
12144 /* 31444 */ /*GILLT_v16s32*//*Label 831*/ GIMT_Encode4(41449),
12145 /* 31448 */ /*GILLT_v32s1*//*Label 832*/ GIMT_Encode4(41647),
12146 /* 31452 */ /*GILLT_v32s8*//*Label 833*/ GIMT_Encode4(41905),
12147 /* 31456 */ /*GILLT_v32s16*//*Label 834*/ GIMT_Encode4(42649),
12148 /* 31460 */ /*GILLT_v64s1*//*Label 835*/ GIMT_Encode4(42847),
12149 /* 31464 */ /*GILLT_v64s8*//*Label 836*/ GIMT_Encode4(43105),
12150 /* 31468 */ // Label 814: @31468
12151 /* 31468 */ GIM_Try, /*On fail goto*//*Label 838*/ GIMT_Encode4(32025),
12152 /* 31473 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s1,
12153 /* 31476 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s1,
12154 /* 31479 */ GIM_Try, /*On fail goto*//*Label 839*/ GIMT_Encode4(31603), // Rule ID 25454 //
12155 /* 31484 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12156 /* 31488 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12157 /* 31492 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
12158 /* 31496 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
12159 /* 31500 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
12160 /* 31504 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12161 /* 31509 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
12162 /* 31513 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
12163 /* 31519 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
12164 /* 31521 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12165 /* 31525 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
12166 /* 31527 */ // (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] })
12167 /* 31527 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
12168 /* 31530 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12169 /* 31534 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12170 /* 31539 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
12171 /* 31543 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12172 /* 31548 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
12173 /* 31551 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12174 /* 31555 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12175 /* 31560 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
12176 /* 31564 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12177 /* 31569 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
12178 /* 31572 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
12179 /* 31576 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12180 /* 31581 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12181 /* 31584 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
12182 /* 31587 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
12183 /* 31589 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12184 /* 31592 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12185 /* 31594 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12186 /* 31597 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
12187 /* 31602 */ // GIR_Coverage, 25454,
12188 /* 31602 */ GIR_EraseRootFromParent_Done,
12189 /* 31603 */ // Label 839: @31603
12190 /* 31603 */ GIM_Try, /*On fail goto*//*Label 840*/ GIMT_Encode4(31728), // Rule ID 19494 //
12191 /* 31608 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12192 /* 31612 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12193 /* 31616 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
12194 /* 31620 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
12195 /* 31624 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
12196 /* 31628 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12197 /* 31633 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12198 /* 31638 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
12199 /* 31642 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
12200 /* 31648 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
12201 /* 31650 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
12202 /* 31652 */ // (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] })
12203 /* 31652 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
12204 /* 31655 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12205 /* 31659 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12206 /* 31664 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/1, /*OpIdx*/2, // src2
12207 /* 31668 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12208 /* 31673 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
12209 /* 31676 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12210 /* 31680 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12211 /* 31685 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
12212 /* 31689 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12213 /* 31694 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
12214 /* 31697 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
12215 /* 31701 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12216 /* 31706 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12217 /* 31709 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
12218 /* 31712 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
12219 /* 31714 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12220 /* 31717 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12221 /* 31719 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12222 /* 31722 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
12223 /* 31727 */ // GIR_Coverage, 19494,
12224 /* 31727 */ GIR_EraseRootFromParent_Done,
12225 /* 31728 */ // Label 840: @31728
12226 /* 31728 */ GIM_Try, /*On fail goto*//*Label 841*/ GIMT_Encode4(31852), // Rule ID 25455 //
12227 /* 31733 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12228 /* 31737 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12229 /* 31741 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12230 /* 31745 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
12231 /* 31749 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
12232 /* 31753 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
12233 /* 31757 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12234 /* 31762 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
12235 /* 31766 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
12236 /* 31772 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
12237 /* 31774 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
12238 /* 31776 */ // (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] })
12239 /* 31776 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
12240 /* 31779 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12241 /* 31783 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12242 /* 31788 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
12243 /* 31792 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12244 /* 31797 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
12245 /* 31800 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12246 /* 31804 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12247 /* 31809 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
12248 /* 31813 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12249 /* 31818 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
12250 /* 31821 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
12251 /* 31825 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12252 /* 31830 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12253 /* 31833 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
12254 /* 31836 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
12255 /* 31838 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12256 /* 31841 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12257 /* 31843 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12258 /* 31846 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
12259 /* 31851 */ // GIR_Coverage, 25455,
12260 /* 31851 */ GIR_EraseRootFromParent_Done,
12261 /* 31852 */ // Label 841: @31852
12262 /* 31852 */ GIM_Try, /*On fail goto*//*Label 842*/ GIMT_Encode4(31931), // Rule ID 19480 //
12263 /* 31857 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
12264 /* 31861 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12265 /* 31865 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12266 /* 31869 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
12267 /* 31875 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
12268 /* 31877 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12269 /* 31879 */ // (xor:{ *:[v1i1] } VK1:{ *:[v1i1] }:$src, immAllOnesV:{ *:[v1i1] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } (KNOTWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK1:{ *:[v1i1] }:$src, VK16:{ *:[i32] })), VK2:{ *:[i32] })
12270 /* 31879 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
12271 /* 31882 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12272 /* 31886 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12273 /* 31891 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
12274 /* 31895 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12275 /* 31900 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
12276 /* 31903 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
12277 /* 31907 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12278 /* 31912 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12279 /* 31915 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
12280 /* 31917 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12281 /* 31920 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12282 /* 31922 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12283 /* 31925 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
12284 /* 31930 */ // GIR_Coverage, 19480,
12285 /* 31930 */ GIR_EraseRootFromParent_Done,
12286 /* 31931 */ // Label 842: @31931
12287 /* 31931 */ GIM_Try, /*On fail goto*//*Label 843*/ GIMT_Encode4(32024), // Rule ID 19498 //
12288 /* 31936 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12289 /* 31940 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12290 /* 31944 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12291 /* 31948 */ // (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] })
12292 /* 31948 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
12293 /* 31951 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12294 /* 31955 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12295 /* 31960 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
12296 /* 31964 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12297 /* 31969 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
12298 /* 31972 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12299 /* 31976 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12300 /* 31981 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
12301 /* 31985 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12302 /* 31990 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
12303 /* 31993 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
12304 /* 31997 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12305 /* 32002 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12306 /* 32005 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
12307 /* 32008 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
12308 /* 32010 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12309 /* 32013 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12310 /* 32015 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12311 /* 32018 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
12312 /* 32023 */ // GIR_Coverage, 19498,
12313 /* 32023 */ GIR_EraseRootFromParent_Done,
12314 /* 32024 */ // Label 843: @32024
12315 /* 32024 */ GIM_Reject,
12316 /* 32025 */ // Label 838: @32025
12317 /* 32025 */ GIM_Reject,
12318 /* 32026 */ // Label 815: @32026
12319 /* 32026 */ GIM_Try, /*On fail goto*//*Label 844*/ GIMT_Encode4(32374),
12320 /* 32031 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
12321 /* 32034 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
12322 /* 32037 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12323 /* 32041 */ GIM_Try, /*On fail goto*//*Label 845*/ GIMT_Encode4(32102), // Rule ID 26147 //
12324 /* 32046 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
12325 /* 32049 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12326 /* 32053 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12327 /* 32057 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12328 /* 32060 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12329 /* 32064 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
12330 /* 32068 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12331 /* 32072 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12332 /* 32074 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12333 /* 32081 */ // (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)
12334 /* 32081 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8rm),
12335 /* 32084 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12336 /* 32086 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12337 /* 32088 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12338 /* 32092 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12339 /* 32095 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12340 /* 32100 */ GIR_RootConstrainSelectedInstOperands,
12341 /* 32101 */ // GIR_Coverage, 26147,
12342 /* 32101 */ GIR_EraseRootFromParent_Done,
12343 /* 32102 */ // Label 845: @32102
12344 /* 32102 */ GIM_Try, /*On fail goto*//*Label 846*/ GIMT_Encode4(32163), // Rule ID 22922 //
12345 /* 32107 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
12346 /* 32110 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12347 /* 32114 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12348 /* 32118 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12349 /* 32122 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12350 /* 32125 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12351 /* 32129 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
12352 /* 32133 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12353 /* 32135 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12354 /* 32142 */ // (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)
12355 /* 32142 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8rm),
12356 /* 32145 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12357 /* 32147 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12358 /* 32149 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12359 /* 32153 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12360 /* 32156 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12361 /* 32161 */ GIR_RootConstrainSelectedInstOperands,
12362 /* 32162 */ // GIR_Coverage, 22922,
12363 /* 32162 */ GIR_EraseRootFromParent_Done,
12364 /* 32163 */ // Label 846: @32163
12365 /* 32163 */ GIM_Try, /*On fail goto*//*Label 847*/ GIMT_Encode4(32191), // Rule ID 22681 //
12366 /* 32168 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12367 /* 32172 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 128,
12368 /* 32176 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, -128:{ *:[i8] }) => (ADD8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, -128:{ *:[i8] })
12369 /* 32176 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8ri),
12370 /* 32179 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12371 /* 32181 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12372 /* 32183 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
12373 /* 32186 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12374 /* 32189 */ GIR_RootConstrainSelectedInstOperands,
12375 /* 32190 */ // GIR_Coverage, 22681,
12376 /* 32190 */ GIR_EraseRootFromParent_Done,
12377 /* 32191 */ // Label 847: @32191
12378 /* 32191 */ GIM_Try, /*On fail goto*//*Label 848*/ GIMT_Encode4(32216), // Rule ID 243 //
12379 /* 32196 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
12380 /* 32199 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12381 /* 32203 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
12382 /* 32207 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, -1:{ *:[i8] }) => (NOT8r:{ *:[i8] } GR8:{ *:[i8] }:$src1)
12383 /* 32207 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT8r),
12384 /* 32210 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12385 /* 32212 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12386 /* 32214 */ GIR_RootConstrainSelectedInstOperands,
12387 /* 32215 */ // GIR_Coverage, 243,
12388 /* 32215 */ GIR_EraseRootFromParent_Done,
12389 /* 32216 */ // Label 848: @32216
12390 /* 32216 */ GIM_Try, /*On fail goto*//*Label 849*/ GIMT_Encode4(32241), // Rule ID 251 //
12391 /* 32221 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
12392 /* 32224 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12393 /* 32228 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
12394 /* 32232 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, -1:{ *:[i8] }) => (NOT8r_ND:{ *:[i8] } GR8:{ *:[i8] }:$src1)
12395 /* 32232 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT8r_ND),
12396 /* 32235 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12397 /* 32237 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12398 /* 32239 */ GIR_RootConstrainSelectedInstOperands,
12399 /* 32240 */ // GIR_Coverage, 251,
12400 /* 32240 */ GIR_EraseRootFromParent_Done,
12401 /* 32241 */ // Label 849: @32241
12402 /* 32241 */ GIM_Try, /*On fail goto*//*Label 850*/ GIMT_Encode4(32278), // Rule ID 22926 //
12403 /* 32246 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
12404 /* 32249 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12405 /* 32253 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12406 /* 32257 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
12407 /* 32261 */ // MIs[1] Operand 1
12408 /* 32261 */ // No operand predicates
12409 /* 32261 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12410 /* 32263 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (XOR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
12411 /* 32263 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8ri),
12412 /* 32266 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12413 /* 32268 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12414 /* 32270 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
12415 /* 32273 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12416 /* 32276 */ GIR_RootConstrainSelectedInstOperands,
12417 /* 32277 */ // GIR_Coverage, 22926,
12418 /* 32277 */ GIR_EraseRootFromParent_Done,
12419 /* 32278 */ // Label 850: @32278
12420 /* 32278 */ GIM_Try, /*On fail goto*//*Label 851*/ GIMT_Encode4(32315), // Rule ID 23016 //
12421 /* 32283 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
12422 /* 32286 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12423 /* 32290 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12424 /* 32294 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
12425 /* 32298 */ // MIs[1] Operand 1
12426 /* 32298 */ // No operand predicates
12427 /* 32298 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12428 /* 32300 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (XOR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
12429 /* 32300 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8ri_ND),
12430 /* 32303 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12431 /* 32305 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12432 /* 32307 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
12433 /* 32310 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12434 /* 32313 */ GIR_RootConstrainSelectedInstOperands,
12435 /* 32314 */ // GIR_Coverage, 23016,
12436 /* 32314 */ GIR_EraseRootFromParent_Done,
12437 /* 32315 */ // Label 851: @32315
12438 /* 32315 */ GIM_Try, /*On fail goto*//*Label 852*/ GIMT_Encode4(32344), // Rule ID 22918 //
12439 /* 32320 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
12440 /* 32323 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12441 /* 32327 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12442 /* 32331 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (XOR8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
12443 /* 32331 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR8rr),
12444 /* 32336 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
12445 /* 32342 */ GIR_RootConstrainSelectedInstOperands,
12446 /* 32343 */ // GIR_Coverage, 22918,
12447 /* 32343 */ GIR_Done,
12448 /* 32344 */ // Label 852: @32344
12449 /* 32344 */ GIM_Try, /*On fail goto*//*Label 853*/ GIMT_Encode4(32373), // Rule ID 23008 //
12450 /* 32349 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
12451 /* 32352 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12452 /* 32356 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12453 /* 32360 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (XOR8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
12454 /* 32360 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR8rr_ND),
12455 /* 32365 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
12456 /* 32371 */ GIR_RootConstrainSelectedInstOperands,
12457 /* 32372 */ // GIR_Coverage, 23008,
12458 /* 32372 */ GIR_Done,
12459 /* 32373 */ // Label 853: @32373
12460 /* 32373 */ GIM_Reject,
12461 /* 32374 */ // Label 844: @32374
12462 /* 32374 */ GIM_Reject,
12463 /* 32375 */ // Label 816: @32375
12464 /* 32375 */ GIM_Try, /*On fail goto*//*Label 854*/ GIMT_Encode4(32941),
12465 /* 32380 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
12466 /* 32383 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
12467 /* 32386 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12468 /* 32390 */ GIM_Try, /*On fail goto*//*Label 855*/ GIMT_Encode4(32451), // Rule ID 26148 //
12469 /* 32395 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
12470 /* 32398 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12471 /* 32402 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12472 /* 32406 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12473 /* 32409 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12474 /* 32413 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
12475 /* 32417 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12476 /* 32421 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12477 /* 32423 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12478 /* 32430 */ // (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)
12479 /* 32430 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16rm),
12480 /* 32433 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12481 /* 32435 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12482 /* 32437 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12483 /* 32441 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12484 /* 32444 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12485 /* 32449 */ GIR_RootConstrainSelectedInstOperands,
12486 /* 32450 */ // GIR_Coverage, 26148,
12487 /* 32450 */ GIR_EraseRootFromParent_Done,
12488 /* 32451 */ // Label 855: @32451
12489 /* 32451 */ GIM_Try, /*On fail goto*//*Label 856*/ GIMT_Encode4(32512), // Rule ID 22923 //
12490 /* 32456 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
12491 /* 32459 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12492 /* 32463 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12493 /* 32467 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12494 /* 32471 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12495 /* 32474 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12496 /* 32478 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
12497 /* 32482 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12498 /* 32484 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12499 /* 32491 */ // (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)
12500 /* 32491 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16rm),
12501 /* 32494 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12502 /* 32496 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12503 /* 32498 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12504 /* 32502 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12505 /* 32505 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12506 /* 32510 */ GIR_RootConstrainSelectedInstOperands,
12507 /* 32511 */ // GIR_Coverage, 22923,
12508 /* 32511 */ GIR_EraseRootFromParent_Done,
12509 /* 32512 */ // Label 856: @32512
12510 /* 32512 */ GIM_Try, /*On fail goto*//*Label 857*/ GIMT_Encode4(32554), // Rule ID 22682 //
12511 /* 32517 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12512 /* 32521 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(18446744073709518848u),
12513 /* 32532 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, -32768:{ *:[i16] }) => (ADD16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, -32768:{ *:[i16] })
12514 /* 32532 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16ri),
12515 /* 32535 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12516 /* 32537 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12517 /* 32539 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(18446744073709518848u),
12518 /* 32549 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12519 /* 32552 */ GIR_RootConstrainSelectedInstOperands,
12520 /* 32553 */ // GIR_Coverage, 22682,
12521 /* 32553 */ GIR_EraseRootFromParent_Done,
12522 /* 32554 */ // Label 857: @32554
12523 /* 32554 */ GIM_Try, /*On fail goto*//*Label 858*/ GIMT_Encode4(32656), // Rule ID 26120 //
12524 /* 32559 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12525 /* 32563 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
12526 /* 32567 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
12527 /* 32571 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
12528 /* 32575 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
12529 /* 32579 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12530 /* 32584 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12531 /* 32588 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12532 /* 32590 */ // (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] }))
12533 /* 32590 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
12534 /* 32593 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
12535 /* 32597 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12536 /* 32602 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
12537 /* 32604 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
12538 /* 32607 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
12539 /* 32611 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12540 /* 32616 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12541 /* 32619 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
12542 /* 32623 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
12543 /* 32626 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
12544 /* 32631 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
12545 /* 32636 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
12546 /* 32641 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC16rr),
12547 /* 32644 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12548 /* 32646 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12549 /* 32648 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12550 /* 32651 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12551 /* 32654 */ GIR_RootConstrainSelectedInstOperands,
12552 /* 32655 */ // GIR_Coverage, 26120,
12553 /* 32655 */ GIR_EraseRootFromParent_Done,
12554 /* 32656 */ // Label 858: @32656
12555 /* 32656 */ GIM_Try, /*On fail goto*//*Label 859*/ GIMT_Encode4(32758), // Rule ID 22858 //
12556 /* 32661 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12557 /* 32665 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12558 /* 32669 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
12559 /* 32673 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
12560 /* 32677 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
12561 /* 32681 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
12562 /* 32685 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12563 /* 32690 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12564 /* 32692 */ // (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] }))
12565 /* 32692 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
12566 /* 32695 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
12567 /* 32699 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12568 /* 32704 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
12569 /* 32706 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
12570 /* 32709 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
12571 /* 32713 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12572 /* 32718 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12573 /* 32721 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
12574 /* 32725 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
12575 /* 32728 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
12576 /* 32733 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
12577 /* 32738 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
12578 /* 32743 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC16rr),
12579 /* 32746 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12580 /* 32748 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12581 /* 32750 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12582 /* 32753 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12583 /* 32756 */ GIR_RootConstrainSelectedInstOperands,
12584 /* 32757 */ // GIR_Coverage, 22858,
12585 /* 32757 */ GIR_EraseRootFromParent_Done,
12586 /* 32758 */ // Label 859: @32758
12587 /* 32758 */ GIM_Try, /*On fail goto*//*Label 860*/ GIMT_Encode4(32783), // Rule ID 244 //
12588 /* 32763 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
12589 /* 32766 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12590 /* 32770 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
12591 /* 32774 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, -1:{ *:[i16] }) => (NOT16r:{ *:[i16] } GR16:{ *:[i16] }:$src1)
12592 /* 32774 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT16r),
12593 /* 32777 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12594 /* 32779 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12595 /* 32781 */ GIR_RootConstrainSelectedInstOperands,
12596 /* 32782 */ // GIR_Coverage, 244,
12597 /* 32782 */ GIR_EraseRootFromParent_Done,
12598 /* 32783 */ // Label 860: @32783
12599 /* 32783 */ GIM_Try, /*On fail goto*//*Label 861*/ GIMT_Encode4(32808), // Rule ID 252 //
12600 /* 32788 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
12601 /* 32791 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12602 /* 32795 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
12603 /* 32799 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, -1:{ *:[i16] }) => (NOT16r_ND:{ *:[i16] } GR16:{ *:[i16] }:$src1)
12604 /* 32799 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT16r_ND),
12605 /* 32802 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12606 /* 32804 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12607 /* 32806 */ GIR_RootConstrainSelectedInstOperands,
12608 /* 32807 */ // GIR_Coverage, 252,
12609 /* 32807 */ GIR_EraseRootFromParent_Done,
12610 /* 32808 */ // Label 861: @32808
12611 /* 32808 */ GIM_Try, /*On fail goto*//*Label 862*/ GIMT_Encode4(32845), // Rule ID 22927 //
12612 /* 32813 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
12613 /* 32816 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12614 /* 32820 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12615 /* 32824 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
12616 /* 32828 */ // MIs[1] Operand 1
12617 /* 32828 */ // No operand predicates
12618 /* 32828 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12619 /* 32830 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (XOR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
12620 /* 32830 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16ri),
12621 /* 32833 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12622 /* 32835 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12623 /* 32837 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
12624 /* 32840 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12625 /* 32843 */ GIR_RootConstrainSelectedInstOperands,
12626 /* 32844 */ // GIR_Coverage, 22927,
12627 /* 32844 */ GIR_EraseRootFromParent_Done,
12628 /* 32845 */ // Label 862: @32845
12629 /* 32845 */ GIM_Try, /*On fail goto*//*Label 863*/ GIMT_Encode4(32882), // Rule ID 23017 //
12630 /* 32850 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
12631 /* 32853 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12632 /* 32857 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12633 /* 32861 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
12634 /* 32865 */ // MIs[1] Operand 1
12635 /* 32865 */ // No operand predicates
12636 /* 32865 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12637 /* 32867 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (XOR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
12638 /* 32867 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16ri_ND),
12639 /* 32870 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12640 /* 32872 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12641 /* 32874 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
12642 /* 32877 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12643 /* 32880 */ GIR_RootConstrainSelectedInstOperands,
12644 /* 32881 */ // GIR_Coverage, 23017,
12645 /* 32881 */ GIR_EraseRootFromParent_Done,
12646 /* 32882 */ // Label 863: @32882
12647 /* 32882 */ GIM_Try, /*On fail goto*//*Label 864*/ GIMT_Encode4(32911), // Rule ID 22919 //
12648 /* 32887 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
12649 /* 32890 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12650 /* 32894 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12651 /* 32898 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (XOR16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
12652 /* 32898 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR16rr),
12653 /* 32903 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
12654 /* 32909 */ GIR_RootConstrainSelectedInstOperands,
12655 /* 32910 */ // GIR_Coverage, 22919,
12656 /* 32910 */ GIR_Done,
12657 /* 32911 */ // Label 864: @32911
12658 /* 32911 */ GIM_Try, /*On fail goto*//*Label 865*/ GIMT_Encode4(32940), // Rule ID 23009 //
12659 /* 32916 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
12660 /* 32919 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12661 /* 32923 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12662 /* 32927 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (XOR16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
12663 /* 32927 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR16rr_ND),
12664 /* 32932 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
12665 /* 32938 */ GIR_RootConstrainSelectedInstOperands,
12666 /* 32939 */ // GIR_Coverage, 23009,
12667 /* 32939 */ GIR_Done,
12668 /* 32940 */ // Label 865: @32940
12669 /* 32940 */ GIM_Reject,
12670 /* 32941 */ // Label 854: @32941
12671 /* 32941 */ GIM_Reject,
12672 /* 32942 */ // Label 817: @32942
12673 /* 32942 */ GIM_Try, /*On fail goto*//*Label 866*/ GIMT_Encode4(33690),
12674 /* 32947 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
12675 /* 32950 */ GIM_Try, /*On fail goto*//*Label 867*/ GIMT_Encode4(33018), // Rule ID 26149 //
12676 /* 32955 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
12677 /* 32958 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12678 /* 32961 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12679 /* 32965 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12680 /* 32969 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12681 /* 32973 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12682 /* 32976 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12683 /* 32980 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
12684 /* 32984 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12685 /* 32988 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12686 /* 32990 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12687 /* 32997 */ // (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)
12688 /* 32997 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32rm),
12689 /* 33000 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12690 /* 33002 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12691 /* 33004 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12692 /* 33008 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12693 /* 33011 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12694 /* 33016 */ GIR_RootConstrainSelectedInstOperands,
12695 /* 33017 */ // GIR_Coverage, 26149,
12696 /* 33017 */ GIR_EraseRootFromParent_Done,
12697 /* 33018 */ // Label 867: @33018
12698 /* 33018 */ GIM_Try, /*On fail goto*//*Label 868*/ GIMT_Encode4(33086), // Rule ID 22924 //
12699 /* 33023 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
12700 /* 33026 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12701 /* 33029 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12702 /* 33033 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12703 /* 33037 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12704 /* 33041 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12705 /* 33045 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12706 /* 33048 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12707 /* 33052 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
12708 /* 33056 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12709 /* 33058 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12710 /* 33065 */ // (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)
12711 /* 33065 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32rm),
12712 /* 33068 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12713 /* 33070 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12714 /* 33072 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12715 /* 33076 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12716 /* 33079 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12717 /* 33084 */ GIR_RootConstrainSelectedInstOperands,
12718 /* 33085 */ // GIR_Coverage, 22924,
12719 /* 33085 */ GIR_EraseRootFromParent_Done,
12720 /* 33086 */ // Label 868: @33086
12721 /* 33086 */ GIM_Try, /*On fail goto*//*Label 869*/ GIMT_Encode4(33135), // Rule ID 22683 //
12722 /* 33091 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12723 /* 33094 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12724 /* 33098 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12725 /* 33102 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(18446744071562067968u),
12726 /* 33113 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -2147483648:{ *:[i32] }) => (ADD32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, -2147483648:{ *:[i32] })
12727 /* 33113 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32ri),
12728 /* 33116 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12729 /* 33118 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12730 /* 33120 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(18446744071562067968u),
12731 /* 33130 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12732 /* 33133 */ GIR_RootConstrainSelectedInstOperands,
12733 /* 33134 */ // GIR_Coverage, 22683,
12734 /* 33134 */ GIR_EraseRootFromParent_Done,
12735 /* 33135 */ // Label 869: @33135
12736 /* 33135 */ GIM_Try, /*On fail goto*//*Label 870*/ GIMT_Encode4(33193), // Rule ID 25079 //
12737 /* 33140 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
12738 /* 33143 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12739 /* 33147 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12740 /* 33151 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
12741 /* 33155 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
12742 /* 33159 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
12743 /* 33163 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12744 /* 33168 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
12745 /* 33172 */ // MIs[0] src
12746 /* 33172 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
12747 /* 33177 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12748 /* 33179 */ // (xor:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLCMSK32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
12749 /* 33179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCMSK32rr),
12750 /* 33182 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12751 /* 33184 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
12752 /* 33188 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12753 /* 33191 */ GIR_RootConstrainSelectedInstOperands,
12754 /* 33192 */ // GIR_Coverage, 25079,
12755 /* 33192 */ GIR_EraseRootFromParent_Done,
12756 /* 33193 */ // Label 870: @33193
12757 /* 33193 */ GIM_Try, /*On fail goto*//*Label 871*/ GIMT_Encode4(33302), // Rule ID 26126 //
12758 /* 33198 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12759 /* 33201 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12760 /* 33205 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12761 /* 33209 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
12762 /* 33213 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
12763 /* 33217 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
12764 /* 33221 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
12765 /* 33225 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12766 /* 33230 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12767 /* 33234 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12768 /* 33236 */ // (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] }))
12769 /* 33236 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
12770 /* 33239 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
12771 /* 33243 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12772 /* 33248 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
12773 /* 33250 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
12774 /* 33253 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
12775 /* 33257 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12776 /* 33262 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12777 /* 33265 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
12778 /* 33269 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
12779 /* 33272 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
12780 /* 33277 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
12781 /* 33282 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
12782 /* 33287 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC32rr),
12783 /* 33290 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12784 /* 33292 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12785 /* 33294 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12786 /* 33297 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12787 /* 33300 */ GIR_RootConstrainSelectedInstOperands,
12788 /* 33301 */ // GIR_Coverage, 26126,
12789 /* 33301 */ GIR_EraseRootFromParent_Done,
12790 /* 33302 */ // Label 871: @33302
12791 /* 33302 */ GIM_Try, /*On fail goto*//*Label 872*/ GIMT_Encode4(33356), // Rule ID 17346 //
12792 /* 33307 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
12793 /* 33310 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12794 /* 33313 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12795 /* 33317 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12796 /* 33321 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12797 /* 33325 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
12798 /* 33329 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
12799 /* 33333 */ // MIs[1] src
12800 /* 33333 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
12801 /* 33338 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
12802 /* 33342 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12803 /* 33344 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (BLCMSK32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
12804 /* 33344 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCMSK32rr),
12805 /* 33347 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12806 /* 33349 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
12807 /* 33351 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12808 /* 33354 */ GIR_RootConstrainSelectedInstOperands,
12809 /* 33355 */ // GIR_Coverage, 17346,
12810 /* 33355 */ GIR_EraseRootFromParent_Done,
12811 /* 33356 */ // Label 872: @33356
12812 /* 33356 */ GIM_Try, /*On fail goto*//*Label 873*/ GIMT_Encode4(33465), // Rule ID 22864 //
12813 /* 33361 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12814 /* 33364 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12815 /* 33368 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12816 /* 33372 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12817 /* 33376 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
12818 /* 33380 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
12819 /* 33384 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
12820 /* 33388 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
12821 /* 33392 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12822 /* 33397 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12823 /* 33399 */ // (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] }))
12824 /* 33399 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
12825 /* 33402 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
12826 /* 33406 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12827 /* 33411 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
12828 /* 33413 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
12829 /* 33416 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
12830 /* 33420 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12831 /* 33425 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12832 /* 33428 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
12833 /* 33432 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
12834 /* 33435 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
12835 /* 33440 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
12836 /* 33445 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
12837 /* 33450 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC32rr),
12838 /* 33453 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12839 /* 33455 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12840 /* 33457 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12841 /* 33460 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12842 /* 33463 */ GIR_RootConstrainSelectedInstOperands,
12843 /* 33464 */ // GIR_Coverage, 22864,
12844 /* 33464 */ GIR_EraseRootFromParent_Done,
12845 /* 33465 */ // Label 873: @33465
12846 /* 33465 */ GIM_Try, /*On fail goto*//*Label 874*/ GIMT_Encode4(33497), // Rule ID 245 //
12847 /* 33470 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
12848 /* 33473 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12849 /* 33476 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12850 /* 33480 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12851 /* 33484 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
12852 /* 33488 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] }) => (NOT32r:{ *:[i32] } GR32:{ *:[i32] }:$src1)
12853 /* 33488 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT32r),
12854 /* 33491 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12855 /* 33493 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12856 /* 33495 */ GIR_RootConstrainSelectedInstOperands,
12857 /* 33496 */ // GIR_Coverage, 245,
12858 /* 33496 */ GIR_EraseRootFromParent_Done,
12859 /* 33497 */ // Label 874: @33497
12860 /* 33497 */ GIM_Try, /*On fail goto*//*Label 875*/ GIMT_Encode4(33529), // Rule ID 253 //
12861 /* 33502 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
12862 /* 33505 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12863 /* 33508 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12864 /* 33512 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12865 /* 33516 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
12866 /* 33520 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] }) => (NOT32r_ND:{ *:[i32] } GR32:{ *:[i32] }:$src1)
12867 /* 33520 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT32r_ND),
12868 /* 33523 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12869 /* 33525 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12870 /* 33527 */ GIR_RootConstrainSelectedInstOperands,
12871 /* 33528 */ // GIR_Coverage, 253,
12872 /* 33528 */ GIR_EraseRootFromParent_Done,
12873 /* 33529 */ // Label 875: @33529
12874 /* 33529 */ GIM_Try, /*On fail goto*//*Label 876*/ GIMT_Encode4(33573), // Rule ID 22928 //
12875 /* 33534 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
12876 /* 33537 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12877 /* 33540 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12878 /* 33544 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12879 /* 33548 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12880 /* 33552 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
12881 /* 33556 */ // MIs[1] Operand 1
12882 /* 33556 */ // No operand predicates
12883 /* 33556 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12884 /* 33558 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (XOR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
12885 /* 33558 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32ri),
12886 /* 33561 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12887 /* 33563 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12888 /* 33565 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
12889 /* 33568 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12890 /* 33571 */ GIR_RootConstrainSelectedInstOperands,
12891 /* 33572 */ // GIR_Coverage, 22928,
12892 /* 33572 */ GIR_EraseRootFromParent_Done,
12893 /* 33573 */ // Label 876: @33573
12894 /* 33573 */ GIM_Try, /*On fail goto*//*Label 877*/ GIMT_Encode4(33617), // Rule ID 23018 //
12895 /* 33578 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
12896 /* 33581 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12897 /* 33584 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12898 /* 33588 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12899 /* 33592 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12900 /* 33596 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
12901 /* 33600 */ // MIs[1] Operand 1
12902 /* 33600 */ // No operand predicates
12903 /* 33600 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12904 /* 33602 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (XOR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
12905 /* 33602 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32ri_ND),
12906 /* 33605 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12907 /* 33607 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12908 /* 33609 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
12909 /* 33612 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12910 /* 33615 */ GIR_RootConstrainSelectedInstOperands,
12911 /* 33616 */ // GIR_Coverage, 23018,
12912 /* 33616 */ GIR_EraseRootFromParent_Done,
12913 /* 33617 */ // Label 877: @33617
12914 /* 33617 */ GIM_Try, /*On fail goto*//*Label 878*/ GIMT_Encode4(33653), // Rule ID 22920 //
12915 /* 33622 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
12916 /* 33625 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12917 /* 33628 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12918 /* 33632 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12919 /* 33636 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12920 /* 33640 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (XOR32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
12921 /* 33640 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR32rr),
12922 /* 33645 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
12923 /* 33651 */ GIR_RootConstrainSelectedInstOperands,
12924 /* 33652 */ // GIR_Coverage, 22920,
12925 /* 33652 */ GIR_Done,
12926 /* 33653 */ // Label 878: @33653
12927 /* 33653 */ GIM_Try, /*On fail goto*//*Label 879*/ GIMT_Encode4(33689), // Rule ID 23010 //
12928 /* 33658 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
12929 /* 33661 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12930 /* 33664 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12931 /* 33668 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12932 /* 33672 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12933 /* 33676 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (XOR32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
12934 /* 33676 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR32rr_ND),
12935 /* 33681 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
12936 /* 33687 */ GIR_RootConstrainSelectedInstOperands,
12937 /* 33688 */ // GIR_Coverage, 23010,
12938 /* 33688 */ GIR_Done,
12939 /* 33689 */ // Label 879: @33689
12940 /* 33689 */ GIM_Reject,
12941 /* 33690 */ // Label 866: @33690
12942 /* 33690 */ GIM_Reject,
12943 /* 33691 */ // Label 818: @33691
12944 /* 33691 */ GIM_Try, /*On fail goto*//*Label 880*/ GIMT_Encode4(34398),
12945 /* 33696 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
12946 /* 33699 */ GIM_Try, /*On fail goto*//*Label 881*/ GIMT_Encode4(33767), // Rule ID 26150 //
12947 /* 33704 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
12948 /* 33707 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
12949 /* 33710 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
12950 /* 33714 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12951 /* 33718 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12952 /* 33722 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12953 /* 33725 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12954 /* 33729 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12955 /* 33733 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
12956 /* 33737 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12957 /* 33739 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12958 /* 33746 */ // (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)
12959 /* 33746 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64rm),
12960 /* 33749 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12961 /* 33751 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12962 /* 33753 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12963 /* 33757 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12964 /* 33760 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12965 /* 33765 */ GIR_RootConstrainSelectedInstOperands,
12966 /* 33766 */ // GIR_Coverage, 26150,
12967 /* 33766 */ GIR_EraseRootFromParent_Done,
12968 /* 33767 */ // Label 881: @33767
12969 /* 33767 */ GIM_Try, /*On fail goto*//*Label 882*/ GIMT_Encode4(33835), // Rule ID 22925 //
12970 /* 33772 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
12971 /* 33775 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
12972 /* 33778 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
12973 /* 33782 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
12974 /* 33786 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12975 /* 33790 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12976 /* 33794 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12977 /* 33797 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12978 /* 33801 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12979 /* 33805 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12980 /* 33807 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12981 /* 33814 */ // (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)
12982 /* 33814 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64rm),
12983 /* 33817 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12984 /* 33819 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12985 /* 33821 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12986 /* 33825 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12987 /* 33828 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12988 /* 33833 */ GIR_RootConstrainSelectedInstOperands,
12989 /* 33834 */ // GIR_Coverage, 22925,
12990 /* 33834 */ GIR_EraseRootFromParent_Done,
12991 /* 33835 */ // Label 882: @33835
12992 /* 33835 */ GIM_Try, /*On fail goto*//*Label 883*/ GIMT_Encode4(33893), // Rule ID 25080 //
12993 /* 33840 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
12994 /* 33843 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
12995 /* 33847 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12996 /* 33851 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
12997 /* 33855 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
12998 /* 33859 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
12999 /* 33863 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13000 /* 33868 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
13001 /* 33872 */ // MIs[0] src
13002 /* 33872 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
13003 /* 33877 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13004 /* 33879 */ // (xor:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLCMSK64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
13005 /* 33879 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCMSK64rr),
13006 /* 33882 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13007 /* 33884 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
13008 /* 33888 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13009 /* 33891 */ GIR_RootConstrainSelectedInstOperands,
13010 /* 33892 */ // GIR_Coverage, 25080,
13011 /* 33892 */ GIR_EraseRootFromParent_Done,
13012 /* 33893 */ // Label 883: @33893
13013 /* 33893 */ GIM_Try, /*On fail goto*//*Label 884*/ GIMT_Encode4(34002), // Rule ID 26132 //
13014 /* 33898 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
13015 /* 33901 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13016 /* 33905 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13017 /* 33909 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
13018 /* 33913 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
13019 /* 33917 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
13020 /* 33921 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
13021 /* 33925 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13022 /* 33930 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13023 /* 33934 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13024 /* 33936 */ // (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] }))
13025 /* 33936 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
13026 /* 33939 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
13027 /* 33943 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13028 /* 33948 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
13029 /* 33950 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
13030 /* 33953 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
13031 /* 33957 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13032 /* 33962 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13033 /* 33965 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
13034 /* 33969 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
13035 /* 33972 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
13036 /* 33977 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
13037 /* 33982 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
13038 /* 33987 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC64rr),
13039 /* 33990 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13040 /* 33992 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13041 /* 33994 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13042 /* 33997 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13043 /* 34000 */ GIR_RootConstrainSelectedInstOperands,
13044 /* 34001 */ // GIR_Coverage, 26132,
13045 /* 34001 */ GIR_EraseRootFromParent_Done,
13046 /* 34002 */ // Label 884: @34002
13047 /* 34002 */ GIM_Try, /*On fail goto*//*Label 885*/ GIMT_Encode4(34056), // Rule ID 17347 //
13048 /* 34007 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
13049 /* 34010 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
13050 /* 34013 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13051 /* 34017 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13052 /* 34021 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13053 /* 34025 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
13054 /* 34029 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
13055 /* 34033 */ // MIs[1] src
13056 /* 34033 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
13057 /* 34038 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
13058 /* 34042 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13059 /* 34044 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (BLCMSK64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
13060 /* 34044 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCMSK64rr),
13061 /* 34047 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13062 /* 34049 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
13063 /* 34051 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13064 /* 34054 */ GIR_RootConstrainSelectedInstOperands,
13065 /* 34055 */ // GIR_Coverage, 17347,
13066 /* 34055 */ GIR_EraseRootFromParent_Done,
13067 /* 34056 */ // Label 885: @34056
13068 /* 34056 */ GIM_Try, /*On fail goto*//*Label 886*/ GIMT_Encode4(34165), // Rule ID 22870 //
13069 /* 34061 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
13070 /* 34064 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13071 /* 34068 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13072 /* 34072 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13073 /* 34076 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
13074 /* 34080 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
13075 /* 34084 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
13076 /* 34088 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
13077 /* 34092 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13078 /* 34097 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13079 /* 34099 */ // (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] }))
13080 /* 34099 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
13081 /* 34102 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
13082 /* 34106 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13083 /* 34111 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
13084 /* 34113 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
13085 /* 34116 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
13086 /* 34120 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13087 /* 34125 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13088 /* 34128 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
13089 /* 34132 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
13090 /* 34135 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
13091 /* 34140 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
13092 /* 34145 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
13093 /* 34150 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC64rr),
13094 /* 34153 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13095 /* 34155 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13096 /* 34157 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13097 /* 34160 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13098 /* 34163 */ GIR_RootConstrainSelectedInstOperands,
13099 /* 34164 */ // GIR_Coverage, 22870,
13100 /* 34164 */ GIR_EraseRootFromParent_Done,
13101 /* 34165 */ // Label 886: @34165
13102 /* 34165 */ GIM_Try, /*On fail goto*//*Label 887*/ GIMT_Encode4(34197), // Rule ID 246 //
13103 /* 34170 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13104 /* 34173 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
13105 /* 34176 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13106 /* 34180 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13107 /* 34184 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
13108 /* 34188 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] }) => (NOT64r:{ *:[i64] } GR64:{ *:[i64] }:$src1)
13109 /* 34188 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT64r),
13110 /* 34191 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13111 /* 34193 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13112 /* 34195 */ GIR_RootConstrainSelectedInstOperands,
13113 /* 34196 */ // GIR_Coverage, 246,
13114 /* 34196 */ GIR_EraseRootFromParent_Done,
13115 /* 34197 */ // Label 887: @34197
13116 /* 34197 */ GIM_Try, /*On fail goto*//*Label 888*/ GIMT_Encode4(34229), // Rule ID 254 //
13117 /* 34202 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
13118 /* 34205 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
13119 /* 34208 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13120 /* 34212 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13121 /* 34216 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
13122 /* 34220 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] }) => (NOT64r_ND:{ *:[i64] } GR64:{ *:[i64] }:$src1)
13123 /* 34220 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT64r_ND),
13124 /* 34223 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13125 /* 34225 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13126 /* 34227 */ GIR_RootConstrainSelectedInstOperands,
13127 /* 34228 */ // GIR_Coverage, 254,
13128 /* 34228 */ GIR_EraseRootFromParent_Done,
13129 /* 34229 */ // Label 888: @34229
13130 /* 34229 */ GIM_Try, /*On fail goto*//*Label 889*/ GIMT_Encode4(34277), // Rule ID 22929 //
13131 /* 34234 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13132 /* 34237 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
13133 /* 34240 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13134 /* 34244 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13135 /* 34248 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13136 /* 34252 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
13137 /* 34256 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
13138 /* 34260 */ // MIs[1] Operand 1
13139 /* 34260 */ // No operand predicates
13140 /* 34260 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13141 /* 34262 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (XOR64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
13142 /* 34262 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64ri32),
13143 /* 34265 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13144 /* 34267 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13145 /* 34269 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
13146 /* 34272 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13147 /* 34275 */ GIR_RootConstrainSelectedInstOperands,
13148 /* 34276 */ // GIR_Coverage, 22929,
13149 /* 34276 */ GIR_EraseRootFromParent_Done,
13150 /* 34277 */ // Label 889: @34277
13151 /* 34277 */ GIM_Try, /*On fail goto*//*Label 890*/ GIMT_Encode4(34325), // Rule ID 23019 //
13152 /* 34282 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13153 /* 34285 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
13154 /* 34288 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13155 /* 34292 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13156 /* 34296 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13157 /* 34300 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
13158 /* 34304 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
13159 /* 34308 */ // MIs[1] Operand 1
13160 /* 34308 */ // No operand predicates
13161 /* 34308 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13162 /* 34310 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (XOR64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
13163 /* 34310 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64ri32_ND),
13164 /* 34313 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13165 /* 34315 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13166 /* 34317 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
13167 /* 34320 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13168 /* 34323 */ GIR_RootConstrainSelectedInstOperands,
13169 /* 34324 */ // GIR_Coverage, 23019,
13170 /* 34324 */ GIR_EraseRootFromParent_Done,
13171 /* 34325 */ // Label 890: @34325
13172 /* 34325 */ GIM_Try, /*On fail goto*//*Label 891*/ GIMT_Encode4(34361), // Rule ID 22921 //
13173 /* 34330 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13174 /* 34333 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
13175 /* 34336 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13176 /* 34340 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13177 /* 34344 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13178 /* 34348 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (XOR64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
13179 /* 34348 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR64rr),
13180 /* 34353 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
13181 /* 34359 */ GIR_RootConstrainSelectedInstOperands,
13182 /* 34360 */ // GIR_Coverage, 22921,
13183 /* 34360 */ GIR_Done,
13184 /* 34361 */ // Label 891: @34361
13185 /* 34361 */ GIM_Try, /*On fail goto*//*Label 892*/ GIMT_Encode4(34397), // Rule ID 23011 //
13186 /* 34366 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13187 /* 34369 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
13188 /* 34372 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13189 /* 34376 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13190 /* 34380 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13191 /* 34384 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (XOR64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
13192 /* 34384 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR64rr_ND),
13193 /* 34389 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
13194 /* 34395 */ GIR_RootConstrainSelectedInstOperands,
13195 /* 34396 */ // GIR_Coverage, 23011,
13196 /* 34396 */ GIR_Done,
13197 /* 34397 */ // Label 892: @34397
13198 /* 34397 */ GIM_Reject,
13199 /* 34398 */ // Label 880: @34398
13200 /* 34398 */ GIM_Reject,
13201 /* 34399 */ // Label 819: @34399
13202 /* 34399 */ GIM_Try, /*On fail goto*//*Label 893*/ GIMT_Encode4(34940),
13203 /* 34404 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
13204 /* 34407 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s1,
13205 /* 34410 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13206 /* 34414 */ GIM_Try, /*On fail goto*//*Label 894*/ GIMT_Encode4(34534), // Rule ID 25456 //
13207 /* 34419 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13208 /* 34423 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13209 /* 34427 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
13210 /* 34431 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
13211 /* 34435 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13212 /* 34440 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13213 /* 34444 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13214 /* 34450 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13215 /* 34452 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13216 /* 34456 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13217 /* 34458 */ // (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] })
13218 /* 34458 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13219 /* 34461 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13220 /* 34465 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13221 /* 34470 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
13222 /* 34474 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13223 /* 34479 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13224 /* 34482 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13225 /* 34486 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13226 /* 34491 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13227 /* 34495 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13228 /* 34500 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13229 /* 34503 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13230 /* 34507 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13231 /* 34512 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13232 /* 34515 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13233 /* 34518 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13234 /* 34520 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13235 /* 34523 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13236 /* 34525 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13237 /* 34528 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
13238 /* 34533 */ // GIR_Coverage, 25456,
13239 /* 34533 */ GIR_EraseRootFromParent_Done,
13240 /* 34534 */ // Label 894: @34534
13241 /* 34534 */ GIM_Try, /*On fail goto*//*Label 895*/ GIMT_Encode4(34655), // Rule ID 19495 //
13242 /* 34539 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13243 /* 34543 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13244 /* 34547 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
13245 /* 34551 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
13246 /* 34555 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13247 /* 34560 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13248 /* 34565 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
13249 /* 34569 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13250 /* 34575 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13251 /* 34577 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13252 /* 34579 */ // (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] })
13253 /* 34579 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13254 /* 34582 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13255 /* 34586 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13256 /* 34591 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/1, /*OpIdx*/2, // src2
13257 /* 34595 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13258 /* 34600 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13259 /* 34603 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13260 /* 34607 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13261 /* 34612 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13262 /* 34616 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13263 /* 34621 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13264 /* 34624 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13265 /* 34628 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13266 /* 34633 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13267 /* 34636 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13268 /* 34639 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13269 /* 34641 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13270 /* 34644 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13271 /* 34646 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13272 /* 34649 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
13273 /* 34654 */ // GIR_Coverage, 19495,
13274 /* 34654 */ GIR_EraseRootFromParent_Done,
13275 /* 34655 */ // Label 895: @34655
13276 /* 34655 */ GIM_Try, /*On fail goto*//*Label 896*/ GIMT_Encode4(34775), // Rule ID 25457 //
13277 /* 34660 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13278 /* 34664 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13279 /* 34668 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13280 /* 34672 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
13281 /* 34676 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
13282 /* 34680 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13283 /* 34685 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13284 /* 34689 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13285 /* 34695 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13286 /* 34697 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13287 /* 34699 */ // (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] })
13288 /* 34699 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13289 /* 34702 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13290 /* 34706 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13291 /* 34711 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
13292 /* 34715 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13293 /* 34720 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13294 /* 34723 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13295 /* 34727 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13296 /* 34732 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13297 /* 34736 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13298 /* 34741 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13299 /* 34744 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13300 /* 34748 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13301 /* 34753 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13302 /* 34756 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13303 /* 34759 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13304 /* 34761 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13305 /* 34764 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13306 /* 34766 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13307 /* 34769 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
13308 /* 34774 */ // GIR_Coverage, 25457,
13309 /* 34774 */ GIR_EraseRootFromParent_Done,
13310 /* 34775 */ // Label 896: @34775
13311 /* 34775 */ GIM_Try, /*On fail goto*//*Label 897*/ GIMT_Encode4(34850), // Rule ID 19479 //
13312 /* 34780 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13313 /* 34784 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13314 /* 34788 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13315 /* 34794 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
13316 /* 34796 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13317 /* 34798 */ // (xor:{ *:[v2i1] } VK2:{ *:[v2i1] }:$src, immAllOnesV:{ *:[v2i1] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } (KNOTWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK2:{ *:[v2i1] }:$src, VK16:{ *:[i32] })), VK2:{ *:[i32] })
13318 /* 34798 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13319 /* 34801 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13320 /* 34805 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13321 /* 34810 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
13322 /* 34814 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13323 /* 34819 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13324 /* 34822 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
13325 /* 34826 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13326 /* 34831 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13327 /* 34834 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13328 /* 34836 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13329 /* 34839 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13330 /* 34841 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13331 /* 34844 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
13332 /* 34849 */ // GIR_Coverage, 19479,
13333 /* 34849 */ GIR_EraseRootFromParent_Done,
13334 /* 34850 */ // Label 897: @34850
13335 /* 34850 */ GIM_Try, /*On fail goto*//*Label 898*/ GIMT_Encode4(34939), // Rule ID 19499 //
13336 /* 34855 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13337 /* 34859 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13338 /* 34863 */ // (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] })
13339 /* 34863 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13340 /* 34866 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13341 /* 34870 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13342 /* 34875 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
13343 /* 34879 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13344 /* 34884 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13345 /* 34887 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13346 /* 34891 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13347 /* 34896 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
13348 /* 34900 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13349 /* 34905 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13350 /* 34908 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
13351 /* 34912 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13352 /* 34917 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13353 /* 34920 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13354 /* 34923 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13355 /* 34925 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13356 /* 34928 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13357 /* 34930 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13358 /* 34933 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
13359 /* 34938 */ // GIR_Coverage, 19499,
13360 /* 34938 */ GIR_EraseRootFromParent_Done,
13361 /* 34939 */ // Label 898: @34939
13362 /* 34939 */ GIM_Reject,
13363 /* 34940 */ // Label 893: @34940
13364 /* 34940 */ GIM_Reject,
13365 /* 34941 */ // Label 820: @34941
13366 /* 34941 */ GIM_Try, /*On fail goto*//*Label 899*/ GIMT_Encode4(35560),
13367 /* 34946 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
13368 /* 34949 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
13369 /* 34952 */ GIM_Try, /*On fail goto*//*Label 900*/ GIMT_Encode4(35014), // Rule ID 23448 //
13370 /* 34957 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
13371 /* 34960 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
13372 /* 34964 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13373 /* 34968 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13374 /* 34972 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13375 /* 34975 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
13376 /* 34979 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13377 /* 34983 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
13378 /* 34987 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13379 /* 34989 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13380 /* 34996 */ // (xor:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src1) => (VPXORrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
13381 /* 34996 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
13382 /* 34999 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13383 /* 35001 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13384 /* 35003 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13385 /* 35007 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13386 /* 35012 */ GIR_RootConstrainSelectedInstOperands,
13387 /* 35013 */ // GIR_Coverage, 23448,
13388 /* 35013 */ GIR_EraseRootFromParent_Done,
13389 /* 35014 */ // Label 900: @35014
13390 /* 35014 */ GIM_Try, /*On fail goto*//*Label 901*/ GIMT_Encode4(35076), // Rule ID 24303 //
13391 /* 35019 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
13392 /* 35022 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
13393 /* 35026 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13394 /* 35030 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13395 /* 35034 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13396 /* 35037 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
13397 /* 35041 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13398 /* 35045 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
13399 /* 35049 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13400 /* 35051 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13401 /* 35058 */ // (xor:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPXORQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
13402 /* 35058 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
13403 /* 35061 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13404 /* 35063 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13405 /* 35065 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13406 /* 35069 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13407 /* 35074 */ GIR_RootConstrainSelectedInstOperands,
13408 /* 35075 */ // GIR_Coverage, 24303,
13409 /* 35075 */ GIR_EraseRootFromParent_Done,
13410 /* 35076 */ // Label 901: @35076
13411 /* 35076 */ GIM_Try, /*On fail goto*//*Label 902*/ GIMT_Encode4(35138), // Rule ID 2123 //
13412 /* 35081 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
13413 /* 35084 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
13414 /* 35088 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
13415 /* 35092 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13416 /* 35096 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13417 /* 35100 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13418 /* 35103 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
13419 /* 35107 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13420 /* 35111 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13421 /* 35113 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13422 /* 35120 */ // (xor:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
13423 /* 35120 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
13424 /* 35123 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13425 /* 35125 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13426 /* 35127 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13427 /* 35131 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13428 /* 35136 */ GIR_RootConstrainSelectedInstOperands,
13429 /* 35137 */ // GIR_Coverage, 2123,
13430 /* 35137 */ GIR_EraseRootFromParent_Done,
13431 /* 35138 */ // Label 902: @35138
13432 /* 35138 */ GIM_Try, /*On fail goto*//*Label 903*/ GIMT_Encode4(35200), // Rule ID 5819 //
13433 /* 35143 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
13434 /* 35146 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
13435 /* 35150 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
13436 /* 35154 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13437 /* 35158 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13438 /* 35162 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13439 /* 35165 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
13440 /* 35169 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13441 /* 35173 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13442 /* 35175 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13443 /* 35182 */ // (xor:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
13444 /* 35182 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
13445 /* 35185 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13446 /* 35187 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13447 /* 35189 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13448 /* 35193 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13449 /* 35198 */ GIR_RootConstrainSelectedInstOperands,
13450 /* 35199 */ // GIR_Coverage, 5819,
13451 /* 35199 */ GIR_EraseRootFromParent_Done,
13452 /* 35200 */ // Label 903: @35200
13453 /* 35200 */ GIM_Try, /*On fail goto*//*Label 904*/ GIMT_Encode4(35432), // Rule ID 21957 //
13454 /* 35205 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
13455 /* 35208 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
13456 /* 35212 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
13457 /* 35216 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13458 /* 35220 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13459 /* 35226 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
13460 /* 35228 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13461 /* 35230 */ // (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] })
13462 /* 35230 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
13463 /* 35233 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
13464 /* 35237 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13465 /* 35242 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
13466 /* 35244 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
13467 /* 35247 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
13468 /* 35251 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13469 /* 35256 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
13470 /* 35259 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
13471 /* 35263 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
13472 /* 35266 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
13473 /* 35271 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
13474 /* 35276 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
13475 /* 35281 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
13476 /* 35284 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
13477 /* 35288 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13478 /* 35293 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
13479 /* 35295 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
13480 /* 35298 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
13481 /* 35302 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13482 /* 35307 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
13483 /* 35310 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
13484 /* 35314 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
13485 /* 35317 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
13486 /* 35322 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
13487 /* 35327 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
13488 /* 35332 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
13489 /* 35335 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
13490 /* 35339 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13491 /* 35344 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
13492 /* 35346 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
13493 /* 35349 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
13494 /* 35353 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13495 /* 35358 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
13496 /* 35361 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
13497 /* 35365 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
13498 /* 35368 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
13499 /* 35373 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
13500 /* 35378 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
13501 /* 35383 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
13502 /* 35386 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
13503 /* 35390 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13504 /* 35395 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13505 /* 35398 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
13506 /* 35401 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
13507 /* 35404 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
13508 /* 35407 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13509 /* 35409 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13510 /* 35412 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13511 /* 35414 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
13512 /* 35421 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
13513 /* 35426 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
13514 /* 35431 */ // GIR_Coverage, 21957,
13515 /* 35431 */ GIR_EraseRootFromParent_Done,
13516 /* 35432 */ // Label 904: @35432
13517 /* 35432 */ GIM_Try, /*On fail goto*//*Label 905*/ GIMT_Encode4(35478), // Rule ID 21965 //
13518 /* 35437 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
13519 /* 35440 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
13520 /* 35444 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
13521 /* 35448 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13522 /* 35452 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13523 /* 35458 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
13524 /* 35460 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13525 /* 35462 */ // (xor:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, immAllOnesV:{ *:[v2i64] }) => (VPTERNLOGQZ128rri:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, VR128X:{ *:[v2i64] }:$src, VR128X:{ *:[v2i64] }:$src, 15:{ *:[i8] })
13526 /* 35462 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ128rri),
13527 /* 35465 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13528 /* 35467 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
13529 /* 35469 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
13530 /* 35471 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
13531 /* 35473 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
13532 /* 35476 */ GIR_RootConstrainSelectedInstOperands,
13533 /* 35477 */ // GIR_Coverage, 21965,
13534 /* 35477 */ GIR_EraseRootFromParent_Done,
13535 /* 35478 */ // Label 905: @35478
13536 /* 35478 */ GIM_Try, /*On fail goto*//*Label 906*/ GIMT_Encode4(35505), // Rule ID 2122 //
13537 /* 35483 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
13538 /* 35486 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
13539 /* 35490 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
13540 /* 35494 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
13541 /* 35498 */ // (xor:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPXORrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
13542 /* 35498 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORrr),
13543 /* 35503 */ GIR_RootConstrainSelectedInstOperands,
13544 /* 35504 */ // GIR_Coverage, 2122,
13545 /* 35504 */ GIR_Done,
13546 /* 35505 */ // Label 906: @35505
13547 /* 35505 */ GIM_Try, /*On fail goto*//*Label 907*/ GIMT_Encode4(35532), // Rule ID 2124 //
13548 /* 35510 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
13549 /* 35513 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
13550 /* 35517 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
13551 /* 35521 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
13552 /* 35525 */ // (xor:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PXORrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
13553 /* 35525 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PXORrr),
13554 /* 35530 */ GIR_RootConstrainSelectedInstOperands,
13555 /* 35531 */ // GIR_Coverage, 2124,
13556 /* 35531 */ GIR_Done,
13557 /* 35532 */ // Label 907: @35532
13558 /* 35532 */ GIM_Try, /*On fail goto*//*Label 908*/ GIMT_Encode4(35559), // Rule ID 5816 //
13559 /* 35537 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
13560 /* 35540 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
13561 /* 35544 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
13562 /* 35548 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
13563 /* 35552 */ // (xor:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPXORQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
13564 /* 35552 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rr),
13565 /* 35557 */ GIR_RootConstrainSelectedInstOperands,
13566 /* 35558 */ // GIR_Coverage, 5816,
13567 /* 35558 */ GIR_Done,
13568 /* 35559 */ // Label 908: @35559
13569 /* 35559 */ GIM_Reject,
13570 /* 35560 */ // Label 899: @35560
13571 /* 35560 */ GIM_Reject,
13572 /* 35561 */ // Label 821: @35561
13573 /* 35561 */ GIM_Try, /*On fail goto*//*Label 909*/ GIMT_Encode4(36102),
13574 /* 35566 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
13575 /* 35569 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
13576 /* 35572 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13577 /* 35576 */ GIM_Try, /*On fail goto*//*Label 910*/ GIMT_Encode4(35696), // Rule ID 25458 //
13578 /* 35581 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13579 /* 35585 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13580 /* 35589 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
13581 /* 35593 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
13582 /* 35597 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13583 /* 35602 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13584 /* 35606 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13585 /* 35612 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13586 /* 35614 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13587 /* 35618 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13588 /* 35620 */ // (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] })
13589 /* 35620 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13590 /* 35623 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13591 /* 35627 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13592 /* 35632 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
13593 /* 35636 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13594 /* 35641 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13595 /* 35644 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13596 /* 35648 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13597 /* 35653 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13598 /* 35657 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13599 /* 35662 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13600 /* 35665 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13601 /* 35669 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13602 /* 35674 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13603 /* 35677 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13604 /* 35680 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13605 /* 35682 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13606 /* 35685 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13607 /* 35687 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13608 /* 35690 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
13609 /* 35695 */ // GIR_Coverage, 25458,
13610 /* 35695 */ GIR_EraseRootFromParent_Done,
13611 /* 35696 */ // Label 910: @35696
13612 /* 35696 */ GIM_Try, /*On fail goto*//*Label 911*/ GIMT_Encode4(35817), // Rule ID 19496 //
13613 /* 35701 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13614 /* 35705 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13615 /* 35709 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
13616 /* 35713 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
13617 /* 35717 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13618 /* 35722 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13619 /* 35727 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
13620 /* 35731 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13621 /* 35737 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13622 /* 35739 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13623 /* 35741 */ // (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] })
13624 /* 35741 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13625 /* 35744 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13626 /* 35748 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13627 /* 35753 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/1, /*OpIdx*/2, // src2
13628 /* 35757 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13629 /* 35762 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13630 /* 35765 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13631 /* 35769 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13632 /* 35774 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13633 /* 35778 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13634 /* 35783 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13635 /* 35786 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13636 /* 35790 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13637 /* 35795 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13638 /* 35798 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13639 /* 35801 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13640 /* 35803 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13641 /* 35806 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13642 /* 35808 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13643 /* 35811 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
13644 /* 35816 */ // GIR_Coverage, 19496,
13645 /* 35816 */ GIR_EraseRootFromParent_Done,
13646 /* 35817 */ // Label 911: @35817
13647 /* 35817 */ GIM_Try, /*On fail goto*//*Label 912*/ GIMT_Encode4(35937), // Rule ID 25459 //
13648 /* 35822 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13649 /* 35826 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13650 /* 35830 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13651 /* 35834 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
13652 /* 35838 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
13653 /* 35842 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13654 /* 35847 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13655 /* 35851 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13656 /* 35857 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13657 /* 35859 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13658 /* 35861 */ // (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] })
13659 /* 35861 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13660 /* 35864 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13661 /* 35868 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13662 /* 35873 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
13663 /* 35877 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13664 /* 35882 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13665 /* 35885 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13666 /* 35889 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13667 /* 35894 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13668 /* 35898 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13669 /* 35903 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13670 /* 35906 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13671 /* 35910 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13672 /* 35915 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13673 /* 35918 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13674 /* 35921 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13675 /* 35923 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13676 /* 35926 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13677 /* 35928 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13678 /* 35931 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
13679 /* 35936 */ // GIR_Coverage, 25459,
13680 /* 35936 */ GIR_EraseRootFromParent_Done,
13681 /* 35937 */ // Label 912: @35937
13682 /* 35937 */ GIM_Try, /*On fail goto*//*Label 913*/ GIMT_Encode4(36012), // Rule ID 19478 //
13683 /* 35942 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13684 /* 35946 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13685 /* 35950 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13686 /* 35956 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
13687 /* 35958 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13688 /* 35960 */ // (xor:{ *:[v4i1] } VK4:{ *:[v4i1] }:$src, immAllOnesV:{ *:[v4i1] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } (KNOTWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK4:{ *:[v4i1] }:$src, VK16:{ *:[i32] })), VK4:{ *:[i32] })
13689 /* 35960 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13690 /* 35963 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13691 /* 35967 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13692 /* 35972 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
13693 /* 35976 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13694 /* 35981 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13695 /* 35984 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
13696 /* 35988 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13697 /* 35993 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13698 /* 35996 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13699 /* 35998 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13700 /* 36001 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13701 /* 36003 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13702 /* 36006 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
13703 /* 36011 */ // GIR_Coverage, 19478,
13704 /* 36011 */ GIR_EraseRootFromParent_Done,
13705 /* 36012 */ // Label 913: @36012
13706 /* 36012 */ GIM_Try, /*On fail goto*//*Label 914*/ GIMT_Encode4(36101), // Rule ID 19500 //
13707 /* 36017 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13708 /* 36021 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13709 /* 36025 */ // (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] })
13710 /* 36025 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13711 /* 36028 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13712 /* 36032 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13713 /* 36037 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
13714 /* 36041 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13715 /* 36046 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13716 /* 36049 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13717 /* 36053 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13718 /* 36058 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
13719 /* 36062 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13720 /* 36067 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13721 /* 36070 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
13722 /* 36074 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13723 /* 36079 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13724 /* 36082 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13725 /* 36085 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13726 /* 36087 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13727 /* 36090 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13728 /* 36092 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13729 /* 36095 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
13730 /* 36100 */ // GIR_Coverage, 19500,
13731 /* 36100 */ GIR_EraseRootFromParent_Done,
13732 /* 36101 */ // Label 914: @36101
13733 /* 36101 */ GIM_Reject,
13734 /* 36102 */ // Label 909: @36102
13735 /* 36102 */ GIM_Reject,
13736 /* 36103 */ // Label 822: @36103
13737 /* 36103 */ GIM_Try, /*On fail goto*//*Label 915*/ GIMT_Encode4(36722),
13738 /* 36108 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
13739 /* 36111 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
13740 /* 36114 */ GIM_Try, /*On fail goto*//*Label 916*/ GIMT_Encode4(36176), // Rule ID 24321 //
13741 /* 36119 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
13742 /* 36122 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
13743 /* 36126 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13744 /* 36130 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13745 /* 36134 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13746 /* 36137 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
13747 /* 36141 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13748 /* 36145 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
13749 /* 36149 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13750 /* 36151 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13751 /* 36158 */ // (xor:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPXORDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
13752 /* 36158 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZ128rm),
13753 /* 36161 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13754 /* 36163 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13755 /* 36165 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13756 /* 36169 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13757 /* 36174 */ GIR_RootConstrainSelectedInstOperands,
13758 /* 36175 */ // GIR_Coverage, 24321,
13759 /* 36175 */ GIR_EraseRootFromParent_Done,
13760 /* 36176 */ // Label 916: @36176
13761 /* 36176 */ GIM_Try, /*On fail goto*//*Label 917*/ GIMT_Encode4(36238), // Rule ID 25341 //
13762 /* 36181 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
13763 /* 36184 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
13764 /* 36188 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13765 /* 36192 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13766 /* 36196 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13767 /* 36199 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
13768 /* 36203 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13769 /* 36207 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
13770 /* 36211 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13771 /* 36213 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13772 /* 36220 */ // (xor:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPXORrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
13773 /* 36220 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
13774 /* 36223 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13775 /* 36225 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13776 /* 36227 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13777 /* 36231 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13778 /* 36236 */ GIR_RootConstrainSelectedInstOperands,
13779 /* 36237 */ // GIR_Coverage, 25341,
13780 /* 36237 */ GIR_EraseRootFromParent_Done,
13781 /* 36238 */ // Label 917: @36238
13782 /* 36238 */ GIM_Try, /*On fail goto*//*Label 918*/ GIMT_Encode4(36300), // Rule ID 5846 //
13783 /* 36243 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
13784 /* 36246 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
13785 /* 36250 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
13786 /* 36254 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13787 /* 36258 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13788 /* 36262 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13789 /* 36265 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
13790 /* 36269 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13791 /* 36273 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13792 /* 36275 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13793 /* 36282 */ // (xor:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
13794 /* 36282 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZ128rm),
13795 /* 36285 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13796 /* 36287 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13797 /* 36289 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13798 /* 36293 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13799 /* 36298 */ GIR_RootConstrainSelectedInstOperands,
13800 /* 36299 */ // GIR_Coverage, 5846,
13801 /* 36299 */ GIR_EraseRootFromParent_Done,
13802 /* 36300 */ // Label 918: @36300
13803 /* 36300 */ GIM_Try, /*On fail goto*//*Label 919*/ GIMT_Encode4(36362), // Rule ID 18156 //
13804 /* 36305 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
13805 /* 36308 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
13806 /* 36312 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
13807 /* 36316 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13808 /* 36320 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13809 /* 36324 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13810 /* 36327 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
13811 /* 36331 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13812 /* 36335 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13813 /* 36337 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13814 /* 36344 */ // (xor:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
13815 /* 36344 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
13816 /* 36347 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13817 /* 36349 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13818 /* 36351 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13819 /* 36355 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13820 /* 36360 */ GIR_RootConstrainSelectedInstOperands,
13821 /* 36361 */ // GIR_Coverage, 18156,
13822 /* 36361 */ GIR_EraseRootFromParent_Done,
13823 /* 36362 */ // Label 919: @36362
13824 /* 36362 */ GIM_Try, /*On fail goto*//*Label 920*/ GIMT_Encode4(36594), // Rule ID 21956 //
13825 /* 36367 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
13826 /* 36370 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
13827 /* 36374 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
13828 /* 36378 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13829 /* 36382 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13830 /* 36388 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
13831 /* 36390 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13832 /* 36392 */ // (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] })
13833 /* 36392 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
13834 /* 36395 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
13835 /* 36399 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13836 /* 36404 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
13837 /* 36406 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
13838 /* 36409 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
13839 /* 36413 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13840 /* 36418 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
13841 /* 36421 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
13842 /* 36425 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
13843 /* 36428 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
13844 /* 36433 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
13845 /* 36438 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
13846 /* 36443 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
13847 /* 36446 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
13848 /* 36450 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13849 /* 36455 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
13850 /* 36457 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
13851 /* 36460 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
13852 /* 36464 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13853 /* 36469 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
13854 /* 36472 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
13855 /* 36476 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
13856 /* 36479 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
13857 /* 36484 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
13858 /* 36489 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
13859 /* 36494 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
13860 /* 36497 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
13861 /* 36501 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13862 /* 36506 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
13863 /* 36508 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
13864 /* 36511 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
13865 /* 36515 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13866 /* 36520 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
13867 /* 36523 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
13868 /* 36527 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
13869 /* 36530 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
13870 /* 36535 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
13871 /* 36540 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
13872 /* 36545 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
13873 /* 36548 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
13874 /* 36552 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13875 /* 36557 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13876 /* 36560 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
13877 /* 36563 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
13878 /* 36566 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
13879 /* 36569 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13880 /* 36571 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13881 /* 36574 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13882 /* 36576 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
13883 /* 36583 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
13884 /* 36588 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
13885 /* 36593 */ // GIR_Coverage, 21956,
13886 /* 36593 */ GIR_EraseRootFromParent_Done,
13887 /* 36594 */ // Label 920: @36594
13888 /* 36594 */ GIM_Try, /*On fail goto*//*Label 921*/ GIMT_Encode4(36640), // Rule ID 21964 //
13889 /* 36599 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
13890 /* 36602 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
13891 /* 36606 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
13892 /* 36610 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13893 /* 36614 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13894 /* 36620 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
13895 /* 36622 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13896 /* 36624 */ // (xor:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, immAllOnesV:{ *:[v4i32] }) => (VPTERNLOGQZ128rri:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, VR128X:{ *:[v4i32] }:$src, VR128X:{ *:[v4i32] }:$src, 15:{ *:[i8] })
13897 /* 36624 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ128rri),
13898 /* 36627 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13899 /* 36629 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
13900 /* 36631 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
13901 /* 36633 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
13902 /* 36635 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
13903 /* 36638 */ GIR_RootConstrainSelectedInstOperands,
13904 /* 36639 */ // GIR_Coverage, 21964,
13905 /* 36639 */ GIR_EraseRootFromParent_Done,
13906 /* 36640 */ // Label 921: @36640
13907 /* 36640 */ GIM_Try, /*On fail goto*//*Label 922*/ GIMT_Encode4(36667), // Rule ID 5843 //
13908 /* 36645 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
13909 /* 36648 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
13910 /* 36652 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
13911 /* 36656 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
13912 /* 36660 */ // (xor:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPXORDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
13913 /* 36660 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORDZ128rr),
13914 /* 36665 */ GIR_RootConstrainSelectedInstOperands,
13915 /* 36666 */ // GIR_Coverage, 5843,
13916 /* 36666 */ GIR_Done,
13917 /* 36667 */ // Label 922: @36667
13918 /* 36667 */ GIM_Try, /*On fail goto*//*Label 923*/ GIMT_Encode4(36694), // Rule ID 18144 //
13919 /* 36672 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
13920 /* 36675 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
13921 /* 36679 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
13922 /* 36683 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
13923 /* 36687 */ // (xor:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPXORrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
13924 /* 36687 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORrr),
13925 /* 36692 */ GIR_RootConstrainSelectedInstOperands,
13926 /* 36693 */ // GIR_Coverage, 18144,
13927 /* 36693 */ GIR_Done,
13928 /* 36694 */ // Label 923: @36694
13929 /* 36694 */ GIM_Try, /*On fail goto*//*Label 924*/ GIMT_Encode4(36721), // Rule ID 18168 //
13930 /* 36699 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
13931 /* 36702 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
13932 /* 36706 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
13933 /* 36710 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
13934 /* 36714 */ // (xor:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PXORrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
13935 /* 36714 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PXORrr),
13936 /* 36719 */ GIR_RootConstrainSelectedInstOperands,
13937 /* 36720 */ // GIR_Coverage, 18168,
13938 /* 36720 */ GIR_Done,
13939 /* 36721 */ // Label 924: @36721
13940 /* 36721 */ GIM_Reject,
13941 /* 36722 */ // Label 915: @36722
13942 /* 36722 */ GIM_Reject,
13943 /* 36723 */ // Label 823: @36723
13944 /* 36723 */ GIM_Try, /*On fail goto*//*Label 925*/ GIMT_Encode4(37466),
13945 /* 36728 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
13946 /* 36731 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
13947 /* 36734 */ GIM_Try, /*On fail goto*//*Label 926*/ GIMT_Encode4(36796), // Rule ID 23450 //
13948 /* 36739 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
13949 /* 36742 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
13950 /* 36746 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13951 /* 36750 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13952 /* 36754 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13953 /* 36757 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
13954 /* 36761 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13955 /* 36765 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
13956 /* 36769 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13957 /* 36771 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13958 /* 36778 */ // (xor:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VPXORYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
13959 /* 36778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
13960 /* 36781 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13961 /* 36783 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13962 /* 36785 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13963 /* 36789 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13964 /* 36794 */ GIR_RootConstrainSelectedInstOperands,
13965 /* 36795 */ // GIR_Coverage, 23450,
13966 /* 36795 */ GIR_EraseRootFromParent_Done,
13967 /* 36796 */ // Label 926: @36796
13968 /* 36796 */ GIM_Try, /*On fail goto*//*Label 927*/ GIMT_Encode4(36858), // Rule ID 24297 //
13969 /* 36801 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
13970 /* 36804 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
13971 /* 36808 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13972 /* 36812 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13973 /* 36816 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13974 /* 36819 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
13975 /* 36823 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13976 /* 36827 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
13977 /* 36831 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13978 /* 36833 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13979 /* 36840 */ // (xor:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPXORQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
13980 /* 36840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
13981 /* 36843 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13982 /* 36845 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13983 /* 36847 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13984 /* 36851 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13985 /* 36856 */ GIR_RootConstrainSelectedInstOperands,
13986 /* 36857 */ // GIR_Coverage, 24297,
13987 /* 36857 */ GIR_EraseRootFromParent_Done,
13988 /* 36858 */ // Label 927: @36858
13989 /* 36858 */ GIM_Try, /*On fail goto*//*Label 928*/ GIMT_Encode4(36920), // Rule ID 25332 //
13990 /* 36863 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
13991 /* 36866 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
13992 /* 36870 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13993 /* 36874 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13994 /* 36878 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13995 /* 36881 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
13996 /* 36885 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13997 /* 36889 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
13998 /* 36893 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13999 /* 36895 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14000 /* 36902 */ // (xor:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VXORPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
14001 /* 36902 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
14002 /* 36905 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14003 /* 36907 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14004 /* 36909 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14005 /* 36913 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14006 /* 36918 */ GIR_RootConstrainSelectedInstOperands,
14007 /* 36919 */ // GIR_Coverage, 25332,
14008 /* 36919 */ GIR_EraseRootFromParent_Done,
14009 /* 36920 */ // Label 928: @36920
14010 /* 36920 */ GIM_Try, /*On fail goto*//*Label 929*/ GIMT_Encode4(36982), // Rule ID 2127 //
14011 /* 36925 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
14012 /* 36928 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14013 /* 36932 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14014 /* 36936 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14015 /* 36940 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14016 /* 36944 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14017 /* 36947 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14018 /* 36951 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14019 /* 36955 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14020 /* 36957 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14021 /* 36964 */ // (xor:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
14022 /* 36964 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
14023 /* 36967 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14024 /* 36969 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14025 /* 36971 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14026 /* 36975 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14027 /* 36980 */ GIR_RootConstrainSelectedInstOperands,
14028 /* 36981 */ // GIR_Coverage, 2127,
14029 /* 36981 */ GIR_EraseRootFromParent_Done,
14030 /* 36982 */ // Label 929: @36982
14031 /* 36982 */ GIM_Try, /*On fail goto*//*Label 930*/ GIMT_Encode4(37044), // Rule ID 5810 //
14032 /* 36987 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
14033 /* 36990 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14034 /* 36994 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14035 /* 36998 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14036 /* 37002 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14037 /* 37006 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14038 /* 37009 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14039 /* 37013 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14040 /* 37017 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14041 /* 37019 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14042 /* 37026 */ // (xor:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
14043 /* 37026 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
14044 /* 37029 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14045 /* 37031 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14046 /* 37033 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14047 /* 37037 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14048 /* 37042 */ GIR_RootConstrainSelectedInstOperands,
14049 /* 37043 */ // GIR_Coverage, 5810,
14050 /* 37043 */ GIR_EraseRootFromParent_Done,
14051 /* 37044 */ // Label 930: @37044
14052 /* 37044 */ GIM_Try, /*On fail goto*//*Label 931*/ GIMT_Encode4(37106), // Rule ID 18131 //
14053 /* 37049 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
14054 /* 37052 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14055 /* 37056 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14056 /* 37060 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14057 /* 37064 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14058 /* 37068 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14059 /* 37071 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14060 /* 37075 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14061 /* 37079 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14062 /* 37081 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14063 /* 37088 */ // (xor:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VXORPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
14064 /* 37088 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
14065 /* 37091 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14066 /* 37093 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14067 /* 37095 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14068 /* 37099 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14069 /* 37104 */ GIR_RootConstrainSelectedInstOperands,
14070 /* 37105 */ // GIR_Coverage, 18131,
14071 /* 37105 */ GIR_EraseRootFromParent_Done,
14072 /* 37106 */ // Label 931: @37106
14073 /* 37106 */ GIM_Try, /*On fail goto*//*Label 932*/ GIMT_Encode4(37338), // Rule ID 21961 //
14074 /* 37111 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
14075 /* 37114 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14076 /* 37118 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14077 /* 37122 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14078 /* 37126 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14079 /* 37132 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14080 /* 37134 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14081 /* 37136 */ // (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] })
14082 /* 37136 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
14083 /* 37139 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14084 /* 37143 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14085 /* 37148 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
14086 /* 37150 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
14087 /* 37153 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14088 /* 37157 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14089 /* 37162 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
14090 /* 37165 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
14091 /* 37169 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
14092 /* 37172 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14093 /* 37177 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14094 /* 37182 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
14095 /* 37187 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
14096 /* 37190 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14097 /* 37194 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14098 /* 37199 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
14099 /* 37201 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
14100 /* 37204 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14101 /* 37208 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14102 /* 37213 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
14103 /* 37216 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
14104 /* 37220 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
14105 /* 37223 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14106 /* 37228 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14107 /* 37233 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
14108 /* 37238 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
14109 /* 37241 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14110 /* 37245 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14111 /* 37250 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
14112 /* 37252 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
14113 /* 37255 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14114 /* 37259 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14115 /* 37264 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
14116 /* 37267 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
14117 /* 37271 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
14118 /* 37274 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14119 /* 37279 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14120 /* 37284 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
14121 /* 37289 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
14122 /* 37292 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
14123 /* 37296 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14124 /* 37301 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14125 /* 37304 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
14126 /* 37307 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
14127 /* 37310 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
14128 /* 37313 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14129 /* 37315 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14130 /* 37318 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14131 /* 37320 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
14132 /* 37327 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
14133 /* 37332 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14134 /* 37337 */ // GIR_Coverage, 21961,
14135 /* 37337 */ GIR_EraseRootFromParent_Done,
14136 /* 37338 */ // Label 932: @37338
14137 /* 37338 */ GIM_Try, /*On fail goto*//*Label 933*/ GIMT_Encode4(37384), // Rule ID 21969 //
14138 /* 37343 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
14139 /* 37346 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14140 /* 37350 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14141 /* 37354 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14142 /* 37358 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14143 /* 37364 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14144 /* 37366 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14145 /* 37368 */ // (xor:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, immAllOnesV:{ *:[v4i64] }) => (VPTERNLOGQZ256rri:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, VR256X:{ *:[v4i64] }:$src, VR256X:{ *:[v4i64] }:$src, 15:{ *:[i8] })
14146 /* 37368 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ256rri),
14147 /* 37371 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14148 /* 37373 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14149 /* 37375 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14150 /* 37377 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14151 /* 37379 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
14152 /* 37382 */ GIR_RootConstrainSelectedInstOperands,
14153 /* 37383 */ // GIR_Coverage, 21969,
14154 /* 37383 */ GIR_EraseRootFromParent_Done,
14155 /* 37384 */ // Label 933: @37384
14156 /* 37384 */ GIM_Try, /*On fail goto*//*Label 934*/ GIMT_Encode4(37411), // Rule ID 2126 //
14157 /* 37389 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
14158 /* 37392 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14159 /* 37396 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14160 /* 37400 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14161 /* 37404 */ // (xor:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPXORYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
14162 /* 37404 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORYrr),
14163 /* 37409 */ GIR_RootConstrainSelectedInstOperands,
14164 /* 37410 */ // GIR_Coverage, 2126,
14165 /* 37410 */ GIR_Done,
14166 /* 37411 */ // Label 934: @37411
14167 /* 37411 */ GIM_Try, /*On fail goto*//*Label 935*/ GIMT_Encode4(37438), // Rule ID 5807 //
14168 /* 37416 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
14169 /* 37419 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14170 /* 37423 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14171 /* 37427 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14172 /* 37431 */ // (xor:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPXORQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
14173 /* 37431 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rr),
14174 /* 37436 */ GIR_RootConstrainSelectedInstOperands,
14175 /* 37437 */ // GIR_Coverage, 5807,
14176 /* 37437 */ GIR_Done,
14177 /* 37438 */ // Label 935: @37438
14178 /* 37438 */ GIM_Try, /*On fail goto*//*Label 936*/ GIMT_Encode4(37465), // Rule ID 18115 //
14179 /* 37443 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
14180 /* 37446 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14181 /* 37450 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14182 /* 37454 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14183 /* 37458 */ // (xor:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VXORPSYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
14184 /* 37458 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VXORPSYrr),
14185 /* 37463 */ GIR_RootConstrainSelectedInstOperands,
14186 /* 37464 */ // GIR_Coverage, 18115,
14187 /* 37464 */ GIR_Done,
14188 /* 37465 */ // Label 936: @37465
14189 /* 37465 */ GIM_Reject,
14190 /* 37466 */ // Label 925: @37466
14191 /* 37466 */ GIM_Reject,
14192 /* 37467 */ // Label 824: @37467
14193 /* 37467 */ GIM_Try, /*On fail goto*//*Label 937*/ GIMT_Encode4(38264),
14194 /* 37472 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
14195 /* 37475 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
14196 /* 37478 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
14197 /* 37482 */ GIM_Try, /*On fail goto*//*Label 938*/ GIMT_Encode4(37542), // Rule ID 23766 //
14198 /* 37487 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
14199 /* 37490 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14200 /* 37494 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
14201 /* 37498 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
14202 /* 37502 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
14203 /* 37506 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
14204 /* 37511 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
14205 /* 37515 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14206 /* 37521 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
14207 /* 37523 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
14208 /* 37527 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14209 /* 37529 */ // (xor:{ *:[v8i1] } (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, immAllOnesV:{ *:[v8i1] }), VK8:{ *:[v8i1] }:$src2) => (KXNORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
14210 /* 37529 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORBkk),
14211 /* 37532 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14212 /* 37534 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
14213 /* 37538 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
14214 /* 37540 */ GIR_RootConstrainSelectedInstOperands,
14215 /* 37541 */ // GIR_Coverage, 23766,
14216 /* 37541 */ GIR_EraseRootFromParent_Done,
14217 /* 37542 */ // Label 938: @37542
14218 /* 37542 */ GIM_Try, /*On fail goto*//*Label 939*/ GIMT_Encode4(37665), // Rule ID 25452 //
14219 /* 37547 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
14220 /* 37550 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14221 /* 37554 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
14222 /* 37558 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
14223 /* 37562 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
14224 /* 37566 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
14225 /* 37571 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
14226 /* 37575 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14227 /* 37581 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
14228 /* 37583 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
14229 /* 37587 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14230 /* 37589 */ // (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] })
14231 /* 37589 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
14232 /* 37592 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14233 /* 37596 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14234 /* 37601 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
14235 /* 37605 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14236 /* 37610 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
14237 /* 37613 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14238 /* 37617 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14239 /* 37622 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
14240 /* 37626 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14241 /* 37631 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
14242 /* 37634 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
14243 /* 37638 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14244 /* 37643 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14245 /* 37646 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
14246 /* 37649 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14247 /* 37651 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14248 /* 37654 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14249 /* 37656 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14250 /* 37659 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
14251 /* 37664 */ // GIR_Coverage, 25452,
14252 /* 37664 */ GIR_EraseRootFromParent_Done,
14253 /* 37665 */ // Label 939: @37665
14254 /* 37665 */ GIM_Try, /*On fail goto*//*Label 940*/ GIMT_Encode4(37728), // Rule ID 4425 //
14255 /* 37670 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
14256 /* 37673 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14257 /* 37677 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
14258 /* 37681 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
14259 /* 37685 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
14260 /* 37689 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
14261 /* 37694 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
14262 /* 37699 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
14263 /* 37703 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14264 /* 37709 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
14265 /* 37711 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14266 /* 37713 */ // (xor:{ *:[v8i1] } (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2), immAllOnesV:{ *:[v8i1] }) => (KXNORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
14267 /* 37713 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORBkk),
14268 /* 37716 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14269 /* 37718 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
14270 /* 37722 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
14271 /* 37726 */ GIR_RootConstrainSelectedInstOperands,
14272 /* 37727 */ // GIR_Coverage, 4425,
14273 /* 37727 */ GIR_EraseRootFromParent_Done,
14274 /* 37728 */ // Label 940: @37728
14275 /* 37728 */ GIM_Try, /*On fail goto*//*Label 941*/ GIMT_Encode4(37852), // Rule ID 19493 //
14276 /* 37733 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
14277 /* 37736 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14278 /* 37740 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
14279 /* 37744 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
14280 /* 37748 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
14281 /* 37752 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
14282 /* 37757 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
14283 /* 37762 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
14284 /* 37766 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14285 /* 37772 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
14286 /* 37774 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14287 /* 37776 */ // (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] })
14288 /* 37776 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
14289 /* 37779 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14290 /* 37783 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14291 /* 37788 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/1, /*OpIdx*/2, // src2
14292 /* 37792 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14293 /* 37797 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
14294 /* 37800 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14295 /* 37804 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14296 /* 37809 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
14297 /* 37813 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14298 /* 37818 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
14299 /* 37821 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
14300 /* 37825 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14301 /* 37830 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14302 /* 37833 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
14303 /* 37836 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14304 /* 37838 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14305 /* 37841 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14306 /* 37843 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14307 /* 37846 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
14308 /* 37851 */ // GIR_Coverage, 19493,
14309 /* 37851 */ GIR_EraseRootFromParent_Done,
14310 /* 37852 */ // Label 941: @37852
14311 /* 37852 */ GIM_Try, /*On fail goto*//*Label 942*/ GIMT_Encode4(37912), // Rule ID 23767 //
14312 /* 37857 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
14313 /* 37860 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
14314 /* 37864 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14315 /* 37868 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
14316 /* 37872 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
14317 /* 37876 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
14318 /* 37880 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
14319 /* 37885 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
14320 /* 37889 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14321 /* 37895 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
14322 /* 37897 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14323 /* 37899 */ // (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src2, (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, immAllOnesV:{ *:[v8i1] })) => (KXNORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
14324 /* 37899 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORBkk),
14325 /* 37902 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14326 /* 37904 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
14327 /* 37908 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
14328 /* 37910 */ GIR_RootConstrainSelectedInstOperands,
14329 /* 37911 */ // GIR_Coverage, 23767,
14330 /* 37911 */ GIR_EraseRootFromParent_Done,
14331 /* 37912 */ // Label 942: @37912
14332 /* 37912 */ GIM_Try, /*On fail goto*//*Label 943*/ GIMT_Encode4(38035), // Rule ID 25453 //
14333 /* 37917 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
14334 /* 37920 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
14335 /* 37924 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14336 /* 37928 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
14337 /* 37932 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
14338 /* 37936 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
14339 /* 37940 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
14340 /* 37945 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
14341 /* 37949 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14342 /* 37955 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
14343 /* 37957 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14344 /* 37959 */ // (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] })
14345 /* 37959 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
14346 /* 37962 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14347 /* 37966 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14348 /* 37971 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
14349 /* 37975 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14350 /* 37980 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
14351 /* 37983 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14352 /* 37987 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14353 /* 37992 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
14354 /* 37996 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14355 /* 38001 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
14356 /* 38004 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
14357 /* 38008 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14358 /* 38013 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14359 /* 38016 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
14360 /* 38019 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14361 /* 38021 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14362 /* 38024 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14363 /* 38026 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14364 /* 38029 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
14365 /* 38034 */ // GIR_Coverage, 25453,
14366 /* 38034 */ GIR_EraseRootFromParent_Done,
14367 /* 38035 */ // Label 943: @38035
14368 /* 38035 */ GIM_Try, /*On fail goto*//*Label 944*/ GIMT_Encode4(38070), // Rule ID 4413 //
14369 /* 38040 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
14370 /* 38043 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
14371 /* 38047 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14372 /* 38051 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14373 /* 38057 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14374 /* 38059 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14375 /* 38061 */ // (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src, immAllOnesV:{ *:[v8i1] }) => (KNOTBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src)
14376 /* 38061 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KNOTBkk),
14377 /* 38064 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14378 /* 38066 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14379 /* 38068 */ GIR_RootConstrainSelectedInstOperands,
14380 /* 38069 */ // GIR_Coverage, 4413,
14381 /* 38069 */ GIR_EraseRootFromParent_Done,
14382 /* 38070 */ // Label 944: @38070
14383 /* 38070 */ GIM_Try, /*On fail goto*//*Label 945*/ GIMT_Encode4(38148), // Rule ID 19477 //
14384 /* 38075 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoDQI),
14385 /* 38078 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
14386 /* 38082 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14387 /* 38086 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14388 /* 38092 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14389 /* 38094 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14390 /* 38096 */ // (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src, immAllOnesV:{ *:[v8i1] }) => (COPY_TO_REGCLASS:{ *:[v8i1] } (KNOTWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src, VK16:{ *:[i32] })), VK8:{ *:[i32] })
14391 /* 38096 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
14392 /* 38099 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14393 /* 38103 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14394 /* 38108 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
14395 /* 38112 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14396 /* 38117 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
14397 /* 38120 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
14398 /* 38124 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14399 /* 38129 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14400 /* 38132 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14401 /* 38134 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14402 /* 38137 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14403 /* 38139 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14404 /* 38142 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
14405 /* 38147 */ // GIR_Coverage, 19477,
14406 /* 38147 */ GIR_EraseRootFromParent_Done,
14407 /* 38148 */ // Label 945: @38148
14408 /* 38148 */ GIM_Try, /*On fail goto*//*Label 946*/ GIMT_Encode4(38171), // Rule ID 4429 //
14409 /* 38153 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
14410 /* 38156 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
14411 /* 38160 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
14412 /* 38164 */ // (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2) => (KXORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
14413 /* 38164 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KXORBkk),
14414 /* 38169 */ GIR_RootConstrainSelectedInstOperands,
14415 /* 38170 */ // GIR_Coverage, 4429,
14416 /* 38170 */ GIR_Done,
14417 /* 38171 */ // Label 946: @38171
14418 /* 38171 */ GIM_Try, /*On fail goto*//*Label 947*/ GIMT_Encode4(38263), // Rule ID 19497 //
14419 /* 38176 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
14420 /* 38179 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
14421 /* 38183 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
14422 /* 38187 */ // (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] })
14423 /* 38187 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
14424 /* 38190 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14425 /* 38194 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14426 /* 38199 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
14427 /* 38203 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14428 /* 38208 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
14429 /* 38211 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14430 /* 38215 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14431 /* 38220 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
14432 /* 38224 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14433 /* 38229 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
14434 /* 38232 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
14435 /* 38236 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14436 /* 38241 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14437 /* 38244 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
14438 /* 38247 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14439 /* 38249 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14440 /* 38252 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14441 /* 38254 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14442 /* 38257 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
14443 /* 38262 */ // GIR_Coverage, 19497,
14444 /* 38262 */ GIR_EraseRootFromParent_Done,
14445 /* 38263 */ // Label 947: @38263
14446 /* 38263 */ GIM_Reject,
14447 /* 38264 */ // Label 937: @38264
14448 /* 38264 */ GIM_Reject,
14449 /* 38265 */ // Label 825: @38265
14450 /* 38265 */ GIM_Try, /*On fail goto*//*Label 948*/ GIMT_Encode4(38884),
14451 /* 38270 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
14452 /* 38273 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
14453 /* 38276 */ GIM_Try, /*On fail goto*//*Label 949*/ GIMT_Encode4(38338), // Rule ID 25340 //
14454 /* 38281 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
14455 /* 38284 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14456 /* 38288 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14457 /* 38292 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14458 /* 38296 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14459 /* 38299 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14460 /* 38303 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14461 /* 38307 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14462 /* 38311 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14463 /* 38313 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14464 /* 38320 */ // (xor:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPXORrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14465 /* 38320 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
14466 /* 38323 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14467 /* 38325 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14468 /* 38327 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14469 /* 38331 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14470 /* 38336 */ GIR_RootConstrainSelectedInstOperands,
14471 /* 38337 */ // GIR_Coverage, 25340,
14472 /* 38337 */ GIR_EraseRootFromParent_Done,
14473 /* 38338 */ // Label 949: @38338
14474 /* 38338 */ GIM_Try, /*On fail goto*//*Label 950*/ GIMT_Encode4(38400), // Rule ID 25519 //
14475 /* 38343 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
14476 /* 38346 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14477 /* 38350 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14478 /* 38354 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14479 /* 38358 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14480 /* 38361 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14481 /* 38365 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14482 /* 38369 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14483 /* 38373 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14484 /* 38375 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14485 /* 38382 */ // (xor:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPXORQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14486 /* 38382 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
14487 /* 38385 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14488 /* 38387 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14489 /* 38389 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14490 /* 38393 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14491 /* 38398 */ GIR_RootConstrainSelectedInstOperands,
14492 /* 38399 */ // GIR_Coverage, 25519,
14493 /* 38399 */ GIR_EraseRootFromParent_Done,
14494 /* 38400 */ // Label 950: @38400
14495 /* 38400 */ GIM_Try, /*On fail goto*//*Label 951*/ GIMT_Encode4(38462), // Rule ID 18155 //
14496 /* 38405 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
14497 /* 38408 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14498 /* 38412 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14499 /* 38416 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14500 /* 38420 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14501 /* 38424 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14502 /* 38427 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14503 /* 38431 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14504 /* 38435 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14505 /* 38437 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14506 /* 38444 */ // (xor:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14507 /* 38444 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
14508 /* 38447 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14509 /* 38449 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14510 /* 38451 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14511 /* 38455 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14512 /* 38460 */ GIR_RootConstrainSelectedInstOperands,
14513 /* 38461 */ // GIR_Coverage, 18155,
14514 /* 38461 */ GIR_EraseRootFromParent_Done,
14515 /* 38462 */ // Label 951: @38462
14516 /* 38462 */ GIM_Try, /*On fail goto*//*Label 952*/ GIMT_Encode4(38524), // Rule ID 20038 //
14517 /* 38467 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
14518 /* 38470 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14519 /* 38474 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14520 /* 38478 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14521 /* 38482 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14522 /* 38486 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14523 /* 38489 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14524 /* 38493 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14525 /* 38497 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14526 /* 38499 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14527 /* 38506 */ // (xor:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14528 /* 38506 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
14529 /* 38509 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14530 /* 38511 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14531 /* 38513 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14532 /* 38517 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14533 /* 38522 */ GIR_RootConstrainSelectedInstOperands,
14534 /* 38523 */ // GIR_Coverage, 20038,
14535 /* 38523 */ GIR_EraseRootFromParent_Done,
14536 /* 38524 */ // Label 952: @38524
14537 /* 38524 */ GIM_Try, /*On fail goto*//*Label 953*/ GIMT_Encode4(38756), // Rule ID 21955 //
14538 /* 38529 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
14539 /* 38532 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
14540 /* 38536 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14541 /* 38540 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14542 /* 38544 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14543 /* 38550 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14544 /* 38552 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14545 /* 38554 */ // (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] })
14546 /* 38554 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
14547 /* 38557 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14548 /* 38561 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14549 /* 38566 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
14550 /* 38568 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
14551 /* 38571 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14552 /* 38575 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14553 /* 38580 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
14554 /* 38583 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
14555 /* 38587 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
14556 /* 38590 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14557 /* 38595 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14558 /* 38600 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14559 /* 38605 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
14560 /* 38608 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14561 /* 38612 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14562 /* 38617 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
14563 /* 38619 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
14564 /* 38622 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14565 /* 38626 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14566 /* 38631 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
14567 /* 38634 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
14568 /* 38638 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
14569 /* 38641 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14570 /* 38646 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14571 /* 38651 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14572 /* 38656 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
14573 /* 38659 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14574 /* 38663 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14575 /* 38668 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
14576 /* 38670 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
14577 /* 38673 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14578 /* 38677 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14579 /* 38682 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
14580 /* 38685 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
14581 /* 38689 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
14582 /* 38692 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14583 /* 38697 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14584 /* 38702 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14585 /* 38707 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
14586 /* 38710 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
14587 /* 38714 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14588 /* 38719 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14589 /* 38722 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
14590 /* 38725 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
14591 /* 38728 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
14592 /* 38731 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14593 /* 38733 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14594 /* 38736 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14595 /* 38738 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
14596 /* 38745 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
14597 /* 38750 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14598 /* 38755 */ // GIR_Coverage, 21955,
14599 /* 38755 */ GIR_EraseRootFromParent_Done,
14600 /* 38756 */ // Label 953: @38756
14601 /* 38756 */ GIM_Try, /*On fail goto*//*Label 954*/ GIMT_Encode4(38802), // Rule ID 21963 //
14602 /* 38761 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
14603 /* 38764 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14604 /* 38768 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14605 /* 38772 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14606 /* 38776 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14607 /* 38782 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14608 /* 38784 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14609 /* 38786 */ // (xor:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, immAllOnesV:{ *:[v8i16] }) => (VPTERNLOGQZ128rri:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, VR128X:{ *:[v8i16] }:$src, VR128X:{ *:[v8i16] }:$src, 15:{ *:[i8] })
14610 /* 38786 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ128rri),
14611 /* 38789 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14612 /* 38791 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14613 /* 38793 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14614 /* 38795 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14615 /* 38797 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
14616 /* 38800 */ GIR_RootConstrainSelectedInstOperands,
14617 /* 38801 */ // GIR_Coverage, 21963,
14618 /* 38801 */ GIR_EraseRootFromParent_Done,
14619 /* 38802 */ // Label 954: @38802
14620 /* 38802 */ GIM_Try, /*On fail goto*//*Label 955*/ GIMT_Encode4(38829), // Rule ID 18143 //
14621 /* 38807 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
14622 /* 38810 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14623 /* 38814 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14624 /* 38818 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14625 /* 38822 */ // (xor:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPXORrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
14626 /* 38822 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORrr),
14627 /* 38827 */ GIR_RootConstrainSelectedInstOperands,
14628 /* 38828 */ // GIR_Coverage, 18143,
14629 /* 38828 */ GIR_Done,
14630 /* 38829 */ // Label 955: @38829
14631 /* 38829 */ GIM_Try, /*On fail goto*//*Label 956*/ GIMT_Encode4(38856), // Rule ID 18167 //
14632 /* 38834 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
14633 /* 38837 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14634 /* 38841 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14635 /* 38845 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14636 /* 38849 */ // (xor:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PXORrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
14637 /* 38849 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PXORrr),
14638 /* 38854 */ GIR_RootConstrainSelectedInstOperands,
14639 /* 38855 */ // GIR_Coverage, 18167,
14640 /* 38855 */ GIR_Done,
14641 /* 38856 */ // Label 956: @38856
14642 /* 38856 */ GIM_Try, /*On fail goto*//*Label 957*/ GIMT_Encode4(38883), // Rule ID 20030 //
14643 /* 38861 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
14644 /* 38864 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14645 /* 38868 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14646 /* 38872 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14647 /* 38876 */ // (xor:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPXORQZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
14648 /* 38876 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rr),
14649 /* 38881 */ GIR_RootConstrainSelectedInstOperands,
14650 /* 38882 */ // GIR_Coverage, 20030,
14651 /* 38882 */ GIR_Done,
14652 /* 38883 */ // Label 957: @38883
14653 /* 38883 */ GIM_Reject,
14654 /* 38884 */ // Label 948: @38884
14655 /* 38884 */ GIM_Reject,
14656 /* 38885 */ // Label 826: @38885
14657 /* 38885 */ GIM_Try, /*On fail goto*//*Label 958*/ GIMT_Encode4(39628),
14658 /* 38890 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
14659 /* 38893 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
14660 /* 38896 */ GIM_Try, /*On fail goto*//*Label 959*/ GIMT_Encode4(38958), // Rule ID 24315 //
14661 /* 38901 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
14662 /* 38904 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14663 /* 38908 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14664 /* 38912 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14665 /* 38916 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14666 /* 38919 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14667 /* 38923 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14668 /* 38927 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14669 /* 38931 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14670 /* 38933 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14671 /* 38940 */ // (xor:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPXORDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
14672 /* 38940 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZ256rm),
14673 /* 38943 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14674 /* 38945 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14675 /* 38947 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14676 /* 38951 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14677 /* 38956 */ GIR_RootConstrainSelectedInstOperands,
14678 /* 38957 */ // GIR_Coverage, 24315,
14679 /* 38957 */ GIR_EraseRootFromParent_Done,
14680 /* 38958 */ // Label 959: @38958
14681 /* 38958 */ GIM_Try, /*On fail goto*//*Label 960*/ GIMT_Encode4(39020), // Rule ID 25320 //
14682 /* 38963 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
14683 /* 38966 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14684 /* 38970 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14685 /* 38974 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14686 /* 38978 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14687 /* 38981 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14688 /* 38985 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14689 /* 38989 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14690 /* 38993 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14691 /* 38995 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14692 /* 39002 */ // (xor:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPXORYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
14693 /* 39002 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
14694 /* 39005 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14695 /* 39007 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14696 /* 39009 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14697 /* 39013 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14698 /* 39018 */ GIR_RootConstrainSelectedInstOperands,
14699 /* 39019 */ // GIR_Coverage, 25320,
14700 /* 39019 */ GIR_EraseRootFromParent_Done,
14701 /* 39020 */ // Label 960: @39020
14702 /* 39020 */ GIM_Try, /*On fail goto*//*Label 961*/ GIMT_Encode4(39082), // Rule ID 25331 //
14703 /* 39025 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
14704 /* 39028 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14705 /* 39032 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14706 /* 39036 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14707 /* 39040 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14708 /* 39043 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14709 /* 39047 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14710 /* 39051 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14711 /* 39055 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14712 /* 39057 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14713 /* 39064 */ // (xor:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VXORPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
14714 /* 39064 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
14715 /* 39067 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14716 /* 39069 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14717 /* 39071 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14718 /* 39075 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14719 /* 39080 */ GIR_RootConstrainSelectedInstOperands,
14720 /* 39081 */ // GIR_Coverage, 25331,
14721 /* 39081 */ GIR_EraseRootFromParent_Done,
14722 /* 39082 */ // Label 961: @39082
14723 /* 39082 */ GIM_Try, /*On fail goto*//*Label 962*/ GIMT_Encode4(39144), // Rule ID 5837 //
14724 /* 39087 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
14725 /* 39090 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14726 /* 39094 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14727 /* 39098 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14728 /* 39102 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14729 /* 39106 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14730 /* 39109 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14731 /* 39113 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14732 /* 39117 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14733 /* 39119 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14734 /* 39126 */ // (xor:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
14735 /* 39126 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZ256rm),
14736 /* 39129 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14737 /* 39131 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14738 /* 39133 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14739 /* 39137 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14740 /* 39142 */ GIR_RootConstrainSelectedInstOperands,
14741 /* 39143 */ // GIR_Coverage, 5837,
14742 /* 39143 */ GIR_EraseRootFromParent_Done,
14743 /* 39144 */ // Label 962: @39144
14744 /* 39144 */ GIM_Try, /*On fail goto*//*Label 963*/ GIMT_Encode4(39206), // Rule ID 18100 //
14745 /* 39149 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
14746 /* 39152 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14747 /* 39156 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14748 /* 39160 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14749 /* 39164 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14750 /* 39168 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14751 /* 39171 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14752 /* 39175 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14753 /* 39179 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14754 /* 39181 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14755 /* 39188 */ // (xor:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
14756 /* 39188 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
14757 /* 39191 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14758 /* 39193 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14759 /* 39195 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14760 /* 39199 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14761 /* 39204 */ GIR_RootConstrainSelectedInstOperands,
14762 /* 39205 */ // GIR_Coverage, 18100,
14763 /* 39205 */ GIR_EraseRootFromParent_Done,
14764 /* 39206 */ // Label 963: @39206
14765 /* 39206 */ GIM_Try, /*On fail goto*//*Label 964*/ GIMT_Encode4(39268), // Rule ID 18130 //
14766 /* 39211 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
14767 /* 39214 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14768 /* 39218 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14769 /* 39222 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14770 /* 39226 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14771 /* 39230 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14772 /* 39233 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14773 /* 39237 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14774 /* 39241 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14775 /* 39243 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14776 /* 39250 */ // (xor:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VXORPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
14777 /* 39250 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
14778 /* 39253 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14779 /* 39255 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14780 /* 39257 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14781 /* 39261 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14782 /* 39266 */ GIR_RootConstrainSelectedInstOperands,
14783 /* 39267 */ // GIR_Coverage, 18130,
14784 /* 39267 */ GIR_EraseRootFromParent_Done,
14785 /* 39268 */ // Label 964: @39268
14786 /* 39268 */ GIM_Try, /*On fail goto*//*Label 965*/ GIMT_Encode4(39500), // Rule ID 21960 //
14787 /* 39273 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
14788 /* 39276 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14789 /* 39280 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14790 /* 39284 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14791 /* 39288 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14792 /* 39294 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14793 /* 39296 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14794 /* 39298 */ // (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] })
14795 /* 39298 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
14796 /* 39301 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14797 /* 39305 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14798 /* 39310 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
14799 /* 39312 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
14800 /* 39315 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14801 /* 39319 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14802 /* 39324 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
14803 /* 39327 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
14804 /* 39331 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
14805 /* 39334 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14806 /* 39339 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14807 /* 39344 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
14808 /* 39349 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
14809 /* 39352 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14810 /* 39356 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14811 /* 39361 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
14812 /* 39363 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
14813 /* 39366 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14814 /* 39370 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14815 /* 39375 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
14816 /* 39378 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
14817 /* 39382 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
14818 /* 39385 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14819 /* 39390 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14820 /* 39395 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
14821 /* 39400 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
14822 /* 39403 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14823 /* 39407 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14824 /* 39412 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
14825 /* 39414 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
14826 /* 39417 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14827 /* 39421 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14828 /* 39426 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
14829 /* 39429 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
14830 /* 39433 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
14831 /* 39436 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14832 /* 39441 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14833 /* 39446 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
14834 /* 39451 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
14835 /* 39454 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
14836 /* 39458 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14837 /* 39463 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14838 /* 39466 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
14839 /* 39469 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
14840 /* 39472 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
14841 /* 39475 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14842 /* 39477 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14843 /* 39480 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14844 /* 39482 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
14845 /* 39489 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
14846 /* 39494 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14847 /* 39499 */ // GIR_Coverage, 21960,
14848 /* 39499 */ GIR_EraseRootFromParent_Done,
14849 /* 39500 */ // Label 965: @39500
14850 /* 39500 */ GIM_Try, /*On fail goto*//*Label 966*/ GIMT_Encode4(39546), // Rule ID 21968 //
14851 /* 39505 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
14852 /* 39508 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14853 /* 39512 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14854 /* 39516 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14855 /* 39520 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14856 /* 39526 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14857 /* 39528 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14858 /* 39530 */ // (xor:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, immAllOnesV:{ *:[v8i32] }) => (VPTERNLOGQZ256rri:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, VR256X:{ *:[v8i32] }:$src, VR256X:{ *:[v8i32] }:$src, 15:{ *:[i8] })
14859 /* 39530 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ256rri),
14860 /* 39533 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14861 /* 39535 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14862 /* 39537 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14863 /* 39539 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14864 /* 39541 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
14865 /* 39544 */ GIR_RootConstrainSelectedInstOperands,
14866 /* 39545 */ // GIR_Coverage, 21968,
14867 /* 39545 */ GIR_EraseRootFromParent_Done,
14868 /* 39546 */ // Label 966: @39546
14869 /* 39546 */ GIM_Try, /*On fail goto*//*Label 967*/ GIMT_Encode4(39573), // Rule ID 5834 //
14870 /* 39551 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
14871 /* 39554 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14872 /* 39558 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14873 /* 39562 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14874 /* 39566 */ // (xor:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPXORDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
14875 /* 39566 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORDZ256rr),
14876 /* 39571 */ GIR_RootConstrainSelectedInstOperands,
14877 /* 39572 */ // GIR_Coverage, 5834,
14878 /* 39572 */ GIR_Done,
14879 /* 39573 */ // Label 967: @39573
14880 /* 39573 */ GIM_Try, /*On fail goto*//*Label 968*/ GIMT_Encode4(39600), // Rule ID 18088 //
14881 /* 39578 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
14882 /* 39581 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14883 /* 39585 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14884 /* 39589 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14885 /* 39593 */ // (xor:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPXORYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
14886 /* 39593 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORYrr),
14887 /* 39598 */ GIR_RootConstrainSelectedInstOperands,
14888 /* 39599 */ // GIR_Coverage, 18088,
14889 /* 39599 */ GIR_Done,
14890 /* 39600 */ // Label 968: @39600
14891 /* 39600 */ GIM_Try, /*On fail goto*//*Label 969*/ GIMT_Encode4(39627), // Rule ID 18114 //
14892 /* 39605 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
14893 /* 39608 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14894 /* 39612 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14895 /* 39616 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14896 /* 39620 */ // (xor:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VXORPSYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
14897 /* 39620 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VXORPSYrr),
14898 /* 39625 */ GIR_RootConstrainSelectedInstOperands,
14899 /* 39626 */ // GIR_Coverage, 18114,
14900 /* 39626 */ GIR_Done,
14901 /* 39627 */ // Label 969: @39627
14902 /* 39627 */ GIM_Reject,
14903 /* 39628 */ // Label 958: @39628
14904 /* 39628 */ GIM_Reject,
14905 /* 39629 */ // Label 827: @39629
14906 /* 39629 */ GIM_Try, /*On fail goto*//*Label 970*/ GIMT_Encode4(39826),
14907 /* 39634 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
14908 /* 39637 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
14909 /* 39640 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
14910 /* 39644 */ GIM_Try, /*On fail goto*//*Label 971*/ GIMT_Encode4(39702), // Rule ID 24291 //
14911 /* 39649 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
14912 /* 39652 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14913 /* 39656 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14914 /* 39660 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14915 /* 39663 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14916 /* 39667 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14917 /* 39671 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
14918 /* 39675 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14919 /* 39677 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14920 /* 39684 */ // (xor:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPXORQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
14921 /* 39684 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
14922 /* 39687 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14923 /* 39689 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14924 /* 39691 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14925 /* 39695 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14926 /* 39700 */ GIR_RootConstrainSelectedInstOperands,
14927 /* 39701 */ // GIR_Coverage, 24291,
14928 /* 39701 */ GIR_EraseRootFromParent_Done,
14929 /* 39702 */ // Label 971: @39702
14930 /* 39702 */ GIM_Try, /*On fail goto*//*Label 972*/ GIMT_Encode4(39760), // Rule ID 5801 //
14931 /* 39707 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
14932 /* 39710 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
14933 /* 39714 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14934 /* 39718 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14935 /* 39722 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14936 /* 39725 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14937 /* 39729 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14938 /* 39733 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14939 /* 39735 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14940 /* 39742 */ // (xor:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
14941 /* 39742 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
14942 /* 39745 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14943 /* 39747 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14944 /* 39749 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14945 /* 39753 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14946 /* 39758 */ GIR_RootConstrainSelectedInstOperands,
14947 /* 39759 */ // GIR_Coverage, 5801,
14948 /* 39759 */ GIR_EraseRootFromParent_Done,
14949 /* 39760 */ // Label 972: @39760
14950 /* 39760 */ GIM_Try, /*On fail goto*//*Label 973*/ GIMT_Encode4(39802), // Rule ID 21953 //
14951 /* 39765 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
14952 /* 39768 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
14953 /* 39772 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14954 /* 39776 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14955 /* 39782 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14956 /* 39784 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14957 /* 39786 */ // (xor:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, immAllOnesV:{ *:[v8i64] }) => (VPTERNLOGQZrri:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, VR512:{ *:[v8i64] }:$src, VR512:{ *:[v8i64] }:$src, 15:{ *:[i8] })
14958 /* 39786 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
14959 /* 39789 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14960 /* 39791 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14961 /* 39793 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14962 /* 39795 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14963 /* 39797 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
14964 /* 39800 */ GIR_RootConstrainSelectedInstOperands,
14965 /* 39801 */ // GIR_Coverage, 21953,
14966 /* 39801 */ GIR_EraseRootFromParent_Done,
14967 /* 39802 */ // Label 973: @39802
14968 /* 39802 */ GIM_Try, /*On fail goto*//*Label 974*/ GIMT_Encode4(39825), // Rule ID 5798 //
14969 /* 39807 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
14970 /* 39810 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
14971 /* 39814 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
14972 /* 39818 */ // (xor:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPXORQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
14973 /* 39818 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZrr),
14974 /* 39823 */ GIR_RootConstrainSelectedInstOperands,
14975 /* 39824 */ // GIR_Coverage, 5798,
14976 /* 39824 */ GIR_Done,
14977 /* 39825 */ // Label 974: @39825
14978 /* 39825 */ GIM_Reject,
14979 /* 39826 */ // Label 970: @39826
14980 /* 39826 */ GIM_Reject,
14981 /* 39827 */ // Label 828: @39827
14982 /* 39827 */ GIM_Try, /*On fail goto*//*Label 975*/ GIMT_Encode4(40084),
14983 /* 39832 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
14984 /* 39835 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
14985 /* 39838 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
14986 /* 39842 */ GIM_Try, /*On fail goto*//*Label 976*/ GIMT_Encode4(39902), // Rule ID 23768 //
14987 /* 39847 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
14988 /* 39850 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14989 /* 39854 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
14990 /* 39858 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
14991 /* 39862 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
14992 /* 39866 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
14993 /* 39871 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
14994 /* 39875 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14995 /* 39881 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
14996 /* 39883 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
14997 /* 39887 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14998 /* 39889 */ // (xor:{ *:[v16i1] } (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, immAllOnesV:{ *:[v16i1] }), VK16:{ *:[v16i1] }:$src2) => (KXNORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
14999 /* 39889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
15000 /* 39892 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15001 /* 39894 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
15002 /* 39898 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
15003 /* 39900 */ GIR_RootConstrainSelectedInstOperands,
15004 /* 39901 */ // GIR_Coverage, 23768,
15005 /* 39901 */ GIR_EraseRootFromParent_Done,
15006 /* 39902 */ // Label 976: @39902
15007 /* 39902 */ GIM_Try, /*On fail goto*//*Label 977*/ GIMT_Encode4(39965), // Rule ID 4426 //
15008 /* 39907 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
15009 /* 39910 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15010 /* 39914 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
15011 /* 39918 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
15012 /* 39922 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
15013 /* 39926 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
15014 /* 39931 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
15015 /* 39936 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
15016 /* 39940 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15017 /* 39946 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
15018 /* 39948 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
15019 /* 39950 */ // (xor:{ *:[v16i1] } (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2), immAllOnesV:{ *:[v16i1] }) => (KXNORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
15020 /* 39950 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
15021 /* 39953 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15022 /* 39955 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
15023 /* 39959 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
15024 /* 39963 */ GIR_RootConstrainSelectedInstOperands,
15025 /* 39964 */ // GIR_Coverage, 4426,
15026 /* 39964 */ GIR_EraseRootFromParent_Done,
15027 /* 39965 */ // Label 977: @39965
15028 /* 39965 */ GIM_Try, /*On fail goto*//*Label 978*/ GIMT_Encode4(40025), // Rule ID 23769 //
15029 /* 39970 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
15030 /* 39973 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
15031 /* 39977 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15032 /* 39981 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
15033 /* 39985 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
15034 /* 39989 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
15035 /* 39993 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
15036 /* 39998 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
15037 /* 40002 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15038 /* 40008 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
15039 /* 40010 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
15040 /* 40012 */ // (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src2, (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, immAllOnesV:{ *:[v16i1] })) => (KXNORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
15041 /* 40012 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
15042 /* 40015 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15043 /* 40017 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
15044 /* 40021 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
15045 /* 40023 */ GIR_RootConstrainSelectedInstOperands,
15046 /* 40024 */ // GIR_Coverage, 23769,
15047 /* 40024 */ GIR_EraseRootFromParent_Done,
15048 /* 40025 */ // Label 978: @40025
15049 /* 40025 */ GIM_Try, /*On fail goto*//*Label 979*/ GIMT_Encode4(40060), // Rule ID 4414 //
15050 /* 40030 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
15051 /* 40033 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
15052 /* 40037 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15053 /* 40041 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15054 /* 40047 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15055 /* 40049 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15056 /* 40051 */ // (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src, immAllOnesV:{ *:[v16i1] }) => (KNOTWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src)
15057 /* 40051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
15058 /* 40054 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15059 /* 40056 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15060 /* 40058 */ GIR_RootConstrainSelectedInstOperands,
15061 /* 40059 */ // GIR_Coverage, 4414,
15062 /* 40059 */ GIR_EraseRootFromParent_Done,
15063 /* 40060 */ // Label 979: @40060
15064 /* 40060 */ GIM_Try, /*On fail goto*//*Label 980*/ GIMT_Encode4(40083), // Rule ID 4430 //
15065 /* 40065 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
15066 /* 40068 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
15067 /* 40072 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
15068 /* 40076 */ // (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2) => (KXORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
15069 /* 40076 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
15070 /* 40081 */ GIR_RootConstrainSelectedInstOperands,
15071 /* 40082 */ // GIR_Coverage, 4430,
15072 /* 40082 */ GIR_Done,
15073 /* 40083 */ // Label 980: @40083
15074 /* 40083 */ GIM_Reject,
15075 /* 40084 */ // Label 975: @40084
15076 /* 40084 */ GIM_Reject,
15077 /* 40085 */ // Label 829: @40085
15078 /* 40085 */ GIM_Try, /*On fail goto*//*Label 981*/ GIMT_Encode4(40704),
15079 /* 40090 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
15080 /* 40093 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
15081 /* 40096 */ GIM_Try, /*On fail goto*//*Label 982*/ GIMT_Encode4(40158), // Rule ID 25339 //
15082 /* 40101 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
15083 /* 40104 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15084 /* 40108 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15085 /* 40112 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15086 /* 40116 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15087 /* 40119 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15088 /* 40123 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15089 /* 40127 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15090 /* 40131 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15091 /* 40133 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15092 /* 40140 */ // (xor:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPXORrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
15093 /* 40140 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
15094 /* 40143 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15095 /* 40145 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15096 /* 40147 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15097 /* 40151 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15098 /* 40156 */ GIR_RootConstrainSelectedInstOperands,
15099 /* 40157 */ // GIR_Coverage, 25339,
15100 /* 40157 */ GIR_EraseRootFromParent_Done,
15101 /* 40158 */ // Label 982: @40158
15102 /* 40158 */ GIM_Try, /*On fail goto*//*Label 983*/ GIMT_Encode4(40220), // Rule ID 25518 //
15103 /* 40163 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15104 /* 40166 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15105 /* 40170 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15106 /* 40174 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15107 /* 40178 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15108 /* 40181 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15109 /* 40185 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15110 /* 40189 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15111 /* 40193 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15112 /* 40195 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15113 /* 40202 */ // (xor:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPXORQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
15114 /* 40202 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
15115 /* 40205 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15116 /* 40207 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15117 /* 40209 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15118 /* 40213 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15119 /* 40218 */ GIR_RootConstrainSelectedInstOperands,
15120 /* 40219 */ // GIR_Coverage, 25518,
15121 /* 40219 */ GIR_EraseRootFromParent_Done,
15122 /* 40220 */ // Label 983: @40220
15123 /* 40220 */ GIM_Try, /*On fail goto*//*Label 984*/ GIMT_Encode4(40282), // Rule ID 18154 //
15124 /* 40225 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
15125 /* 40228 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15126 /* 40232 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15127 /* 40236 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15128 /* 40240 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15129 /* 40244 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15130 /* 40247 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15131 /* 40251 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15132 /* 40255 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15133 /* 40257 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15134 /* 40264 */ // (xor:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
15135 /* 40264 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
15136 /* 40267 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15137 /* 40269 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15138 /* 40271 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15139 /* 40275 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15140 /* 40280 */ GIR_RootConstrainSelectedInstOperands,
15141 /* 40281 */ // GIR_Coverage, 18154,
15142 /* 40281 */ GIR_EraseRootFromParent_Done,
15143 /* 40282 */ // Label 984: @40282
15144 /* 40282 */ GIM_Try, /*On fail goto*//*Label 985*/ GIMT_Encode4(40344), // Rule ID 20037 //
15145 /* 40287 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15146 /* 40290 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15147 /* 40294 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15148 /* 40298 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15149 /* 40302 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15150 /* 40306 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15151 /* 40309 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15152 /* 40313 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15153 /* 40317 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15154 /* 40319 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15155 /* 40326 */ // (xor:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
15156 /* 40326 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
15157 /* 40329 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15158 /* 40331 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15159 /* 40333 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15160 /* 40337 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15161 /* 40342 */ GIR_RootConstrainSelectedInstOperands,
15162 /* 40343 */ // GIR_Coverage, 20037,
15163 /* 40343 */ GIR_EraseRootFromParent_Done,
15164 /* 40344 */ // Label 985: @40344
15165 /* 40344 */ GIM_Try, /*On fail goto*//*Label 986*/ GIMT_Encode4(40576), // Rule ID 21954 //
15166 /* 40349 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
15167 /* 40352 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
15168 /* 40356 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15169 /* 40360 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15170 /* 40364 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15171 /* 40370 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15172 /* 40372 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15173 /* 40374 */ // (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] })
15174 /* 40374 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
15175 /* 40377 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15176 /* 40381 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15177 /* 40386 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
15178 /* 40388 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
15179 /* 40391 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15180 /* 40395 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15181 /* 40400 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
15182 /* 40403 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
15183 /* 40407 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
15184 /* 40410 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15185 /* 40415 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15186 /* 40420 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
15187 /* 40425 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
15188 /* 40428 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15189 /* 40432 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15190 /* 40437 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
15191 /* 40439 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
15192 /* 40442 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15193 /* 40446 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15194 /* 40451 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
15195 /* 40454 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
15196 /* 40458 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
15197 /* 40461 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15198 /* 40466 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15199 /* 40471 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
15200 /* 40476 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
15201 /* 40479 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15202 /* 40483 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15203 /* 40488 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
15204 /* 40490 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
15205 /* 40493 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15206 /* 40497 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15207 /* 40502 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
15208 /* 40505 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
15209 /* 40509 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
15210 /* 40512 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15211 /* 40517 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15212 /* 40522 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
15213 /* 40527 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
15214 /* 40530 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
15215 /* 40534 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15216 /* 40539 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15217 /* 40542 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
15218 /* 40545 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
15219 /* 40548 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
15220 /* 40551 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15221 /* 40553 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15222 /* 40556 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15223 /* 40558 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
15224 /* 40565 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
15225 /* 40570 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15226 /* 40575 */ // GIR_Coverage, 21954,
15227 /* 40575 */ GIR_EraseRootFromParent_Done,
15228 /* 40576 */ // Label 986: @40576
15229 /* 40576 */ GIM_Try, /*On fail goto*//*Label 987*/ GIMT_Encode4(40622), // Rule ID 21962 //
15230 /* 40581 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15231 /* 40584 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15232 /* 40588 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15233 /* 40592 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15234 /* 40596 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15235 /* 40602 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15236 /* 40604 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15237 /* 40606 */ // (xor:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, immAllOnesV:{ *:[v16i8] }) => (VPTERNLOGQZ128rri:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, VR128X:{ *:[v16i8] }:$src, VR128X:{ *:[v16i8] }:$src, 15:{ *:[i8] })
15238 /* 40606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ128rri),
15239 /* 40609 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15240 /* 40611 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15241 /* 40613 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15242 /* 40615 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15243 /* 40617 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
15244 /* 40620 */ GIR_RootConstrainSelectedInstOperands,
15245 /* 40621 */ // GIR_Coverage, 21962,
15246 /* 40621 */ GIR_EraseRootFromParent_Done,
15247 /* 40622 */ // Label 987: @40622
15248 /* 40622 */ GIM_Try, /*On fail goto*//*Label 988*/ GIMT_Encode4(40649), // Rule ID 18142 //
15249 /* 40627 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
15250 /* 40630 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15251 /* 40634 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15252 /* 40638 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15253 /* 40642 */ // (xor:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPXORrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
15254 /* 40642 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORrr),
15255 /* 40647 */ GIR_RootConstrainSelectedInstOperands,
15256 /* 40648 */ // GIR_Coverage, 18142,
15257 /* 40648 */ GIR_Done,
15258 /* 40649 */ // Label 988: @40649
15259 /* 40649 */ GIM_Try, /*On fail goto*//*Label 989*/ GIMT_Encode4(40676), // Rule ID 18166 //
15260 /* 40654 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
15261 /* 40657 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15262 /* 40661 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15263 /* 40665 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15264 /* 40669 */ // (xor:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PXORrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
15265 /* 40669 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PXORrr),
15266 /* 40674 */ GIR_RootConstrainSelectedInstOperands,
15267 /* 40675 */ // GIR_Coverage, 18166,
15268 /* 40675 */ GIR_Done,
15269 /* 40676 */ // Label 989: @40676
15270 /* 40676 */ GIM_Try, /*On fail goto*//*Label 990*/ GIMT_Encode4(40703), // Rule ID 20029 //
15271 /* 40681 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15272 /* 40684 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15273 /* 40688 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15274 /* 40692 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15275 /* 40696 */ // (xor:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPXORQZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
15276 /* 40696 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rr),
15277 /* 40701 */ GIR_RootConstrainSelectedInstOperands,
15278 /* 40702 */ // GIR_Coverage, 20029,
15279 /* 40702 */ GIR_Done,
15280 /* 40703 */ // Label 990: @40703
15281 /* 40703 */ GIM_Reject,
15282 /* 40704 */ // Label 981: @40704
15283 /* 40704 */ GIM_Reject,
15284 /* 40705 */ // Label 830: @40705
15285 /* 40705 */ GIM_Try, /*On fail goto*//*Label 991*/ GIMT_Encode4(41448),
15286 /* 40710 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
15287 /* 40713 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
15288 /* 40716 */ GIM_Try, /*On fail goto*//*Label 992*/ GIMT_Encode4(40778), // Rule ID 25319 //
15289 /* 40721 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
15290 /* 40724 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15291 /* 40728 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15292 /* 40732 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15293 /* 40736 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15294 /* 40739 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15295 /* 40743 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15296 /* 40747 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15297 /* 40751 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15298 /* 40753 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15299 /* 40760 */ // (xor:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPXORYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
15300 /* 40760 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
15301 /* 40763 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15302 /* 40765 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15303 /* 40767 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15304 /* 40771 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15305 /* 40776 */ GIR_RootConstrainSelectedInstOperands,
15306 /* 40777 */ // GIR_Coverage, 25319,
15307 /* 40777 */ GIR_EraseRootFromParent_Done,
15308 /* 40778 */ // Label 992: @40778
15309 /* 40778 */ GIM_Try, /*On fail goto*//*Label 993*/ GIMT_Encode4(40840), // Rule ID 25330 //
15310 /* 40783 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
15311 /* 40786 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15312 /* 40790 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15313 /* 40794 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15314 /* 40798 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15315 /* 40801 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15316 /* 40805 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15317 /* 40809 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15318 /* 40813 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15319 /* 40815 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15320 /* 40822 */ // (xor:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VXORPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
15321 /* 40822 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
15322 /* 40825 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15323 /* 40827 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15324 /* 40829 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15325 /* 40833 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15326 /* 40838 */ GIR_RootConstrainSelectedInstOperands,
15327 /* 40839 */ // GIR_Coverage, 25330,
15328 /* 40839 */ GIR_EraseRootFromParent_Done,
15329 /* 40840 */ // Label 993: @40840
15330 /* 40840 */ GIM_Try, /*On fail goto*//*Label 994*/ GIMT_Encode4(40902), // Rule ID 25525 //
15331 /* 40845 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15332 /* 40848 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15333 /* 40852 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15334 /* 40856 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15335 /* 40860 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15336 /* 40863 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15337 /* 40867 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15338 /* 40871 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15339 /* 40875 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15340 /* 40877 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15341 /* 40884 */ // (xor:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPXORQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
15342 /* 40884 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
15343 /* 40887 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15344 /* 40889 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15345 /* 40891 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15346 /* 40895 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15347 /* 40900 */ GIR_RootConstrainSelectedInstOperands,
15348 /* 40901 */ // GIR_Coverage, 25525,
15349 /* 40901 */ GIR_EraseRootFromParent_Done,
15350 /* 40902 */ // Label 994: @40902
15351 /* 40902 */ GIM_Try, /*On fail goto*//*Label 995*/ GIMT_Encode4(40964), // Rule ID 18099 //
15352 /* 40907 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
15353 /* 40910 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15354 /* 40914 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15355 /* 40918 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15356 /* 40922 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15357 /* 40926 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15358 /* 40929 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15359 /* 40933 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15360 /* 40937 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15361 /* 40939 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15362 /* 40946 */ // (xor:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
15363 /* 40946 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
15364 /* 40949 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15365 /* 40951 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15366 /* 40953 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15367 /* 40957 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15368 /* 40962 */ GIR_RootConstrainSelectedInstOperands,
15369 /* 40963 */ // GIR_Coverage, 18099,
15370 /* 40963 */ GIR_EraseRootFromParent_Done,
15371 /* 40964 */ // Label 995: @40964
15372 /* 40964 */ GIM_Try, /*On fail goto*//*Label 996*/ GIMT_Encode4(41026), // Rule ID 18129 //
15373 /* 40969 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
15374 /* 40972 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15375 /* 40976 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15376 /* 40980 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15377 /* 40984 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15378 /* 40988 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15379 /* 40991 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15380 /* 40995 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15381 /* 40999 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15382 /* 41001 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15383 /* 41008 */ // (xor:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VXORPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
15384 /* 41008 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
15385 /* 41011 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15386 /* 41013 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15387 /* 41015 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15388 /* 41019 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15389 /* 41024 */ GIR_RootConstrainSelectedInstOperands,
15390 /* 41025 */ // GIR_Coverage, 18129,
15391 /* 41025 */ GIR_EraseRootFromParent_Done,
15392 /* 41026 */ // Label 996: @41026
15393 /* 41026 */ GIM_Try, /*On fail goto*//*Label 997*/ GIMT_Encode4(41088), // Rule ID 20054 //
15394 /* 41031 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15395 /* 41034 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15396 /* 41038 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15397 /* 41042 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15398 /* 41046 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15399 /* 41050 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15400 /* 41053 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15401 /* 41057 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15402 /* 41061 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15403 /* 41063 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15404 /* 41070 */ // (xor:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
15405 /* 41070 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
15406 /* 41073 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15407 /* 41075 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15408 /* 41077 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15409 /* 41081 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15410 /* 41086 */ GIR_RootConstrainSelectedInstOperands,
15411 /* 41087 */ // GIR_Coverage, 20054,
15412 /* 41087 */ GIR_EraseRootFromParent_Done,
15413 /* 41088 */ // Label 997: @41088
15414 /* 41088 */ GIM_Try, /*On fail goto*//*Label 998*/ GIMT_Encode4(41320), // Rule ID 21959 //
15415 /* 41093 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
15416 /* 41096 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15417 /* 41100 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15418 /* 41104 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15419 /* 41108 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15420 /* 41114 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15421 /* 41116 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15422 /* 41118 */ // (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] })
15423 /* 41118 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
15424 /* 41121 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15425 /* 41125 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15426 /* 41130 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
15427 /* 41132 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
15428 /* 41135 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15429 /* 41139 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15430 /* 41144 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
15431 /* 41147 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
15432 /* 41151 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
15433 /* 41154 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15434 /* 41159 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15435 /* 41164 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15436 /* 41169 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
15437 /* 41172 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15438 /* 41176 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15439 /* 41181 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
15440 /* 41183 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
15441 /* 41186 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15442 /* 41190 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15443 /* 41195 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
15444 /* 41198 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
15445 /* 41202 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
15446 /* 41205 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15447 /* 41210 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15448 /* 41215 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15449 /* 41220 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
15450 /* 41223 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15451 /* 41227 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15452 /* 41232 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
15453 /* 41234 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
15454 /* 41237 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15455 /* 41241 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15456 /* 41246 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
15457 /* 41249 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
15458 /* 41253 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
15459 /* 41256 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15460 /* 41261 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15461 /* 41266 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15462 /* 41271 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
15463 /* 41274 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
15464 /* 41278 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15465 /* 41283 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15466 /* 41286 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
15467 /* 41289 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
15468 /* 41292 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
15469 /* 41295 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15470 /* 41297 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15471 /* 41300 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15472 /* 41302 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
15473 /* 41309 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
15474 /* 41314 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15475 /* 41319 */ // GIR_Coverage, 21959,
15476 /* 41319 */ GIR_EraseRootFromParent_Done,
15477 /* 41320 */ // Label 998: @41320
15478 /* 41320 */ GIM_Try, /*On fail goto*//*Label 999*/ GIMT_Encode4(41366), // Rule ID 21967 //
15479 /* 41325 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15480 /* 41328 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15481 /* 41332 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15482 /* 41336 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15483 /* 41340 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15484 /* 41346 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15485 /* 41348 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15486 /* 41350 */ // (xor:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, immAllOnesV:{ *:[v16i16] }) => (VPTERNLOGQZ256rri:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, VR256X:{ *:[v16i16] }:$src, VR256X:{ *:[v16i16] }:$src, 15:{ *:[i8] })
15487 /* 41350 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ256rri),
15488 /* 41353 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15489 /* 41355 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15490 /* 41357 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15491 /* 41359 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15492 /* 41361 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
15493 /* 41364 */ GIR_RootConstrainSelectedInstOperands,
15494 /* 41365 */ // GIR_Coverage, 21967,
15495 /* 41365 */ GIR_EraseRootFromParent_Done,
15496 /* 41366 */ // Label 999: @41366
15497 /* 41366 */ GIM_Try, /*On fail goto*//*Label 1000*/ GIMT_Encode4(41393), // Rule ID 18087 //
15498 /* 41371 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
15499 /* 41374 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15500 /* 41378 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15501 /* 41382 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15502 /* 41386 */ // (xor:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPXORYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
15503 /* 41386 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORYrr),
15504 /* 41391 */ GIR_RootConstrainSelectedInstOperands,
15505 /* 41392 */ // GIR_Coverage, 18087,
15506 /* 41392 */ GIR_Done,
15507 /* 41393 */ // Label 1000: @41393
15508 /* 41393 */ GIM_Try, /*On fail goto*//*Label 1001*/ GIMT_Encode4(41420), // Rule ID 18113 //
15509 /* 41398 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
15510 /* 41401 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15511 /* 41405 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15512 /* 41409 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15513 /* 41413 */ // (xor:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VXORPSYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
15514 /* 41413 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VXORPSYrr),
15515 /* 41418 */ GIR_RootConstrainSelectedInstOperands,
15516 /* 41419 */ // GIR_Coverage, 18113,
15517 /* 41419 */ GIR_Done,
15518 /* 41420 */ // Label 1001: @41420
15519 /* 41420 */ GIM_Try, /*On fail goto*//*Label 1002*/ GIMT_Encode4(41447), // Rule ID 20046 //
15520 /* 41425 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15521 /* 41428 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15522 /* 41432 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15523 /* 41436 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15524 /* 41440 */ // (xor:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPXORQZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
15525 /* 41440 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rr),
15526 /* 41445 */ GIR_RootConstrainSelectedInstOperands,
15527 /* 41446 */ // GIR_Coverage, 20046,
15528 /* 41446 */ GIR_Done,
15529 /* 41447 */ // Label 1002: @41447
15530 /* 41447 */ GIM_Reject,
15531 /* 41448 */ // Label 991: @41448
15532 /* 41448 */ GIM_Reject,
15533 /* 41449 */ // Label 831: @41449
15534 /* 41449 */ GIM_Try, /*On fail goto*//*Label 1003*/ GIMT_Encode4(41646),
15535 /* 41454 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
15536 /* 41457 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
15537 /* 41460 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15538 /* 41464 */ GIM_Try, /*On fail goto*//*Label 1004*/ GIMT_Encode4(41522), // Rule ID 24309 //
15539 /* 41469 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
15540 /* 41472 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15541 /* 41476 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15542 /* 41480 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15543 /* 41483 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15544 /* 41487 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15545 /* 41491 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15546 /* 41495 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15547 /* 41497 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15548 /* 41504 */ // (xor:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPXORDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15549 /* 41504 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZrm),
15550 /* 41507 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15551 /* 41509 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15552 /* 41511 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15553 /* 41515 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15554 /* 41520 */ GIR_RootConstrainSelectedInstOperands,
15555 /* 41521 */ // GIR_Coverage, 24309,
15556 /* 41521 */ GIR_EraseRootFromParent_Done,
15557 /* 41522 */ // Label 1004: @41522
15558 /* 41522 */ GIM_Try, /*On fail goto*//*Label 1005*/ GIMT_Encode4(41580), // Rule ID 5828 //
15559 /* 41527 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
15560 /* 41530 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15561 /* 41534 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15562 /* 41538 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15563 /* 41542 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15564 /* 41545 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15565 /* 41549 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15566 /* 41553 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15567 /* 41555 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15568 /* 41562 */ // (xor:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15569 /* 41562 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZrm),
15570 /* 41565 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15571 /* 41567 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15572 /* 41569 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15573 /* 41573 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15574 /* 41578 */ GIR_RootConstrainSelectedInstOperands,
15575 /* 41579 */ // GIR_Coverage, 5828,
15576 /* 41579 */ GIR_EraseRootFromParent_Done,
15577 /* 41580 */ // Label 1005: @41580
15578 /* 41580 */ GIM_Try, /*On fail goto*//*Label 1006*/ GIMT_Encode4(41622), // Rule ID 21952 //
15579 /* 41585 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
15580 /* 41588 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15581 /* 41592 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15582 /* 41596 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15583 /* 41602 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15584 /* 41604 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15585 /* 41606 */ // (xor:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, immAllOnesV:{ *:[v16i32] }) => (VPTERNLOGQZrri:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, VR512:{ *:[v16i32] }:$src, VR512:{ *:[v16i32] }:$src, 15:{ *:[i8] })
15586 /* 41606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
15587 /* 41609 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15588 /* 41611 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15589 /* 41613 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15590 /* 41615 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15591 /* 41617 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
15592 /* 41620 */ GIR_RootConstrainSelectedInstOperands,
15593 /* 41621 */ // GIR_Coverage, 21952,
15594 /* 41621 */ GIR_EraseRootFromParent_Done,
15595 /* 41622 */ // Label 1006: @41622
15596 /* 41622 */ GIM_Try, /*On fail goto*//*Label 1007*/ GIMT_Encode4(41645), // Rule ID 5825 //
15597 /* 41627 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
15598 /* 41630 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15599 /* 41634 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15600 /* 41638 */ // (xor:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPXORDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
15601 /* 41638 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORDZrr),
15602 /* 41643 */ GIR_RootConstrainSelectedInstOperands,
15603 /* 41644 */ // GIR_Coverage, 5825,
15604 /* 41644 */ GIR_Done,
15605 /* 41645 */ // Label 1007: @41645
15606 /* 41645 */ GIM_Reject,
15607 /* 41646 */ // Label 1003: @41646
15608 /* 41646 */ GIM_Reject,
15609 /* 41647 */ // Label 832: @41647
15610 /* 41647 */ GIM_Try, /*On fail goto*//*Label 1008*/ GIMT_Encode4(41904),
15611 /* 41652 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
15612 /* 41655 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
15613 /* 41658 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
15614 /* 41662 */ GIM_Try, /*On fail goto*//*Label 1009*/ GIMT_Encode4(41722), // Rule ID 23770 //
15615 /* 41667 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
15616 /* 41670 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15617 /* 41674 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
15618 /* 41678 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
15619 /* 41682 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
15620 /* 41686 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
15621 /* 41691 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
15622 /* 41695 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15623 /* 41701 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
15624 /* 41703 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
15625 /* 41707 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
15626 /* 41709 */ // (xor:{ *:[v32i1] } (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, immAllOnesV:{ *:[v32i1] }), VK32:{ *:[v32i1] }:$src2) => (KXNORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
15627 /* 41709 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORDkk),
15628 /* 41712 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15629 /* 41714 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
15630 /* 41718 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
15631 /* 41720 */ GIR_RootConstrainSelectedInstOperands,
15632 /* 41721 */ // GIR_Coverage, 23770,
15633 /* 41721 */ GIR_EraseRootFromParent_Done,
15634 /* 41722 */ // Label 1009: @41722
15635 /* 41722 */ GIM_Try, /*On fail goto*//*Label 1010*/ GIMT_Encode4(41785), // Rule ID 4427 //
15636 /* 41727 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
15637 /* 41730 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15638 /* 41734 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
15639 /* 41738 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
15640 /* 41742 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
15641 /* 41746 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
15642 /* 41751 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
15643 /* 41756 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
15644 /* 41760 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15645 /* 41766 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
15646 /* 41768 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
15647 /* 41770 */ // (xor:{ *:[v32i1] } (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2), immAllOnesV:{ *:[v32i1] }) => (KXNORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
15648 /* 41770 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORDkk),
15649 /* 41773 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15650 /* 41775 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
15651 /* 41779 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
15652 /* 41783 */ GIR_RootConstrainSelectedInstOperands,
15653 /* 41784 */ // GIR_Coverage, 4427,
15654 /* 41784 */ GIR_EraseRootFromParent_Done,
15655 /* 41785 */ // Label 1010: @41785
15656 /* 41785 */ GIM_Try, /*On fail goto*//*Label 1011*/ GIMT_Encode4(41845), // Rule ID 23771 //
15657 /* 41790 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
15658 /* 41793 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
15659 /* 41797 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15660 /* 41801 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
15661 /* 41805 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
15662 /* 41809 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
15663 /* 41813 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
15664 /* 41818 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
15665 /* 41822 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15666 /* 41828 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
15667 /* 41830 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
15668 /* 41832 */ // (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src2, (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, immAllOnesV:{ *:[v32i1] })) => (KXNORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
15669 /* 41832 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORDkk),
15670 /* 41835 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15671 /* 41837 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
15672 /* 41841 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
15673 /* 41843 */ GIR_RootConstrainSelectedInstOperands,
15674 /* 41844 */ // GIR_Coverage, 23771,
15675 /* 41844 */ GIR_EraseRootFromParent_Done,
15676 /* 41845 */ // Label 1011: @41845
15677 /* 41845 */ GIM_Try, /*On fail goto*//*Label 1012*/ GIMT_Encode4(41880), // Rule ID 4415 //
15678 /* 41850 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
15679 /* 41853 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
15680 /* 41857 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15681 /* 41861 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15682 /* 41867 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15683 /* 41869 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15684 /* 41871 */ // (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src, immAllOnesV:{ *:[v32i1] }) => (KNOTDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src)
15685 /* 41871 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KNOTDkk),
15686 /* 41874 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15687 /* 41876 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15688 /* 41878 */ GIR_RootConstrainSelectedInstOperands,
15689 /* 41879 */ // GIR_Coverage, 4415,
15690 /* 41879 */ GIR_EraseRootFromParent_Done,
15691 /* 41880 */ // Label 1012: @41880
15692 /* 41880 */ GIM_Try, /*On fail goto*//*Label 1013*/ GIMT_Encode4(41903), // Rule ID 4431 //
15693 /* 41885 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
15694 /* 41888 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
15695 /* 41892 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
15696 /* 41896 */ // (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2) => (KXORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
15697 /* 41896 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KXORDkk),
15698 /* 41901 */ GIR_RootConstrainSelectedInstOperands,
15699 /* 41902 */ // GIR_Coverage, 4431,
15700 /* 41902 */ GIR_Done,
15701 /* 41903 */ // Label 1013: @41903
15702 /* 41903 */ GIM_Reject,
15703 /* 41904 */ // Label 1008: @41904
15704 /* 41904 */ GIM_Reject,
15705 /* 41905 */ // Label 833: @41905
15706 /* 41905 */ GIM_Try, /*On fail goto*//*Label 1014*/ GIMT_Encode4(42648),
15707 /* 41910 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
15708 /* 41913 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
15709 /* 41916 */ GIM_Try, /*On fail goto*//*Label 1015*/ GIMT_Encode4(41978), // Rule ID 25318 //
15710 /* 41921 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
15711 /* 41924 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15712 /* 41928 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15713 /* 41932 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15714 /* 41936 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15715 /* 41939 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15716 /* 41943 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15717 /* 41947 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15718 /* 41951 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15719 /* 41953 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15720 /* 41960 */ // (xor:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPXORYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
15721 /* 41960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
15722 /* 41963 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15723 /* 41965 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15724 /* 41967 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15725 /* 41971 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15726 /* 41976 */ GIR_RootConstrainSelectedInstOperands,
15727 /* 41977 */ // GIR_Coverage, 25318,
15728 /* 41977 */ GIR_EraseRootFromParent_Done,
15729 /* 41978 */ // Label 1015: @41978
15730 /* 41978 */ GIM_Try, /*On fail goto*//*Label 1016*/ GIMT_Encode4(42040), // Rule ID 25329 //
15731 /* 41983 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
15732 /* 41986 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15733 /* 41990 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15734 /* 41994 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15735 /* 41998 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15736 /* 42001 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15737 /* 42005 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15738 /* 42009 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15739 /* 42013 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15740 /* 42015 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15741 /* 42022 */ // (xor:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VXORPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
15742 /* 42022 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
15743 /* 42025 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15744 /* 42027 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15745 /* 42029 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15746 /* 42033 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15747 /* 42038 */ GIR_RootConstrainSelectedInstOperands,
15748 /* 42039 */ // GIR_Coverage, 25329,
15749 /* 42039 */ GIR_EraseRootFromParent_Done,
15750 /* 42040 */ // Label 1016: @42040
15751 /* 42040 */ GIM_Try, /*On fail goto*//*Label 1017*/ GIMT_Encode4(42102), // Rule ID 25524 //
15752 /* 42045 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15753 /* 42048 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15754 /* 42052 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15755 /* 42056 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15756 /* 42060 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15757 /* 42063 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15758 /* 42067 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15759 /* 42071 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15760 /* 42075 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15761 /* 42077 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15762 /* 42084 */ // (xor:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPXORQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
15763 /* 42084 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
15764 /* 42087 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15765 /* 42089 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15766 /* 42091 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15767 /* 42095 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15768 /* 42100 */ GIR_RootConstrainSelectedInstOperands,
15769 /* 42101 */ // GIR_Coverage, 25524,
15770 /* 42101 */ GIR_EraseRootFromParent_Done,
15771 /* 42102 */ // Label 1017: @42102
15772 /* 42102 */ GIM_Try, /*On fail goto*//*Label 1018*/ GIMT_Encode4(42164), // Rule ID 18098 //
15773 /* 42107 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
15774 /* 42110 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15775 /* 42114 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15776 /* 42118 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15777 /* 42122 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15778 /* 42126 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15779 /* 42129 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15780 /* 42133 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15781 /* 42137 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15782 /* 42139 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15783 /* 42146 */ // (xor:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
15784 /* 42146 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
15785 /* 42149 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15786 /* 42151 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15787 /* 42153 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15788 /* 42157 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15789 /* 42162 */ GIR_RootConstrainSelectedInstOperands,
15790 /* 42163 */ // GIR_Coverage, 18098,
15791 /* 42163 */ GIR_EraseRootFromParent_Done,
15792 /* 42164 */ // Label 1018: @42164
15793 /* 42164 */ GIM_Try, /*On fail goto*//*Label 1019*/ GIMT_Encode4(42226), // Rule ID 18128 //
15794 /* 42169 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
15795 /* 42172 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15796 /* 42176 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15797 /* 42180 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15798 /* 42184 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15799 /* 42188 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15800 /* 42191 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15801 /* 42195 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15802 /* 42199 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15803 /* 42201 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15804 /* 42208 */ // (xor:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VXORPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
15805 /* 42208 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
15806 /* 42211 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15807 /* 42213 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15808 /* 42215 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15809 /* 42219 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15810 /* 42224 */ GIR_RootConstrainSelectedInstOperands,
15811 /* 42225 */ // GIR_Coverage, 18128,
15812 /* 42225 */ GIR_EraseRootFromParent_Done,
15813 /* 42226 */ // Label 1019: @42226
15814 /* 42226 */ GIM_Try, /*On fail goto*//*Label 1020*/ GIMT_Encode4(42288), // Rule ID 20053 //
15815 /* 42231 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15816 /* 42234 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15817 /* 42238 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15818 /* 42242 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15819 /* 42246 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15820 /* 42250 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15821 /* 42253 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15822 /* 42257 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15823 /* 42261 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15824 /* 42263 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15825 /* 42270 */ // (xor:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
15826 /* 42270 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
15827 /* 42273 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15828 /* 42275 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15829 /* 42277 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15830 /* 42281 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15831 /* 42286 */ GIR_RootConstrainSelectedInstOperands,
15832 /* 42287 */ // GIR_Coverage, 20053,
15833 /* 42287 */ GIR_EraseRootFromParent_Done,
15834 /* 42288 */ // Label 1020: @42288
15835 /* 42288 */ GIM_Try, /*On fail goto*//*Label 1021*/ GIMT_Encode4(42520), // Rule ID 21958 //
15836 /* 42293 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
15837 /* 42296 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15838 /* 42300 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15839 /* 42304 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15840 /* 42308 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15841 /* 42314 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15842 /* 42316 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15843 /* 42318 */ // (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] })
15844 /* 42318 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
15845 /* 42321 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15846 /* 42325 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15847 /* 42330 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
15848 /* 42332 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
15849 /* 42335 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15850 /* 42339 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15851 /* 42344 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
15852 /* 42347 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
15853 /* 42351 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
15854 /* 42354 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15855 /* 42359 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15856 /* 42364 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15857 /* 42369 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
15858 /* 42372 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15859 /* 42376 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15860 /* 42381 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
15861 /* 42383 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
15862 /* 42386 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15863 /* 42390 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15864 /* 42395 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
15865 /* 42398 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
15866 /* 42402 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
15867 /* 42405 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15868 /* 42410 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15869 /* 42415 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15870 /* 42420 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
15871 /* 42423 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15872 /* 42427 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15873 /* 42432 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
15874 /* 42434 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
15875 /* 42437 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15876 /* 42441 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15877 /* 42446 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
15878 /* 42449 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
15879 /* 42453 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
15880 /* 42456 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15881 /* 42461 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15882 /* 42466 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15883 /* 42471 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
15884 /* 42474 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
15885 /* 42478 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15886 /* 42483 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15887 /* 42486 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
15888 /* 42489 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
15889 /* 42492 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
15890 /* 42495 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15891 /* 42497 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15892 /* 42500 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15893 /* 42502 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
15894 /* 42509 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
15895 /* 42514 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15896 /* 42519 */ // GIR_Coverage, 21958,
15897 /* 42519 */ GIR_EraseRootFromParent_Done,
15898 /* 42520 */ // Label 1021: @42520
15899 /* 42520 */ GIM_Try, /*On fail goto*//*Label 1022*/ GIMT_Encode4(42566), // Rule ID 21966 //
15900 /* 42525 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15901 /* 42528 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15902 /* 42532 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15903 /* 42536 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15904 /* 42540 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15905 /* 42546 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15906 /* 42548 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15907 /* 42550 */ // (xor:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, immAllOnesV:{ *:[v32i8] }) => (VPTERNLOGQZ256rri:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, VR256X:{ *:[v32i8] }:$src, VR256X:{ *:[v32i8] }:$src, 15:{ *:[i8] })
15908 /* 42550 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ256rri),
15909 /* 42553 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15910 /* 42555 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15911 /* 42557 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15912 /* 42559 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15913 /* 42561 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
15914 /* 42564 */ GIR_RootConstrainSelectedInstOperands,
15915 /* 42565 */ // GIR_Coverage, 21966,
15916 /* 42565 */ GIR_EraseRootFromParent_Done,
15917 /* 42566 */ // Label 1022: @42566
15918 /* 42566 */ GIM_Try, /*On fail goto*//*Label 1023*/ GIMT_Encode4(42593), // Rule ID 18086 //
15919 /* 42571 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
15920 /* 42574 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15921 /* 42578 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15922 /* 42582 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15923 /* 42586 */ // (xor:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPXORYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
15924 /* 42586 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORYrr),
15925 /* 42591 */ GIR_RootConstrainSelectedInstOperands,
15926 /* 42592 */ // GIR_Coverage, 18086,
15927 /* 42592 */ GIR_Done,
15928 /* 42593 */ // Label 1023: @42593
15929 /* 42593 */ GIM_Try, /*On fail goto*//*Label 1024*/ GIMT_Encode4(42620), // Rule ID 18112 //
15930 /* 42598 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
15931 /* 42601 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15932 /* 42605 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15933 /* 42609 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15934 /* 42613 */ // (xor:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VXORPSYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
15935 /* 42613 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VXORPSYrr),
15936 /* 42618 */ GIR_RootConstrainSelectedInstOperands,
15937 /* 42619 */ // GIR_Coverage, 18112,
15938 /* 42619 */ GIR_Done,
15939 /* 42620 */ // Label 1024: @42620
15940 /* 42620 */ GIM_Try, /*On fail goto*//*Label 1025*/ GIMT_Encode4(42647), // Rule ID 20045 //
15941 /* 42625 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15942 /* 42628 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15943 /* 42632 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15944 /* 42636 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15945 /* 42640 */ // (xor:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPXORQZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
15946 /* 42640 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rr),
15947 /* 42645 */ GIR_RootConstrainSelectedInstOperands,
15948 /* 42646 */ // GIR_Coverage, 20045,
15949 /* 42646 */ GIR_Done,
15950 /* 42647 */ // Label 1025: @42647
15951 /* 42647 */ GIM_Reject,
15952 /* 42648 */ // Label 1014: @42648
15953 /* 42648 */ GIM_Reject,
15954 /* 42649 */ // Label 834: @42649
15955 /* 42649 */ GIM_Try, /*On fail goto*//*Label 1026*/ GIMT_Encode4(42846),
15956 /* 42654 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
15957 /* 42657 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
15958 /* 42660 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15959 /* 42664 */ GIM_Try, /*On fail goto*//*Label 1027*/ GIMT_Encode4(42722), // Rule ID 25531 //
15960 /* 42669 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
15961 /* 42672 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15962 /* 42676 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15963 /* 42680 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15964 /* 42683 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15965 /* 42687 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15966 /* 42691 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15967 /* 42695 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15968 /* 42697 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15969 /* 42704 */ // (xor:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPXORQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
15970 /* 42704 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
15971 /* 42707 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15972 /* 42709 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15973 /* 42711 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15974 /* 42715 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15975 /* 42720 */ GIR_RootConstrainSelectedInstOperands,
15976 /* 42721 */ // GIR_Coverage, 25531,
15977 /* 42721 */ GIR_EraseRootFromParent_Done,
15978 /* 42722 */ // Label 1027: @42722
15979 /* 42722 */ GIM_Try, /*On fail goto*//*Label 1028*/ GIMT_Encode4(42780), // Rule ID 20070 //
15980 /* 42727 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
15981 /* 42730 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15982 /* 42734 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15983 /* 42738 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15984 /* 42742 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15985 /* 42745 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15986 /* 42749 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15987 /* 42753 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15988 /* 42755 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15989 /* 42762 */ // (xor:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
15990 /* 42762 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
15991 /* 42765 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15992 /* 42767 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15993 /* 42769 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15994 /* 42773 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15995 /* 42778 */ GIR_RootConstrainSelectedInstOperands,
15996 /* 42779 */ // GIR_Coverage, 20070,
15997 /* 42779 */ GIR_EraseRootFromParent_Done,
15998 /* 42780 */ // Label 1028: @42780
15999 /* 42780 */ GIM_Try, /*On fail goto*//*Label 1029*/ GIMT_Encode4(42822), // Rule ID 21951 //
16000 /* 42785 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16001 /* 42788 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16002 /* 42792 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16003 /* 42796 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16004 /* 42802 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
16005 /* 42804 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16006 /* 42806 */ // (xor:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, immAllOnesV:{ *:[v32i16] }) => (VPTERNLOGQZrri:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, VR512:{ *:[v32i16] }:$src, VR512:{ *:[v32i16] }:$src, 15:{ *:[i8] })
16007 /* 42806 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
16008 /* 42809 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16009 /* 42811 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16010 /* 42813 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16011 /* 42815 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16012 /* 42817 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
16013 /* 42820 */ GIR_RootConstrainSelectedInstOperands,
16014 /* 42821 */ // GIR_Coverage, 21951,
16015 /* 42821 */ GIR_EraseRootFromParent_Done,
16016 /* 42822 */ // Label 1029: @42822
16017 /* 42822 */ GIM_Try, /*On fail goto*//*Label 1030*/ GIMT_Encode4(42845), // Rule ID 20062 //
16018 /* 42827 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16019 /* 42830 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16020 /* 42834 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16021 /* 42838 */ // (xor:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPXORQZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
16022 /* 42838 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZrr),
16023 /* 42843 */ GIR_RootConstrainSelectedInstOperands,
16024 /* 42844 */ // GIR_Coverage, 20062,
16025 /* 42844 */ GIR_Done,
16026 /* 42845 */ // Label 1030: @42845
16027 /* 42845 */ GIM_Reject,
16028 /* 42846 */ // Label 1026: @42846
16029 /* 42846 */ GIM_Reject,
16030 /* 42847 */ // Label 835: @42847
16031 /* 42847 */ GIM_Try, /*On fail goto*//*Label 1031*/ GIMT_Encode4(43104),
16032 /* 42852 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
16033 /* 42855 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s1,
16034 /* 42858 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
16035 /* 42862 */ GIM_Try, /*On fail goto*//*Label 1032*/ GIMT_Encode4(42922), // Rule ID 23772 //
16036 /* 42867 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
16037 /* 42870 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16038 /* 42874 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
16039 /* 42878 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
16040 /* 42882 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
16041 /* 42886 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
16042 /* 42891 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
16043 /* 42895 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16044 /* 42901 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
16045 /* 42903 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
16046 /* 42907 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
16047 /* 42909 */ // (xor:{ *:[v64i1] } (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, immAllOnesV:{ *:[v64i1] }), VK64:{ *:[v64i1] }:$src2) => (KXNORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
16048 /* 42909 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORQkk),
16049 /* 42912 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16050 /* 42914 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
16051 /* 42918 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
16052 /* 42920 */ GIR_RootConstrainSelectedInstOperands,
16053 /* 42921 */ // GIR_Coverage, 23772,
16054 /* 42921 */ GIR_EraseRootFromParent_Done,
16055 /* 42922 */ // Label 1032: @42922
16056 /* 42922 */ GIM_Try, /*On fail goto*//*Label 1033*/ GIMT_Encode4(42985), // Rule ID 4428 //
16057 /* 42927 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
16058 /* 42930 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16059 /* 42934 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
16060 /* 42938 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
16061 /* 42942 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
16062 /* 42946 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
16063 /* 42951 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
16064 /* 42956 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
16065 /* 42960 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16066 /* 42966 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
16067 /* 42968 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
16068 /* 42970 */ // (xor:{ *:[v64i1] } (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2), immAllOnesV:{ *:[v64i1] }) => (KXNORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
16069 /* 42970 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORQkk),
16070 /* 42973 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16071 /* 42975 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
16072 /* 42979 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
16073 /* 42983 */ GIR_RootConstrainSelectedInstOperands,
16074 /* 42984 */ // GIR_Coverage, 4428,
16075 /* 42984 */ GIR_EraseRootFromParent_Done,
16076 /* 42985 */ // Label 1033: @42985
16077 /* 42985 */ GIM_Try, /*On fail goto*//*Label 1034*/ GIMT_Encode4(43045), // Rule ID 23773 //
16078 /* 42990 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
16079 /* 42993 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
16080 /* 42997 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16081 /* 43001 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
16082 /* 43005 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
16083 /* 43009 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
16084 /* 43013 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
16085 /* 43018 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
16086 /* 43022 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16087 /* 43028 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
16088 /* 43030 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
16089 /* 43032 */ // (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src2, (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, immAllOnesV:{ *:[v64i1] })) => (KXNORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
16090 /* 43032 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORQkk),
16091 /* 43035 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16092 /* 43037 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
16093 /* 43041 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
16094 /* 43043 */ GIR_RootConstrainSelectedInstOperands,
16095 /* 43044 */ // GIR_Coverage, 23773,
16096 /* 43044 */ GIR_EraseRootFromParent_Done,
16097 /* 43045 */ // Label 1034: @43045
16098 /* 43045 */ GIM_Try, /*On fail goto*//*Label 1035*/ GIMT_Encode4(43080), // Rule ID 4416 //
16099 /* 43050 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
16100 /* 43053 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
16101 /* 43057 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16102 /* 43061 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16103 /* 43067 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
16104 /* 43069 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16105 /* 43071 */ // (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src, immAllOnesV:{ *:[v64i1] }) => (KNOTQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src)
16106 /* 43071 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KNOTQkk),
16107 /* 43074 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16108 /* 43076 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16109 /* 43078 */ GIR_RootConstrainSelectedInstOperands,
16110 /* 43079 */ // GIR_Coverage, 4416,
16111 /* 43079 */ GIR_EraseRootFromParent_Done,
16112 /* 43080 */ // Label 1035: @43080
16113 /* 43080 */ GIM_Try, /*On fail goto*//*Label 1036*/ GIMT_Encode4(43103), // Rule ID 4432 //
16114 /* 43085 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
16115 /* 43088 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
16116 /* 43092 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
16117 /* 43096 */ // (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2) => (KXORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
16118 /* 43096 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KXORQkk),
16119 /* 43101 */ GIR_RootConstrainSelectedInstOperands,
16120 /* 43102 */ // GIR_Coverage, 4432,
16121 /* 43102 */ GIR_Done,
16122 /* 43103 */ // Label 1036: @43103
16123 /* 43103 */ GIM_Reject,
16124 /* 43104 */ // Label 1031: @43104
16125 /* 43104 */ GIM_Reject,
16126 /* 43105 */ // Label 836: @43105
16127 /* 43105 */ GIM_Try, /*On fail goto*//*Label 1037*/ GIMT_Encode4(43302),
16128 /* 43110 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
16129 /* 43113 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
16130 /* 43116 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16131 /* 43120 */ GIM_Try, /*On fail goto*//*Label 1038*/ GIMT_Encode4(43178), // Rule ID 25530 //
16132 /* 43125 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16133 /* 43128 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16134 /* 43132 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16135 /* 43136 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16136 /* 43139 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16137 /* 43143 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16138 /* 43147 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16139 /* 43151 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16140 /* 43153 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16141 /* 43160 */ // (xor:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPXORQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16142 /* 43160 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
16143 /* 43163 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16144 /* 43165 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16145 /* 43167 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16146 /* 43171 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16147 /* 43176 */ GIR_RootConstrainSelectedInstOperands,
16148 /* 43177 */ // GIR_Coverage, 25530,
16149 /* 43177 */ GIR_EraseRootFromParent_Done,
16150 /* 43178 */ // Label 1038: @43178
16151 /* 43178 */ GIM_Try, /*On fail goto*//*Label 1039*/ GIMT_Encode4(43236), // Rule ID 20069 //
16152 /* 43183 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16153 /* 43186 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16154 /* 43190 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16155 /* 43194 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16156 /* 43198 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16157 /* 43201 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16158 /* 43205 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16159 /* 43209 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16160 /* 43211 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16161 /* 43218 */ // (xor:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16162 /* 43218 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
16163 /* 43221 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16164 /* 43223 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16165 /* 43225 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16166 /* 43229 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16167 /* 43234 */ GIR_RootConstrainSelectedInstOperands,
16168 /* 43235 */ // GIR_Coverage, 20069,
16169 /* 43235 */ GIR_EraseRootFromParent_Done,
16170 /* 43236 */ // Label 1039: @43236
16171 /* 43236 */ GIM_Try, /*On fail goto*//*Label 1040*/ GIMT_Encode4(43278), // Rule ID 21950 //
16172 /* 43241 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16173 /* 43244 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16174 /* 43248 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16175 /* 43252 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16176 /* 43258 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
16177 /* 43260 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16178 /* 43262 */ // (xor:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, immAllOnesV:{ *:[v64i8] }) => (VPTERNLOGQZrri:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, VR512:{ *:[v64i8] }:$src, VR512:{ *:[v64i8] }:$src, 15:{ *:[i8] })
16179 /* 43262 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
16180 /* 43265 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16181 /* 43267 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16182 /* 43269 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16183 /* 43271 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16184 /* 43273 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
16185 /* 43276 */ GIR_RootConstrainSelectedInstOperands,
16186 /* 43277 */ // GIR_Coverage, 21950,
16187 /* 43277 */ GIR_EraseRootFromParent_Done,
16188 /* 43278 */ // Label 1040: @43278
16189 /* 43278 */ GIM_Try, /*On fail goto*//*Label 1041*/ GIMT_Encode4(43301), // Rule ID 20061 //
16190 /* 43283 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16191 /* 43286 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16192 /* 43290 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16193 /* 43294 */ // (xor:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPXORQZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
16194 /* 43294 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZrr),
16195 /* 43299 */ GIR_RootConstrainSelectedInstOperands,
16196 /* 43300 */ // GIR_Coverage, 20061,
16197 /* 43300 */ GIR_Done,
16198 /* 43301 */ // Label 1041: @43301
16199 /* 43301 */ GIM_Reject,
16200 /* 43302 */ // Label 1037: @43302
16201 /* 43302 */ GIM_Reject,
16202 /* 43303 */ // Label 837: @43303
16203 /* 43303 */ GIM_Reject,
16204 /* 43304 */ // Label 6: @43304
16205 /* 43304 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 1048*/ GIMT_Encode4(44989),
16206 /* 43315 */ /*GILLT_v8s16*//*Label 1042*/ GIMT_Encode4(43363), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
16207 /* 43331 */ /*GILLT_v16s8*//*Label 1043*/ GIMT_Encode4(43705),
16208 /* 43335 */ /*GILLT_v16s16*//*Label 1044*/ GIMT_Encode4(44047), GIMT_Encode4(0), GIMT_Encode4(0),
16209 /* 43347 */ /*GILLT_v32s8*//*Label 1045*/ GIMT_Encode4(44362),
16210 /* 43351 */ /*GILLT_v32s16*//*Label 1046*/ GIMT_Encode4(44677), GIMT_Encode4(0),
16211 /* 43359 */ /*GILLT_v64s8*//*Label 1047*/ GIMT_Encode4(44833),
16212 /* 43363 */ // Label 1042: @43363
16213 /* 43363 */ GIM_Try, /*On fail goto*//*Label 1049*/ GIMT_Encode4(43704),
16214 /* 43368 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
16215 /* 43371 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
16216 /* 43374 */ GIM_Try, /*On fail goto*//*Label 1050*/ GIMT_Encode4(43436), // Rule ID 23559 //
16217 /* 43379 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
16218 /* 43382 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16219 /* 43386 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16220 /* 43390 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16221 /* 43394 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16222 /* 43397 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16223 /* 43401 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16224 /* 43405 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16225 /* 43409 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16226 /* 43411 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16227 /* 43418 */ // (avgceilu:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPAVGWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16228 /* 43418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWrm),
16229 /* 43421 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16230 /* 43423 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16231 /* 43425 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16232 /* 43429 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16233 /* 43434 */ GIR_RootConstrainSelectedInstOperands,
16234 /* 43435 */ // GIR_Coverage, 23559,
16235 /* 43435 */ GIR_EraseRootFromParent_Done,
16236 /* 43436 */ // Label 1050: @43436
16237 /* 43436 */ GIM_Try, /*On fail goto*//*Label 1051*/ GIMT_Encode4(43498), // Rule ID 23946 //
16238 /* 43441 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
16239 /* 43444 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16240 /* 43448 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16241 /* 43452 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16242 /* 43456 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16243 /* 43459 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16244 /* 43463 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16245 /* 43467 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16246 /* 43471 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16247 /* 43473 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16248 /* 43480 */ // (avgceilu:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPAVGWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16249 /* 43480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ128rm),
16250 /* 43483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16251 /* 43485 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16252 /* 43487 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16253 /* 43491 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16254 /* 43496 */ GIR_RootConstrainSelectedInstOperands,
16255 /* 43497 */ // GIR_Coverage, 23946,
16256 /* 43497 */ GIR_EraseRootFromParent_Done,
16257 /* 43498 */ // Label 1051: @43498
16258 /* 43498 */ GIM_Try, /*On fail goto*//*Label 1052*/ GIMT_Encode4(43560), // Rule ID 2667 //
16259 /* 43503 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
16260 /* 43506 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16261 /* 43510 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16262 /* 43514 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16263 /* 43518 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16264 /* 43522 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16265 /* 43525 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16266 /* 43529 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16267 /* 43533 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16268 /* 43535 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16269 /* 43542 */ // (avgceilu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16270 /* 43542 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWrm),
16271 /* 43545 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16272 /* 43547 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16273 /* 43549 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16274 /* 43553 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16275 /* 43558 */ GIR_RootConstrainSelectedInstOperands,
16276 /* 43559 */ // GIR_Coverage, 2667,
16277 /* 43559 */ GIR_EraseRootFromParent_Done,
16278 /* 43560 */ // Label 1052: @43560
16279 /* 43560 */ GIM_Try, /*On fail goto*//*Label 1053*/ GIMT_Encode4(43622), // Rule ID 5102 //
16280 /* 43565 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
16281 /* 43568 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16282 /* 43572 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16283 /* 43576 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16284 /* 43580 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16285 /* 43584 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16286 /* 43587 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16287 /* 43591 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16288 /* 43595 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16289 /* 43597 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16290 /* 43604 */ // (avgceilu:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16291 /* 43604 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ128rm),
16292 /* 43607 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16293 /* 43609 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16294 /* 43611 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16295 /* 43615 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16296 /* 43620 */ GIR_RootConstrainSelectedInstOperands,
16297 /* 43621 */ // GIR_Coverage, 5102,
16298 /* 43621 */ GIR_EraseRootFromParent_Done,
16299 /* 43622 */ // Label 1053: @43622
16300 /* 43622 */ GIM_Try, /*On fail goto*//*Label 1054*/ GIMT_Encode4(43649), // Rule ID 2666 //
16301 /* 43627 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
16302 /* 43630 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16303 /* 43634 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16304 /* 43638 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16305 /* 43642 */ // (avgceilu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPAVGWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
16306 /* 43642 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGWrr),
16307 /* 43647 */ GIR_RootConstrainSelectedInstOperands,
16308 /* 43648 */ // GIR_Coverage, 2666,
16309 /* 43648 */ GIR_Done,
16310 /* 43649 */ // Label 1054: @43649
16311 /* 43649 */ GIM_Try, /*On fail goto*//*Label 1055*/ GIMT_Encode4(43676), // Rule ID 2668 //
16312 /* 43654 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
16313 /* 43657 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16314 /* 43661 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16315 /* 43665 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16316 /* 43669 */ // (avgceilu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PAVGWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
16317 /* 43669 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PAVGWrr),
16318 /* 43674 */ GIR_RootConstrainSelectedInstOperands,
16319 /* 43675 */ // GIR_Coverage, 2668,
16320 /* 43675 */ GIR_Done,
16321 /* 43676 */ // Label 1055: @43676
16322 /* 43676 */ GIM_Try, /*On fail goto*//*Label 1056*/ GIMT_Encode4(43703), // Rule ID 5099 //
16323 /* 43681 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
16324 /* 43684 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16325 /* 43688 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16326 /* 43692 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16327 /* 43696 */ // (avgceilu:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPAVGWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
16328 /* 43696 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ128rr),
16329 /* 43701 */ GIR_RootConstrainSelectedInstOperands,
16330 /* 43702 */ // GIR_Coverage, 5099,
16331 /* 43702 */ GIR_Done,
16332 /* 43703 */ // Label 1056: @43703
16333 /* 43703 */ GIM_Reject,
16334 /* 43704 */ // Label 1049: @43704
16335 /* 43704 */ GIM_Reject,
16336 /* 43705 */ // Label 1043: @43705
16337 /* 43705 */ GIM_Try, /*On fail goto*//*Label 1057*/ GIMT_Encode4(44046),
16338 /* 43710 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
16339 /* 43713 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
16340 /* 43716 */ GIM_Try, /*On fail goto*//*Label 1058*/ GIMT_Encode4(43778), // Rule ID 23556 //
16341 /* 43721 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
16342 /* 43724 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16343 /* 43728 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16344 /* 43732 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16345 /* 43736 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16346 /* 43739 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16347 /* 43743 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16348 /* 43747 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16349 /* 43751 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16350 /* 43753 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16351 /* 43760 */ // (avgceilu:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPAVGBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16352 /* 43760 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBrm),
16353 /* 43763 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16354 /* 43765 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16355 /* 43767 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16356 /* 43771 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16357 /* 43776 */ GIR_RootConstrainSelectedInstOperands,
16358 /* 43777 */ // GIR_Coverage, 23556,
16359 /* 43777 */ GIR_EraseRootFromParent_Done,
16360 /* 43778 */ // Label 1058: @43778
16361 /* 43778 */ GIM_Try, /*On fail goto*//*Label 1059*/ GIMT_Encode4(43840), // Rule ID 23955 //
16362 /* 43783 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
16363 /* 43786 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16364 /* 43790 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16365 /* 43794 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16366 /* 43798 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16367 /* 43801 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16368 /* 43805 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16369 /* 43809 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16370 /* 43813 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16371 /* 43815 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16372 /* 43822 */ // (avgceilu:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPAVGBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16373 /* 43822 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ128rm),
16374 /* 43825 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16375 /* 43827 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16376 /* 43829 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16377 /* 43833 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16378 /* 43838 */ GIR_RootConstrainSelectedInstOperands,
16379 /* 43839 */ // GIR_Coverage, 23955,
16380 /* 43839 */ GIR_EraseRootFromParent_Done,
16381 /* 43840 */ // Label 1059: @43840
16382 /* 43840 */ GIM_Try, /*On fail goto*//*Label 1060*/ GIMT_Encode4(43902), // Rule ID 2661 //
16383 /* 43845 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
16384 /* 43848 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16385 /* 43852 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16386 /* 43856 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16387 /* 43860 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16388 /* 43864 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16389 /* 43867 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16390 /* 43871 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16391 /* 43875 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16392 /* 43877 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16393 /* 43884 */ // (avgceilu:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16394 /* 43884 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBrm),
16395 /* 43887 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16396 /* 43889 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16397 /* 43891 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16398 /* 43895 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16399 /* 43900 */ GIR_RootConstrainSelectedInstOperands,
16400 /* 43901 */ // GIR_Coverage, 2661,
16401 /* 43901 */ GIR_EraseRootFromParent_Done,
16402 /* 43902 */ // Label 1060: @43902
16403 /* 43902 */ GIM_Try, /*On fail goto*//*Label 1061*/ GIMT_Encode4(43964), // Rule ID 5120 //
16404 /* 43907 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
16405 /* 43910 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16406 /* 43914 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16407 /* 43918 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16408 /* 43922 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16409 /* 43926 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16410 /* 43929 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16411 /* 43933 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16412 /* 43937 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16413 /* 43939 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16414 /* 43946 */ // (avgceilu:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16415 /* 43946 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ128rm),
16416 /* 43949 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16417 /* 43951 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16418 /* 43953 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16419 /* 43957 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16420 /* 43962 */ GIR_RootConstrainSelectedInstOperands,
16421 /* 43963 */ // GIR_Coverage, 5120,
16422 /* 43963 */ GIR_EraseRootFromParent_Done,
16423 /* 43964 */ // Label 1061: @43964
16424 /* 43964 */ GIM_Try, /*On fail goto*//*Label 1062*/ GIMT_Encode4(43991), // Rule ID 2660 //
16425 /* 43969 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
16426 /* 43972 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16427 /* 43976 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16428 /* 43980 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16429 /* 43984 */ // (avgceilu:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPAVGBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
16430 /* 43984 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGBrr),
16431 /* 43989 */ GIR_RootConstrainSelectedInstOperands,
16432 /* 43990 */ // GIR_Coverage, 2660,
16433 /* 43990 */ GIR_Done,
16434 /* 43991 */ // Label 1062: @43991
16435 /* 43991 */ GIM_Try, /*On fail goto*//*Label 1063*/ GIMT_Encode4(44018), // Rule ID 2662 //
16436 /* 43996 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
16437 /* 43999 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16438 /* 44003 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16439 /* 44007 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16440 /* 44011 */ // (avgceilu:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PAVGBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
16441 /* 44011 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PAVGBrr),
16442 /* 44016 */ GIR_RootConstrainSelectedInstOperands,
16443 /* 44017 */ // GIR_Coverage, 2662,
16444 /* 44017 */ GIR_Done,
16445 /* 44018 */ // Label 1063: @44018
16446 /* 44018 */ GIM_Try, /*On fail goto*//*Label 1064*/ GIMT_Encode4(44045), // Rule ID 5117 //
16447 /* 44023 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
16448 /* 44026 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16449 /* 44030 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16450 /* 44034 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16451 /* 44038 */ // (avgceilu:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPAVGBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
16452 /* 44038 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ128rr),
16453 /* 44043 */ GIR_RootConstrainSelectedInstOperands,
16454 /* 44044 */ // GIR_Coverage, 5117,
16455 /* 44044 */ GIR_Done,
16456 /* 44045 */ // Label 1064: @44045
16457 /* 44045 */ GIM_Reject,
16458 /* 44046 */ // Label 1057: @44046
16459 /* 44046 */ GIM_Reject,
16460 /* 44047 */ // Label 1044: @44047
16461 /* 44047 */ GIM_Try, /*On fail goto*//*Label 1065*/ GIMT_Encode4(44361),
16462 /* 44052 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
16463 /* 44055 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
16464 /* 44058 */ GIM_Try, /*On fail goto*//*Label 1066*/ GIMT_Encode4(44120), // Rule ID 23561 //
16465 /* 44063 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
16466 /* 44066 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16467 /* 44070 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16468 /* 44074 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16469 /* 44078 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16470 /* 44081 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16471 /* 44085 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16472 /* 44089 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16473 /* 44093 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16474 /* 44095 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16475 /* 44102 */ // (avgceilu:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPAVGWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16476 /* 44102 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWYrm),
16477 /* 44105 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16478 /* 44107 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16479 /* 44109 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16480 /* 44113 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16481 /* 44118 */ GIR_RootConstrainSelectedInstOperands,
16482 /* 44119 */ // GIR_Coverage, 23561,
16483 /* 44119 */ GIR_EraseRootFromParent_Done,
16484 /* 44120 */ // Label 1066: @44120
16485 /* 44120 */ GIM_Try, /*On fail goto*//*Label 1067*/ GIMT_Encode4(44182), // Rule ID 23943 //
16486 /* 44125 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
16487 /* 44128 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16488 /* 44132 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16489 /* 44136 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16490 /* 44140 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16491 /* 44143 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16492 /* 44147 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16493 /* 44151 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16494 /* 44155 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16495 /* 44157 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16496 /* 44164 */ // (avgceilu:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPAVGWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16497 /* 44164 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ256rm),
16498 /* 44167 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16499 /* 44169 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16500 /* 44171 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16501 /* 44175 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16502 /* 44180 */ GIR_RootConstrainSelectedInstOperands,
16503 /* 44181 */ // GIR_Coverage, 23943,
16504 /* 44181 */ GIR_EraseRootFromParent_Done,
16505 /* 44182 */ // Label 1067: @44182
16506 /* 44182 */ GIM_Try, /*On fail goto*//*Label 1068*/ GIMT_Encode4(44244), // Rule ID 2671 //
16507 /* 44187 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
16508 /* 44190 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16509 /* 44194 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16510 /* 44198 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16511 /* 44202 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16512 /* 44206 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16513 /* 44209 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16514 /* 44213 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16515 /* 44217 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16516 /* 44219 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16517 /* 44226 */ // (avgceilu:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16518 /* 44226 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWYrm),
16519 /* 44229 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16520 /* 44231 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16521 /* 44233 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16522 /* 44237 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16523 /* 44242 */ GIR_RootConstrainSelectedInstOperands,
16524 /* 44243 */ // GIR_Coverage, 2671,
16525 /* 44243 */ GIR_EraseRootFromParent_Done,
16526 /* 44244 */ // Label 1068: @44244
16527 /* 44244 */ GIM_Try, /*On fail goto*//*Label 1069*/ GIMT_Encode4(44306), // Rule ID 5096 //
16528 /* 44249 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
16529 /* 44252 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16530 /* 44256 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16531 /* 44260 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16532 /* 44264 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16533 /* 44268 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16534 /* 44271 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16535 /* 44275 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16536 /* 44279 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16537 /* 44281 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16538 /* 44288 */ // (avgceilu:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16539 /* 44288 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ256rm),
16540 /* 44291 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16541 /* 44293 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16542 /* 44295 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16543 /* 44299 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16544 /* 44304 */ GIR_RootConstrainSelectedInstOperands,
16545 /* 44305 */ // GIR_Coverage, 5096,
16546 /* 44305 */ GIR_EraseRootFromParent_Done,
16547 /* 44306 */ // Label 1069: @44306
16548 /* 44306 */ GIM_Try, /*On fail goto*//*Label 1070*/ GIMT_Encode4(44333), // Rule ID 2670 //
16549 /* 44311 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
16550 /* 44314 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16551 /* 44318 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16552 /* 44322 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16553 /* 44326 */ // (avgceilu:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPAVGWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
16554 /* 44326 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGWYrr),
16555 /* 44331 */ GIR_RootConstrainSelectedInstOperands,
16556 /* 44332 */ // GIR_Coverage, 2670,
16557 /* 44332 */ GIR_Done,
16558 /* 44333 */ // Label 1070: @44333
16559 /* 44333 */ GIM_Try, /*On fail goto*//*Label 1071*/ GIMT_Encode4(44360), // Rule ID 5093 //
16560 /* 44338 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
16561 /* 44341 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16562 /* 44345 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16563 /* 44349 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16564 /* 44353 */ // (avgceilu:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPAVGWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
16565 /* 44353 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ256rr),
16566 /* 44358 */ GIR_RootConstrainSelectedInstOperands,
16567 /* 44359 */ // GIR_Coverage, 5093,
16568 /* 44359 */ GIR_Done,
16569 /* 44360 */ // Label 1071: @44360
16570 /* 44360 */ GIM_Reject,
16571 /* 44361 */ // Label 1065: @44361
16572 /* 44361 */ GIM_Reject,
16573 /* 44362 */ // Label 1045: @44362
16574 /* 44362 */ GIM_Try, /*On fail goto*//*Label 1072*/ GIMT_Encode4(44676),
16575 /* 44367 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
16576 /* 44370 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
16577 /* 44373 */ GIM_Try, /*On fail goto*//*Label 1073*/ GIMT_Encode4(44435), // Rule ID 23558 //
16578 /* 44378 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
16579 /* 44381 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16580 /* 44385 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16581 /* 44389 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16582 /* 44393 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16583 /* 44396 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16584 /* 44400 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16585 /* 44404 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16586 /* 44408 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16587 /* 44410 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16588 /* 44417 */ // (avgceilu:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPAVGBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16589 /* 44417 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBYrm),
16590 /* 44420 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16591 /* 44422 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16592 /* 44424 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16593 /* 44428 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16594 /* 44433 */ GIR_RootConstrainSelectedInstOperands,
16595 /* 44434 */ // GIR_Coverage, 23558,
16596 /* 44434 */ GIR_EraseRootFromParent_Done,
16597 /* 44435 */ // Label 1073: @44435
16598 /* 44435 */ GIM_Try, /*On fail goto*//*Label 1074*/ GIMT_Encode4(44497), // Rule ID 23952 //
16599 /* 44440 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
16600 /* 44443 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16601 /* 44447 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16602 /* 44451 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16603 /* 44455 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16604 /* 44458 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16605 /* 44462 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16606 /* 44466 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16607 /* 44470 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16608 /* 44472 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16609 /* 44479 */ // (avgceilu:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPAVGBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16610 /* 44479 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ256rm),
16611 /* 44482 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16612 /* 44484 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16613 /* 44486 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16614 /* 44490 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16615 /* 44495 */ GIR_RootConstrainSelectedInstOperands,
16616 /* 44496 */ // GIR_Coverage, 23952,
16617 /* 44496 */ GIR_EraseRootFromParent_Done,
16618 /* 44497 */ // Label 1074: @44497
16619 /* 44497 */ GIM_Try, /*On fail goto*//*Label 1075*/ GIMT_Encode4(44559), // Rule ID 2665 //
16620 /* 44502 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
16621 /* 44505 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16622 /* 44509 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16623 /* 44513 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16624 /* 44517 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16625 /* 44521 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16626 /* 44524 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16627 /* 44528 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16628 /* 44532 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16629 /* 44534 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16630 /* 44541 */ // (avgceilu:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16631 /* 44541 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBYrm),
16632 /* 44544 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16633 /* 44546 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16634 /* 44548 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16635 /* 44552 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16636 /* 44557 */ GIR_RootConstrainSelectedInstOperands,
16637 /* 44558 */ // GIR_Coverage, 2665,
16638 /* 44558 */ GIR_EraseRootFromParent_Done,
16639 /* 44559 */ // Label 1075: @44559
16640 /* 44559 */ GIM_Try, /*On fail goto*//*Label 1076*/ GIMT_Encode4(44621), // Rule ID 5114 //
16641 /* 44564 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
16642 /* 44567 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16643 /* 44571 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16644 /* 44575 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16645 /* 44579 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16646 /* 44583 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16647 /* 44586 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16648 /* 44590 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16649 /* 44594 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16650 /* 44596 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16651 /* 44603 */ // (avgceilu:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16652 /* 44603 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ256rm),
16653 /* 44606 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16654 /* 44608 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16655 /* 44610 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16656 /* 44614 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16657 /* 44619 */ GIR_RootConstrainSelectedInstOperands,
16658 /* 44620 */ // GIR_Coverage, 5114,
16659 /* 44620 */ GIR_EraseRootFromParent_Done,
16660 /* 44621 */ // Label 1076: @44621
16661 /* 44621 */ GIM_Try, /*On fail goto*//*Label 1077*/ GIMT_Encode4(44648), // Rule ID 2664 //
16662 /* 44626 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
16663 /* 44629 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16664 /* 44633 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16665 /* 44637 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16666 /* 44641 */ // (avgceilu:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPAVGBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
16667 /* 44641 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGBYrr),
16668 /* 44646 */ GIR_RootConstrainSelectedInstOperands,
16669 /* 44647 */ // GIR_Coverage, 2664,
16670 /* 44647 */ GIR_Done,
16671 /* 44648 */ // Label 1077: @44648
16672 /* 44648 */ GIM_Try, /*On fail goto*//*Label 1078*/ GIMT_Encode4(44675), // Rule ID 5111 //
16673 /* 44653 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
16674 /* 44656 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16675 /* 44660 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16676 /* 44664 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16677 /* 44668 */ // (avgceilu:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPAVGBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
16678 /* 44668 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ256rr),
16679 /* 44673 */ GIR_RootConstrainSelectedInstOperands,
16680 /* 44674 */ // GIR_Coverage, 5111,
16681 /* 44674 */ GIR_Done,
16682 /* 44675 */ // Label 1078: @44675
16683 /* 44675 */ GIM_Reject,
16684 /* 44676 */ // Label 1072: @44676
16685 /* 44676 */ GIM_Reject,
16686 /* 44677 */ // Label 1046: @44677
16687 /* 44677 */ GIM_Try, /*On fail goto*//*Label 1079*/ GIMT_Encode4(44832),
16688 /* 44682 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
16689 /* 44685 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
16690 /* 44688 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16691 /* 44692 */ GIM_Try, /*On fail goto*//*Label 1080*/ GIMT_Encode4(44750), // Rule ID 23940 //
16692 /* 44697 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
16693 /* 44700 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16694 /* 44704 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16695 /* 44708 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16696 /* 44711 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16697 /* 44715 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16698 /* 44719 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16699 /* 44723 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16700 /* 44725 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16701 /* 44732 */ // (avgceilu:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPAVGWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16702 /* 44732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZrm),
16703 /* 44735 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16704 /* 44737 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16705 /* 44739 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16706 /* 44743 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16707 /* 44748 */ GIR_RootConstrainSelectedInstOperands,
16708 /* 44749 */ // GIR_Coverage, 23940,
16709 /* 44749 */ GIR_EraseRootFromParent_Done,
16710 /* 44750 */ // Label 1080: @44750
16711 /* 44750 */ GIM_Try, /*On fail goto*//*Label 1081*/ GIMT_Encode4(44808), // Rule ID 5090 //
16712 /* 44755 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
16713 /* 44758 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16714 /* 44762 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16715 /* 44766 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16716 /* 44770 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16717 /* 44773 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16718 /* 44777 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16719 /* 44781 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16720 /* 44783 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16721 /* 44790 */ // (avgceilu:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16722 /* 44790 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZrm),
16723 /* 44793 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16724 /* 44795 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16725 /* 44797 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16726 /* 44801 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16727 /* 44806 */ GIR_RootConstrainSelectedInstOperands,
16728 /* 44807 */ // GIR_Coverage, 5090,
16729 /* 44807 */ GIR_EraseRootFromParent_Done,
16730 /* 44808 */ // Label 1081: @44808
16731 /* 44808 */ GIM_Try, /*On fail goto*//*Label 1082*/ GIMT_Encode4(44831), // Rule ID 5087 //
16732 /* 44813 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
16733 /* 44816 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16734 /* 44820 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16735 /* 44824 */ // (avgceilu:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPAVGWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
16736 /* 44824 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGWZrr),
16737 /* 44829 */ GIR_RootConstrainSelectedInstOperands,
16738 /* 44830 */ // GIR_Coverage, 5087,
16739 /* 44830 */ GIR_Done,
16740 /* 44831 */ // Label 1082: @44831
16741 /* 44831 */ GIM_Reject,
16742 /* 44832 */ // Label 1079: @44832
16743 /* 44832 */ GIM_Reject,
16744 /* 44833 */ // Label 1047: @44833
16745 /* 44833 */ GIM_Try, /*On fail goto*//*Label 1083*/ GIMT_Encode4(44988),
16746 /* 44838 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
16747 /* 44841 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
16748 /* 44844 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16749 /* 44848 */ GIM_Try, /*On fail goto*//*Label 1084*/ GIMT_Encode4(44906), // Rule ID 23949 //
16750 /* 44853 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
16751 /* 44856 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16752 /* 44860 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16753 /* 44864 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16754 /* 44867 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16755 /* 44871 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16756 /* 44875 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16757 /* 44879 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16758 /* 44881 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16759 /* 44888 */ // (avgceilu:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPAVGBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16760 /* 44888 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZrm),
16761 /* 44891 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16762 /* 44893 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16763 /* 44895 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16764 /* 44899 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16765 /* 44904 */ GIR_RootConstrainSelectedInstOperands,
16766 /* 44905 */ // GIR_Coverage, 23949,
16767 /* 44905 */ GIR_EraseRootFromParent_Done,
16768 /* 44906 */ // Label 1084: @44906
16769 /* 44906 */ GIM_Try, /*On fail goto*//*Label 1085*/ GIMT_Encode4(44964), // Rule ID 5108 //
16770 /* 44911 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
16771 /* 44914 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16772 /* 44918 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16773 /* 44922 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16774 /* 44926 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16775 /* 44929 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16776 /* 44933 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16777 /* 44937 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16778 /* 44939 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16779 /* 44946 */ // (avgceilu:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16780 /* 44946 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZrm),
16781 /* 44949 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16782 /* 44951 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16783 /* 44953 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16784 /* 44957 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16785 /* 44962 */ GIR_RootConstrainSelectedInstOperands,
16786 /* 44963 */ // GIR_Coverage, 5108,
16787 /* 44963 */ GIR_EraseRootFromParent_Done,
16788 /* 44964 */ // Label 1085: @44964
16789 /* 44964 */ GIM_Try, /*On fail goto*//*Label 1086*/ GIMT_Encode4(44987), // Rule ID 5105 //
16790 /* 44969 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
16791 /* 44972 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16792 /* 44976 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16793 /* 44980 */ // (avgceilu:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPAVGBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
16794 /* 44980 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGBZrr),
16795 /* 44985 */ GIR_RootConstrainSelectedInstOperands,
16796 /* 44986 */ // GIR_Coverage, 5105,
16797 /* 44986 */ GIR_Done,
16798 /* 44987 */ // Label 1086: @44987
16799 /* 44987 */ GIM_Reject,
16800 /* 44988 */ // Label 1083: @44988
16801 /* 44988 */ GIM_Reject,
16802 /* 44989 */ // Label 1048: @44989
16803 /* 44989 */ GIM_Reject,
16804 /* 44990 */ // Label 7: @44990
16805 /* 44990 */ GIM_Try, /*On fail goto*//*Label 1087*/ GIMT_Encode4(45156),
16806 /* 44995 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/3,
16807 /* 44998 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(16), GIMT_Encode2(24), /*)*//*default:*//*Label 1091*/ GIMT_Encode4(45155),
16808 /* 45009 */ /*GILLT_v16s1*//*Label 1088*/ GIMT_Encode4(45041), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
16809 /* 45025 */ /*GILLT_v32s1*//*Label 1089*/ GIMT_Encode4(45079), GIMT_Encode4(0), GIMT_Encode4(0),
16810 /* 45037 */ /*GILLT_v64s1*//*Label 1090*/ GIMT_Encode4(45117),
16811 /* 45041 */ // Label 1088: @45041
16812 /* 45041 */ GIM_Try, /*On fail goto*//*Label 1092*/ GIMT_Encode4(45078), // Rule ID 19501 //
16813 /* 45046 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16814 /* 45049 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
16815 /* 45052 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
16816 /* 45055 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16817 /* 45059 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
16818 /* 45063 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
16819 /* 45067 */ // (concat_vectors:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2) => (KUNPCKBWkk:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src2, VK8:{ *:[v8i1] }:$src1)
16820 /* 45067 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KUNPCKBWkk),
16821 /* 45070 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16822 /* 45072 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
16823 /* 45074 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16824 /* 45076 */ GIR_RootConstrainSelectedInstOperands,
16825 /* 45077 */ // GIR_Coverage, 19501,
16826 /* 45077 */ GIR_EraseRootFromParent_Done,
16827 /* 45078 */ // Label 1092: @45078
16828 /* 45078 */ GIM_Reject,
16829 /* 45079 */ // Label 1089: @45079
16830 /* 45079 */ GIM_Try, /*On fail goto*//*Label 1093*/ GIMT_Encode4(45116), // Rule ID 19502 //
16831 /* 45084 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
16832 /* 45087 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
16833 /* 45090 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
16834 /* 45093 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
16835 /* 45097 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16836 /* 45101 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16837 /* 45105 */ // (concat_vectors:{ *:[v32i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2) => (KUNPCKWDkk:{ *:[v32i1] } VK16:{ *:[v16i1] }:$src2, VK16:{ *:[v16i1] }:$src1)
16838 /* 45105 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KUNPCKWDkk),
16839 /* 45108 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16840 /* 45110 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
16841 /* 45112 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16842 /* 45114 */ GIR_RootConstrainSelectedInstOperands,
16843 /* 45115 */ // GIR_Coverage, 19502,
16844 /* 45115 */ GIR_EraseRootFromParent_Done,
16845 /* 45116 */ // Label 1093: @45116
16846 /* 45116 */ GIM_Reject,
16847 /* 45117 */ // Label 1090: @45117
16848 /* 45117 */ GIM_Try, /*On fail goto*//*Label 1094*/ GIMT_Encode4(45154), // Rule ID 19503 //
16849 /* 45122 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
16850 /* 45125 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
16851 /* 45128 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
16852 /* 45131 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
16853 /* 45135 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
16854 /* 45139 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
16855 /* 45143 */ // (concat_vectors:{ *:[v64i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2) => (KUNPCKDQkk:{ *:[v64i1] } VK32:{ *:[v32i1] }:$src2, VK32:{ *:[v32i1] }:$src1)
16856 /* 45143 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KUNPCKDQkk),
16857 /* 45146 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16858 /* 45148 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
16859 /* 45150 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16860 /* 45152 */ GIR_RootConstrainSelectedInstOperands,
16861 /* 45153 */ // GIR_Coverage, 19503,
16862 /* 45153 */ GIR_EraseRootFromParent_Done,
16863 /* 45154 */ // Label 1094: @45154
16864 /* 45154 */ GIM_Reject,
16865 /* 45155 */ // Label 1091: @45155
16866 /* 45155 */ GIM_Reject,
16867 /* 45156 */ // Label 1087: @45156
16868 /* 45156 */ GIM_Reject,
16869 /* 45157 */ // Label 8: @45157
16870 /* 45157 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(24), /*)*//*default:*//*Label 1103*/ GIMT_Encode4(47792),
16871 /* 45168 */ /*GILLT_s8*//*Label 1095*/ GIMT_Encode4(45260),
16872 /* 45172 */ /*GILLT_s16*//*Label 1096*/ GIMT_Encode4(45321),
16873 /* 45176 */ /*GILLT_s32*//*Label 1097*/ GIMT_Encode4(46151),
16874 /* 45180 */ /*GILLT_s64*//*Label 1098*/ GIMT_Encode4(46577), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
16875 /* 45212 */ /*GILLT_v8s1*//*Label 1099*/ GIMT_Encode4(47003), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
16876 /* 45228 */ /*GILLT_v16s1*//*Label 1100*/ GIMT_Encode4(47190), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
16877 /* 45244 */ /*GILLT_v32s1*//*Label 1101*/ GIMT_Encode4(47377), GIMT_Encode4(0), GIMT_Encode4(0),
16878 /* 45256 */ /*GILLT_v64s1*//*Label 1102*/ GIMT_Encode4(47561),
16879 /* 45260 */ // Label 1095: @45260
16880 /* 45260 */ GIM_Try, /*On fail goto*//*Label 1104*/ GIMT_Encode4(45320), // Rule ID 19432 //
16881 /* 45265 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
16882 /* 45268 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
16883 /* 45272 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
16884 /* 45276 */ // (bitconvert:{ *:[i8] } VK8:{ *:[v8i1] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } (COPY_TO_REGCLASS:{ *:[i32] } VK8:{ *:[v8i1] }:$src, GR32:{ *:[i32] }), sub_8bit:{ *:[i32] })
16885 /* 45276 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
16886 /* 45279 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16887 /* 45283 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16888 /* 45288 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
16889 /* 45292 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
16890 /* 45297 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16891 /* 45300 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16892 /* 45302 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
16893 /* 45309 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
16894 /* 45314 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
16895 /* 45319 */ // GIR_Coverage, 19432,
16896 /* 45319 */ GIR_EraseRootFromParent_Done,
16897 /* 45320 */ // Label 1104: @45320
16898 /* 45320 */ GIM_Reject,
16899 /* 45321 */ // Label 1096: @45321
16900 /* 45321 */ GIM_Try, /*On fail goto*//*Label 1105*/ GIMT_Encode4(45381), // Rule ID 19429 //
16901 /* 45326 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
16902 /* 45329 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
16903 /* 45333 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16904 /* 45337 */ // (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (COPY_TO_REGCLASS:{ *:[i32] } VK16:{ *:[v16i1] }:$src, GR32:{ *:[i32] }), sub_16bit:{ *:[i32] })
16905 /* 45337 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
16906 /* 45340 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16907 /* 45344 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16908 /* 45349 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
16909 /* 45353 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
16910 /* 45358 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16911 /* 45361 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16912 /* 45363 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
16913 /* 45370 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
16914 /* 45375 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
16915 /* 45380 */ // GIR_Coverage, 19429,
16916 /* 45380 */ GIR_EraseRootFromParent_Done,
16917 /* 45381 */ // Label 1105: @45381
16918 /* 45381 */ GIM_Try, /*On fail goto*//*Label 1106*/ GIMT_Encode4(45482), // Rule ID 22201 //
16919 /* 45386 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
16920 /* 45389 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
16921 /* 45392 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
16922 /* 45396 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
16923 /* 45400 */ // (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] })
16924 /* 45400 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s32,
16925 /* 45403 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16926 /* 45407 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16927 /* 45412 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
16928 /* 45414 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
16929 /* 45417 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16930 /* 45421 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16931 /* 45426 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
16932 /* 45429 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
16933 /* 45433 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/4,
16934 /* 45436 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
16935 /* 45441 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
16936 /* 45446 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
16937 /* 45451 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
16938 /* 45454 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVW2SHrr),
16939 /* 45458 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16940 /* 45463 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
16941 /* 45466 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16942 /* 45468 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16943 /* 45471 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16944 /* 45473 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
16945 /* 45476 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
16946 /* 45481 */ // GIR_Coverage, 22201,
16947 /* 45481 */ GIR_EraseRootFromParent_Done,
16948 /* 45482 */ // Label 1106: @45482
16949 /* 45482 */ GIM_Try, /*On fail goto*//*Label 1107*/ GIMT_Encode4(45562), // Rule ID 22214 //
16950 /* 45487 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
16951 /* 45490 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
16952 /* 45493 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
16953 /* 45497 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
16954 /* 45501 */ // (bitconvert:{ *:[i16] } FR16X:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (VMOVSH2Wrr:{ *:[i32] } (COPY_TO_REGCLASS:{ *:[f128] } FR16X:{ *:[f16] }:$src, VR128X:{ *:[i32] })), sub_16bit:{ *:[i32] })
16955 /* 45501 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s128,
16956 /* 45504 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16957 /* 45508 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16958 /* 45513 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
16959 /* 45517 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR128XRegClassID),
16960 /* 45522 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
16961 /* 45525 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVSH2Wrr),
16962 /* 45529 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16963 /* 45534 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
16964 /* 45537 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16965 /* 45539 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16966 /* 45542 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16967 /* 45544 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
16968 /* 45551 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
16969 /* 45556 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
16970 /* 45561 */ // GIR_Coverage, 22214,
16971 /* 45561 */ GIR_EraseRootFromParent_Done,
16972 /* 45562 */ // Label 1107: @45562
16973 /* 45562 */ GIM_Try, /*On fail goto*//*Label 1108*/ GIMT_Encode4(45641), // Rule ID 18330 //
16974 /* 45567 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoBWI),
16975 /* 45570 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
16976 /* 45573 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
16977 /* 45577 */ // (bitconvert:{ *:[i16] } f16:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (VPEXTRWrri:{ *:[i32] } (COPY_TO_REGCLASS:{ *:[v8i16] } FR16:{ *:[f16] }:$src, VR128:{ *:[i32] }), 0:{ *:[i8] }), sub_16bit:{ *:[i32] })
16978 /* 45577 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
16979 /* 45580 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16980 /* 45584 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16981 /* 45589 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
16982 /* 45593 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
16983 /* 45598 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
16984 /* 45601 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPEXTRWrri),
16985 /* 45605 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16986 /* 45610 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
16987 /* 45613 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
16988 /* 45616 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16989 /* 45618 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16990 /* 45621 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16991 /* 45623 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
16992 /* 45630 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
16993 /* 45635 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
16994 /* 45640 */ // GIR_Coverage, 18330,
16995 /* 45640 */ GIR_EraseRootFromParent_Done,
16996 /* 45641 */ // Label 1108: @45641
16997 /* 45641 */ GIM_Try, /*On fail goto*//*Label 1109*/ GIMT_Encode4(45758), // Rule ID 18331 //
16998 /* 45646 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoBWI),
16999 /* 45649 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17000 /* 45652 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
17001 /* 45656 */ // (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] })
17002 /* 45656 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_s32,
17003 /* 45659 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17004 /* 45663 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17005 /* 45668 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
17006 /* 45670 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s32,
17007 /* 45673 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
17008 /* 45677 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17009 /* 45682 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
17010 /* 45685 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src
17011 /* 45689 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/4,
17012 /* 45692 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17013 /* 45697 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17014 /* 45702 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
17015 /* 45707 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
17016 /* 45710 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17017 /* 45714 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17018 /* 45719 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
17019 /* 45721 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
17020 /* 45724 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPINSRWrri),
17021 /* 45728 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17022 /* 45733 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17023 /* 45736 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
17024 /* 45739 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
17025 /* 45742 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17026 /* 45744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17027 /* 45747 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17028 /* 45749 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17029 /* 45752 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
17030 /* 45757 */ // GIR_Coverage, 18331,
17031 /* 45757 */ GIR_EraseRootFromParent_Done,
17032 /* 45758 */ // Label 1109: @45758
17033 /* 45758 */ GIM_Try, /*On fail goto*//*Label 1110*/ GIMT_Encode4(45837), // Rule ID 18327 //
17034 /* 45763 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
17035 /* 45766 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17036 /* 45769 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
17037 /* 45773 */ // (bitconvert:{ *:[i16] } f16:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (PEXTRWrri:{ *:[i32] } (COPY_TO_REGCLASS:{ *:[v8i16] } FR16:{ *:[f16] }:$src, VR128:{ *:[i32] }), 0:{ *:[i8] }), sub_16bit:{ *:[i32] })
17038 /* 45773 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
17039 /* 45776 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17040 /* 45780 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17041 /* 45785 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
17042 /* 45789 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
17043 /* 45794 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17044 /* 45797 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::PEXTRWrri),
17045 /* 45801 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17046 /* 45806 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17047 /* 45809 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
17048 /* 45812 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17049 /* 45814 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17050 /* 45817 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17051 /* 45819 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
17052 /* 45826 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
17053 /* 45831 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
17054 /* 45836 */ // GIR_Coverage, 18327,
17055 /* 45836 */ GIR_EraseRootFromParent_Done,
17056 /* 45837 */ // Label 1110: @45837
17057 /* 45837 */ GIM_Try, /*On fail goto*//*Label 1111*/ GIMT_Encode4(45954), // Rule ID 18328 //
17058 /* 45842 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
17059 /* 45845 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17060 /* 45848 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
17061 /* 45852 */ // (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] })
17062 /* 45852 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_s32,
17063 /* 45855 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17064 /* 45859 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17065 /* 45864 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
17066 /* 45866 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s32,
17067 /* 45869 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
17068 /* 45873 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17069 /* 45878 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
17070 /* 45881 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src
17071 /* 45885 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/4,
17072 /* 45888 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17073 /* 45893 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17074 /* 45898 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
17075 /* 45903 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
17076 /* 45906 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17077 /* 45910 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17078 /* 45915 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
17079 /* 45917 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
17080 /* 45920 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::PINSRWrri),
17081 /* 45924 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17082 /* 45929 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17083 /* 45932 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
17084 /* 45935 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
17085 /* 45938 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17086 /* 45940 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17087 /* 45943 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17088 /* 45945 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17089 /* 45948 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
17090 /* 45953 */ // GIR_Coverage, 18328,
17091 /* 45953 */ GIR_EraseRootFromParent_Done,
17092 /* 45954 */ // Label 1111: @45954
17093 /* 45954 */ GIM_Try, /*On fail goto*//*Label 1112*/ GIMT_Encode4(46033), // Rule ID 21852 //
17094 /* 45959 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17095 /* 45962 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17096 /* 45965 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
17097 /* 45969 */ // (bitconvert:{ *:[i16] } f16:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (VPEXTRWZrri:{ *:[i32] } (COPY_TO_REGCLASS:{ *:[v8i16] } FR16X:{ *:[f16] }:$src, VR128X:{ *:[i32] }), 0:{ *:[i8] }), sub_16bit:{ *:[i32] })
17098 /* 45969 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
17099 /* 45972 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17100 /* 45976 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17101 /* 45981 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
17102 /* 45985 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR128XRegClassID),
17103 /* 45990 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17104 /* 45993 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPEXTRWZrri),
17105 /* 45997 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17106 /* 46002 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17107 /* 46005 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
17108 /* 46008 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17109 /* 46010 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17110 /* 46013 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17111 /* 46015 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
17112 /* 46022 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
17113 /* 46027 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
17114 /* 46032 */ // GIR_Coverage, 21852,
17115 /* 46032 */ GIR_EraseRootFromParent_Done,
17116 /* 46033 */ // Label 1112: @46033
17117 /* 46033 */ GIM_Try, /*On fail goto*//*Label 1113*/ GIMT_Encode4(46150), // Rule ID 21853 //
17118 /* 46038 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17119 /* 46041 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17120 /* 46044 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
17121 /* 46048 */ // (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] })
17122 /* 46048 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_s32,
17123 /* 46051 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17124 /* 46055 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17125 /* 46060 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
17126 /* 46062 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s32,
17127 /* 46065 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
17128 /* 46069 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17129 /* 46074 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
17130 /* 46077 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src
17131 /* 46081 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/4,
17132 /* 46084 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17133 /* 46089 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17134 /* 46094 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
17135 /* 46099 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
17136 /* 46102 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17137 /* 46106 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17138 /* 46111 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
17139 /* 46113 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
17140 /* 46116 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPINSRWZrri),
17141 /* 46120 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17142 /* 46125 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17143 /* 46128 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
17144 /* 46131 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
17145 /* 46134 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17146 /* 46136 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17147 /* 46139 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17148 /* 46141 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17149 /* 46144 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
17150 /* 46149 */ // GIR_Coverage, 21853,
17151 /* 46149 */ GIR_EraseRootFromParent_Done,
17152 /* 46150 */ // Label 1113: @46150
17153 /* 46150 */ GIM_Reject,
17154 /* 46151 */ // Label 1097: @46151
17155 /* 46151 */ GIM_Try, /*On fail goto*//*Label 1114*/ GIMT_Encode4(46217), // Rule ID 22592 //
17156 /* 46156 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
17157 /* 46159 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17158 /* 46162 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
17159 /* 46166 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17160 /* 46170 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17161 /* 46174 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
17162 /* 46177 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17163 /* 46181 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
17164 /* 46188 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17165 /* 46192 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17166 /* 46194 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17167 /* 46201 */ // (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)
17168 /* 46201 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSSrm_alt),
17169 /* 46204 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17170 /* 46206 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17171 /* 46210 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17172 /* 46215 */ GIR_RootConstrainSelectedInstOperands,
17173 /* 46216 */ // GIR_Coverage, 22592,
17174 /* 46216 */ GIR_EraseRootFromParent_Done,
17175 /* 46217 */ // Label 1114: @46217
17176 /* 46217 */ GIM_Try, /*On fail goto*//*Label 1115*/ GIMT_Encode4(46283), // Rule ID 22593 //
17177 /* 46222 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
17178 /* 46225 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17179 /* 46228 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
17180 /* 46232 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17181 /* 46236 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17182 /* 46240 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
17183 /* 46243 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17184 /* 46247 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
17185 /* 46254 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17186 /* 46258 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17187 /* 46260 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17188 /* 46267 */ // (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)
17189 /* 46267 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSrm_alt),
17190 /* 46270 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17191 /* 46272 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17192 /* 46276 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17193 /* 46281 */ GIR_RootConstrainSelectedInstOperands,
17194 /* 46282 */ // GIR_Coverage, 22593,
17195 /* 46282 */ GIR_EraseRootFromParent_Done,
17196 /* 46283 */ // Label 1115: @46283
17197 /* 46283 */ GIM_Try, /*On fail goto*//*Label 1116*/ GIMT_Encode4(46349), // Rule ID 22594 //
17198 /* 46288 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17199 /* 46291 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17200 /* 46294 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
17201 /* 46298 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17202 /* 46302 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17203 /* 46306 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
17204 /* 46309 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17205 /* 46313 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
17206 /* 46320 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17207 /* 46324 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17208 /* 46326 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17209 /* 46333 */ // (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)
17210 /* 46333 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSZrm_alt),
17211 /* 46336 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17212 /* 46338 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17213 /* 46342 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17214 /* 46347 */ GIR_RootConstrainSelectedInstOperands,
17215 /* 46348 */ // GIR_Coverage, 22594,
17216 /* 46348 */ GIR_EraseRootFromParent_Done,
17217 /* 46349 */ // Label 1116: @46349
17218 /* 46349 */ GIM_Try, /*On fail goto*//*Label 1117*/ GIMT_Encode4(46375), // Rule ID 2915 //
17219 /* 46354 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
17220 /* 46357 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17221 /* 46360 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
17222 /* 46364 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17223 /* 46368 */ // (bitconvert:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VMOVDI2SSrr:{ *:[f32] } GR32:{ *:[i32] }:$src)
17224 /* 46368 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVDI2SSrr),
17225 /* 46373 */ GIR_RootConstrainSelectedInstOperands,
17226 /* 46374 */ // GIR_Coverage, 2915,
17227 /* 46374 */ GIR_Done,
17228 /* 46375 */ // Label 1117: @46375
17229 /* 46375 */ GIM_Try, /*On fail goto*//*Label 1118*/ GIMT_Encode4(46401), // Rule ID 2916 //
17230 /* 46380 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
17231 /* 46383 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17232 /* 46386 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
17233 /* 46390 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17234 /* 46394 */ // (bitconvert:{ *:[f32] } GR32:{ *:[i32] }:$src) => (MOVDI2SSrr:{ *:[f32] } GR32:{ *:[i32] }:$src)
17235 /* 46394 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVDI2SSrr),
17236 /* 46399 */ GIR_RootConstrainSelectedInstOperands,
17237 /* 46400 */ // GIR_Coverage, 2916,
17238 /* 46400 */ GIR_Done,
17239 /* 46401 */ // Label 1118: @46401
17240 /* 46401 */ GIM_Try, /*On fail goto*//*Label 1119*/ GIMT_Encode4(46427), // Rule ID 2925 //
17241 /* 46406 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
17242 /* 46409 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17243 /* 46412 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17244 /* 46416 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
17245 /* 46420 */ // (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src) => (VMOVSS2DIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
17246 /* 46420 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVSS2DIrr),
17247 /* 46425 */ GIR_RootConstrainSelectedInstOperands,
17248 /* 46426 */ // GIR_Coverage, 2925,
17249 /* 46426 */ GIR_Done,
17250 /* 46427 */ // Label 1119: @46427
17251 /* 46427 */ GIM_Try, /*On fail goto*//*Label 1120*/ GIMT_Encode4(46453), // Rule ID 2926 //
17252 /* 46432 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
17253 /* 46435 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17254 /* 46438 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17255 /* 46442 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
17256 /* 46446 */ // (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src) => (MOVSS2DIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
17257 /* 46446 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSS2DIrr),
17258 /* 46451 */ GIR_RootConstrainSelectedInstOperands,
17259 /* 46452 */ // GIR_Coverage, 2926,
17260 /* 46452 */ GIR_Done,
17261 /* 46453 */ // Label 1120: @46453
17262 /* 46453 */ GIM_Try, /*On fail goto*//*Label 1121*/ GIMT_Encode4(46479), // Rule ID 4602 //
17263 /* 46458 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17264 /* 46461 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17265 /* 46464 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
17266 /* 46468 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17267 /* 46472 */ // (bitconvert:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VMOVDI2SSZrr:{ *:[f32] } GR32:{ *:[i32] }:$src)
17268 /* 46472 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVDI2SSZrr),
17269 /* 46477 */ GIR_RootConstrainSelectedInstOperands,
17270 /* 46478 */ // GIR_Coverage, 4602,
17271 /* 46478 */ GIR_Done,
17272 /* 46479 */ // Label 1121: @46479
17273 /* 46479 */ GIM_Try, /*On fail goto*//*Label 1122*/ GIMT_Encode4(46505), // Rule ID 4607 //
17274 /* 46484 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17275 /* 46487 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17276 /* 46490 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17277 /* 46494 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
17278 /* 46498 */ // (bitconvert:{ *:[i32] } FR32X:{ *:[f32] }:$src) => (VMOVSS2DIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src)
17279 /* 46498 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVSS2DIZrr),
17280 /* 46503 */ GIR_RootConstrainSelectedInstOperands,
17281 /* 46504 */ // GIR_Coverage, 4607,
17282 /* 46504 */ GIR_Done,
17283 /* 46505 */ // Label 1122: @46505
17284 /* 46505 */ GIM_Try, /*On fail goto*//*Label 1123*/ GIMT_Encode4(46532), // Rule ID 19440 //
17285 /* 46510 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
17286 /* 46513 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17287 /* 46517 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
17288 /* 46521 */ // (bitconvert:{ *:[i32] } VK32:{ *:[v32i1] }:$src) => (COPY_TO_REGCLASS:{ *:[i32] } VK32:{ *:[v32i1] }:$src, GR32:{ *:[i32] })
17289 /* 46521 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17290 /* 46526 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
17291 /* 46531 */ // GIR_Coverage, 19440,
17292 /* 46531 */ GIR_Done,
17293 /* 46532 */ // Label 1123: @46532
17294 /* 46532 */ GIM_Try, /*On fail goto*//*Label 1124*/ GIMT_Encode4(46576), // Rule ID 19885 //
17295 /* 46537 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
17296 /* 46540 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
17297 /* 46544 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
17298 /* 46548 */ // (bitconvert:{ *:[f32] } VK32:{ *:[v32i1] }:$src) => (VMOVDI2SSZrr:{ *:[f32] } (KMOVDrk:{ *:[i32] } VK32:{ *:[v32i1] }:$src))
17299 /* 46548 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17300 /* 46551 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVDrk),
17301 /* 46555 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17302 /* 46560 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17303 /* 46564 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17304 /* 46566 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDI2SSZrr),
17305 /* 46569 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17306 /* 46571 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17307 /* 46574 */ GIR_RootConstrainSelectedInstOperands,
17308 /* 46575 */ // GIR_Coverage, 19885,
17309 /* 46575 */ GIR_EraseRootFromParent_Done,
17310 /* 46576 */ // Label 1124: @46576
17311 /* 46576 */ GIM_Reject,
17312 /* 46577 */ // Label 1098: @46577
17313 /* 46577 */ GIM_Try, /*On fail goto*//*Label 1125*/ GIMT_Encode4(46643), // Rule ID 22595 //
17314 /* 46582 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
17315 /* 46585 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17316 /* 46588 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17317 /* 46592 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17318 /* 46596 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17319 /* 46600 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
17320 /* 46603 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17321 /* 46607 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
17322 /* 46614 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17323 /* 46618 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17324 /* 46620 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17325 /* 46627 */ // (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)
17326 /* 46627 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSDrm_alt),
17327 /* 46630 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17328 /* 46632 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17329 /* 46636 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17330 /* 46641 */ GIR_RootConstrainSelectedInstOperands,
17331 /* 46642 */ // GIR_Coverage, 22595,
17332 /* 46642 */ GIR_EraseRootFromParent_Done,
17333 /* 46643 */ // Label 1125: @46643
17334 /* 46643 */ GIM_Try, /*On fail goto*//*Label 1126*/ GIMT_Encode4(46709), // Rule ID 22596 //
17335 /* 46648 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
17336 /* 46651 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17337 /* 46654 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17338 /* 46658 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17339 /* 46662 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17340 /* 46666 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
17341 /* 46669 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17342 /* 46673 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
17343 /* 46680 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17344 /* 46684 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17345 /* 46686 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17346 /* 46693 */ // (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)
17347 /* 46693 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDrm_alt),
17348 /* 46696 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17349 /* 46698 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17350 /* 46702 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17351 /* 46707 */ GIR_RootConstrainSelectedInstOperands,
17352 /* 46708 */ // GIR_Coverage, 22596,
17353 /* 46708 */ GIR_EraseRootFromParent_Done,
17354 /* 46709 */ // Label 1126: @46709
17355 /* 46709 */ GIM_Try, /*On fail goto*//*Label 1127*/ GIMT_Encode4(46775), // Rule ID 22597 //
17356 /* 46714 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17357 /* 46717 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17358 /* 46720 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
17359 /* 46724 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17360 /* 46728 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17361 /* 46732 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
17362 /* 46735 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17363 /* 46739 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
17364 /* 46746 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17365 /* 46750 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17366 /* 46752 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17367 /* 46759 */ // (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)
17368 /* 46759 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDZrm_alt),
17369 /* 46762 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17370 /* 46764 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17371 /* 46768 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17372 /* 46773 */ GIR_RootConstrainSelectedInstOperands,
17373 /* 46774 */ // GIR_Coverage, 22597,
17374 /* 46774 */ GIR_EraseRootFromParent_Done,
17375 /* 46775 */ // Label 1127: @46775
17376 /* 46775 */ GIM_Try, /*On fail goto*//*Label 1128*/ GIMT_Encode4(46801), // Rule ID 2910 //
17377 /* 46780 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
17378 /* 46783 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17379 /* 46786 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17380 /* 46790 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17381 /* 46794 */ // (bitconvert:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VMOV64toSDrr:{ *:[f64] } GR64:{ *:[i64] }:$src)
17382 /* 46794 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOV64toSDrr),
17383 /* 46799 */ GIR_RootConstrainSelectedInstOperands,
17384 /* 46800 */ // GIR_Coverage, 2910,
17385 /* 46800 */ GIR_Done,
17386 /* 46801 */ // Label 1128: @46801
17387 /* 46801 */ GIM_Try, /*On fail goto*//*Label 1129*/ GIMT_Encode4(46827), // Rule ID 2914 //
17388 /* 46806 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
17389 /* 46809 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17390 /* 46812 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17391 /* 46816 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17392 /* 46820 */ // (bitconvert:{ *:[f64] } GR64:{ *:[i64] }:$src) => (MOV64toSDrr:{ *:[f64] } GR64:{ *:[i64] }:$src)
17393 /* 46820 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOV64toSDrr),
17394 /* 46825 */ GIR_RootConstrainSelectedInstOperands,
17395 /* 46826 */ // GIR_Coverage, 2914,
17396 /* 46826 */ GIR_Done,
17397 /* 46827 */ // Label 1129: @46827
17398 /* 46827 */ GIM_Try, /*On fail goto*//*Label 1130*/ GIMT_Encode4(46853), // Rule ID 2923 //
17399 /* 46832 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
17400 /* 46835 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17401 /* 46838 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17402 /* 46842 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17403 /* 46846 */ // (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VMOVSDto64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
17404 /* 46846 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVSDto64rr),
17405 /* 46851 */ GIR_RootConstrainSelectedInstOperands,
17406 /* 46852 */ // GIR_Coverage, 2923,
17407 /* 46852 */ GIR_Done,
17408 /* 46853 */ // Label 1130: @46853
17409 /* 46853 */ GIM_Try, /*On fail goto*//*Label 1131*/ GIMT_Encode4(46879), // Rule ID 2924 //
17410 /* 46858 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
17411 /* 46861 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17412 /* 46864 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17413 /* 46868 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17414 /* 46872 */ // (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src) => (MOVSDto64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
17415 /* 46872 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSDto64rr),
17416 /* 46877 */ GIR_RootConstrainSelectedInstOperands,
17417 /* 46878 */ // GIR_Coverage, 2924,
17418 /* 46878 */ GIR_Done,
17419 /* 46879 */ // Label 1131: @46879
17420 /* 46879 */ GIM_Try, /*On fail goto*//*Label 1132*/ GIMT_Encode4(46905), // Rule ID 4600 //
17421 /* 46884 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17422 /* 46887 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17423 /* 46890 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
17424 /* 46894 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17425 /* 46898 */ // (bitconvert:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VMOV64toSDZrr:{ *:[f64] } GR64:{ *:[i64] }:$src)
17426 /* 46898 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOV64toSDZrr),
17427 /* 46903 */ GIR_RootConstrainSelectedInstOperands,
17428 /* 46904 */ // GIR_Coverage, 4600,
17429 /* 46904 */ GIR_Done,
17430 /* 46905 */ // Label 1132: @46905
17431 /* 46905 */ GIM_Try, /*On fail goto*//*Label 1133*/ GIMT_Encode4(46931), // Rule ID 4601 //
17432 /* 46910 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17433 /* 46913 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17434 /* 46916 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17435 /* 46920 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
17436 /* 46924 */ // (bitconvert:{ *:[i64] } FR64X:{ *:[f64] }:$src) => (VMOVSDto64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src)
17437 /* 46924 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVSDto64Zrr),
17438 /* 46929 */ GIR_RootConstrainSelectedInstOperands,
17439 /* 46930 */ // GIR_Coverage, 4601,
17440 /* 46930 */ GIR_Done,
17441 /* 46931 */ // Label 1133: @46931
17442 /* 46931 */ GIM_Try, /*On fail goto*//*Label 1134*/ GIMT_Encode4(46958), // Rule ID 19442 //
17443 /* 46936 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
17444 /* 46939 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17445 /* 46943 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17446 /* 46947 */ // (bitconvert:{ *:[i64] } VK64:{ *:[v64i1] }:$src) => (COPY_TO_REGCLASS:{ *:[i64] } VK64:{ *:[v64i1] }:$src, GR64:{ *:[i32] })
17447 /* 46947 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17448 /* 46952 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
17449 /* 46957 */ // GIR_Coverage, 19442,
17450 /* 46957 */ GIR_Done,
17451 /* 46958 */ // Label 1134: @46958
17452 /* 46958 */ GIM_Try, /*On fail goto*//*Label 1135*/ GIMT_Encode4(47002), // Rule ID 19887 //
17453 /* 46963 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
17454 /* 46966 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
17455 /* 46970 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17456 /* 46974 */ // (bitconvert:{ *:[f64] } VK64:{ *:[v64i1] }:$src) => (VMOV64toSDZrr:{ *:[f64] } (KMOVQrk:{ *:[i64] } VK64:{ *:[v64i1] }:$src))
17457 /* 46974 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
17458 /* 46977 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVQrk),
17459 /* 46981 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17460 /* 46986 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17461 /* 46990 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17462 /* 46992 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOV64toSDZrr),
17463 /* 46995 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17464 /* 46997 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17465 /* 47000 */ GIR_RootConstrainSelectedInstOperands,
17466 /* 47001 */ // GIR_Coverage, 19887,
17467 /* 47001 */ GIR_EraseRootFromParent_Done,
17468 /* 47002 */ // Label 1135: @47002
17469 /* 47002 */ GIM_Reject,
17470 /* 47003 */ // Label 1099: @47003
17471 /* 47003 */ GIM_Try, /*On fail goto*//*Label 1136*/ GIMT_Encode4(47189),
17472 /* 47008 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
17473 /* 47011 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
17474 /* 47015 */ GIM_Try, /*On fail goto*//*Label 1137*/ GIMT_Encode4(47088), // Rule ID 19446 //
17475 /* 47020 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17476 /* 47023 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17477 /* 47027 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17478 /* 47031 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17479 /* 47034 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17480 /* 47038 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17481 /* 47042 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17482 /* 47044 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17483 /* 47051 */ // (bitconvert:{ *:[v8i1] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (COPY_TO_REGCLASS:{ *:[v8i1] } (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src), VK8:{ *:[i32] })
17484 /* 47051 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17485 /* 47054 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
17486 /* 47058 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17487 /* 47063 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
17488 /* 47067 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17489 /* 47072 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17490 /* 47074 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17491 /* 47077 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17492 /* 47079 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17493 /* 47082 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
17494 /* 47087 */ // GIR_Coverage, 19446,
17495 /* 47087 */ GIR_EraseRootFromParent_Done,
17496 /* 47088 */ // Label 1137: @47088
17497 /* 47088 */ GIM_Try, /*On fail goto*//*Label 1138*/ GIMT_Encode4(47114), // Rule ID 19602 //
17498 /* 47093 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
17499 /* 47096 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(255),
17500 /* 47107 */ // (bitconvert:{ *:[v8i1] } 255:{ *:[i8] }) => (KSET1B:{ *:[v8i1] })
17501 /* 47107 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KSET1B),
17502 /* 47110 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17503 /* 47112 */ GIR_RootConstrainSelectedInstOperands,
17504 /* 47113 */ // GIR_Coverage, 19602,
17505 /* 47113 */ GIR_EraseRootFromParent_Done,
17506 /* 47114 */ // Label 1138: @47114
17507 /* 47114 */ GIM_Try, /*On fail goto*//*Label 1139*/ GIMT_Encode4(47188), // Rule ID 19431 //
17508 /* 47119 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
17509 /* 47123 */ // (bitconvert:{ *:[v8i1] } GR8:{ *:[i8] }:$src) => (COPY_TO_REGCLASS:{ *:[v8i1] } (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR8:{ *:[i8] }:$src, sub_8bit:{ *:[i32] }), VK8:{ *:[i32] })
17510 /* 47123 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
17511 /* 47126 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17512 /* 47130 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17513 /* 47135 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
17514 /* 47137 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17515 /* 47140 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
17516 /* 47144 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17517 /* 47149 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17518 /* 47152 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17519 /* 47156 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
17520 /* 47159 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
17521 /* 47164 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
17522 /* 47169 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
17523 /* 47174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17524 /* 47177 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17525 /* 47179 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17526 /* 47182 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
17527 /* 47187 */ // GIR_Coverage, 19431,
17528 /* 47187 */ GIR_EraseRootFromParent_Done,
17529 /* 47188 */ // Label 1139: @47188
17530 /* 47188 */ GIM_Reject,
17531 /* 47189 */ // Label 1136: @47189
17532 /* 47189 */ GIM_Reject,
17533 /* 47190 */ // Label 1100: @47190
17534 /* 47190 */ GIM_Try, /*On fail goto*//*Label 1140*/ GIMT_Encode4(47376),
17535 /* 47195 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17536 /* 47198 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
17537 /* 47202 */ GIM_Try, /*On fail goto*//*Label 1141*/ GIMT_Encode4(47254), // Rule ID 19447 //
17538 /* 47207 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17539 /* 47210 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17540 /* 47214 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17541 /* 47218 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17542 /* 47221 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17543 /* 47225 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
17544 /* 47229 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17545 /* 47231 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17546 /* 47238 */ // (bitconvert:{ *:[v16i1] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (KMOVWkm:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)
17547 /* 47238 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWkm),
17548 /* 47241 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17549 /* 47243 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17550 /* 47247 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17551 /* 47252 */ GIR_RootConstrainSelectedInstOperands,
17552 /* 47253 */ // GIR_Coverage, 19447,
17553 /* 47253 */ GIR_EraseRootFromParent_Done,
17554 /* 47254 */ // Label 1141: @47254
17555 /* 47254 */ GIM_Try, /*On fail goto*//*Label 1142*/ GIMT_Encode4(47301), // Rule ID 19603 //
17556 /* 47259 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
17557 /* 47262 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(255),
17558 /* 47273 */ // (bitconvert:{ *:[v16i1] } 255:{ *:[i16] }) => (COPY_TO_REGCLASS:{ *:[v16i1] } (KSET1B:{ *:[v8i1] }), VK16:{ *:[i32] })
17559 /* 47273 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
17560 /* 47276 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1B),
17561 /* 47280 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17562 /* 47285 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17563 /* 47287 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17564 /* 47290 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17565 /* 47292 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17566 /* 47295 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
17567 /* 47300 */ // GIR_Coverage, 19603,
17568 /* 47300 */ GIR_EraseRootFromParent_Done,
17569 /* 47301 */ // Label 1142: @47301
17570 /* 47301 */ GIM_Try, /*On fail goto*//*Label 1143*/ GIMT_Encode4(47375), // Rule ID 19428 //
17571 /* 47306 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
17572 /* 47310 */ // (bitconvert:{ *:[v16i1] } GR16:{ *:[i16] }:$src) => (COPY_TO_REGCLASS:{ *:[v16i1] } (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR16:{ *:[i16] }:$src, sub_16bit:{ *:[i32] }), VK16:{ *:[i32] })
17573 /* 47310 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
17574 /* 47313 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17575 /* 47317 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17576 /* 47322 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
17577 /* 47324 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17578 /* 47327 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
17579 /* 47331 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17580 /* 47336 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17581 /* 47339 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17582 /* 47343 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/4,
17583 /* 47346 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17584 /* 47351 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17585 /* 47356 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
17586 /* 47361 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17587 /* 47364 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17588 /* 47366 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17589 /* 47369 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
17590 /* 47374 */ // GIR_Coverage, 19428,
17591 /* 47374 */ GIR_EraseRootFromParent_Done,
17592 /* 47375 */ // Label 1143: @47375
17593 /* 47375 */ GIM_Reject,
17594 /* 47376 */ // Label 1140: @47376
17595 /* 47376 */ GIM_Reject,
17596 /* 47377 */ // Label 1101: @47377
17597 /* 47377 */ GIM_Try, /*On fail goto*//*Label 1144*/ GIMT_Encode4(47560),
17598 /* 47382 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17599 /* 47385 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
17600 /* 47389 */ GIM_Try, /*On fail goto*//*Label 1145*/ GIMT_Encode4(47408), // Rule ID 19604 //
17601 /* 47394 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17602 /* 47397 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 255,
17603 /* 47401 */ // (bitconvert:{ *:[v32i1] } -1:{ *:[i32] }) => (KSET1D:{ *:[v32i1] })
17604 /* 47401 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KSET1D),
17605 /* 47404 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17606 /* 47406 */ GIR_RootConstrainSelectedInstOperands,
17607 /* 47407 */ // GIR_Coverage, 19604,
17608 /* 47407 */ GIR_EraseRootFromParent_Done,
17609 /* 47408 */ // Label 1145: @47408
17610 /* 47408 */ GIM_Try, /*On fail goto*//*Label 1146*/ GIMT_Encode4(47455), // Rule ID 19606 //
17611 /* 47413 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasDQI),
17612 /* 47416 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(255),
17613 /* 47427 */ // (bitconvert:{ *:[v32i1] } 255:{ *:[i32] }) => (COPY_TO_REGCLASS:{ *:[v32i1] } (KSET1B:{ *:[v8i1] }), VK32:{ *:[i32] })
17614 /* 47427 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
17615 /* 47430 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1B),
17616 /* 47434 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17617 /* 47439 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17618 /* 47441 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17619 /* 47444 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17620 /* 47446 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17621 /* 47449 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK32RegClassID),
17622 /* 47454 */ // GIR_Coverage, 19606,
17623 /* 47454 */ GIR_EraseRootFromParent_Done,
17624 /* 47455 */ // Label 1146: @47455
17625 /* 47455 */ GIM_Try, /*On fail goto*//*Label 1147*/ GIMT_Encode4(47502), // Rule ID 19607 //
17626 /* 47460 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasDQI),
17627 /* 47463 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(65535),
17628 /* 47474 */ // (bitconvert:{ *:[v32i1] } 65535:{ *:[i32] }) => (COPY_TO_REGCLASS:{ *:[v32i1] } (KSET1W:{ *:[v16i1] }), VK32:{ *:[i32] })
17629 /* 47474 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
17630 /* 47477 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1W),
17631 /* 47481 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17632 /* 47486 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17633 /* 47488 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17634 /* 47491 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17635 /* 47493 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17636 /* 47496 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK32RegClassID),
17637 /* 47501 */ // GIR_Coverage, 19607,
17638 /* 47501 */ GIR_EraseRootFromParent_Done,
17639 /* 47502 */ // Label 1147: @47502
17640 /* 47502 */ GIM_Try, /*On fail goto*//*Label 1148*/ GIMT_Encode4(47522), // Rule ID 19439 //
17641 /* 47507 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17642 /* 47511 */ // (bitconvert:{ *:[v32i1] } GR32:{ *:[i32] }:$src) => (COPY_TO_REGCLASS:{ *:[v32i1] } GR32:{ *:[i32] }:$src, VK32:{ *:[i32] })
17643 /* 47511 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17644 /* 47516 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK32RegClassID),
17645 /* 47521 */ // GIR_Coverage, 19439,
17646 /* 47521 */ GIR_Done,
17647 /* 47522 */ // Label 1148: @47522
17648 /* 47522 */ GIM_Try, /*On fail goto*//*Label 1149*/ GIMT_Encode4(47559), // Rule ID 19884 //
17649 /* 47527 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
17650 /* 47531 */ // (bitconvert:{ *:[v32i1] } FR32X:{ *:[f32] }:$src) => (KMOVDkr:{ *:[v32i1] } (VMOVSS2DIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src))
17651 /* 47531 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17652 /* 47534 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVSS2DIZrr),
17653 /* 47538 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17654 /* 47543 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17655 /* 47547 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17656 /* 47549 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDkr),
17657 /* 47552 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17658 /* 47554 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17659 /* 47557 */ GIR_RootConstrainSelectedInstOperands,
17660 /* 47558 */ // GIR_Coverage, 19884,
17661 /* 47558 */ GIR_EraseRootFromParent_Done,
17662 /* 47559 */ // Label 1149: @47559
17663 /* 47559 */ GIM_Reject,
17664 /* 47560 */ // Label 1144: @47560
17665 /* 47560 */ GIM_Reject,
17666 /* 47561 */ // Label 1102: @47561
17667 /* 47561 */ GIM_Try, /*On fail goto*//*Label 1150*/ GIMT_Encode4(47791),
17668 /* 47566 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17669 /* 47569 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17670 /* 47573 */ GIM_Try, /*On fail goto*//*Label 1151*/ GIMT_Encode4(47592), // Rule ID 19605 //
17671 /* 47578 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17672 /* 47581 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 255,
17673 /* 47585 */ // (bitconvert:{ *:[v64i1] } -1:{ *:[i64] }) => (KSET1Q:{ *:[v64i1] })
17674 /* 47585 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KSET1Q),
17675 /* 47588 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17676 /* 47590 */ GIR_RootConstrainSelectedInstOperands,
17677 /* 47591 */ // GIR_Coverage, 19605,
17678 /* 47591 */ GIR_EraseRootFromParent_Done,
17679 /* 47592 */ // Label 1151: @47592
17680 /* 47592 */ GIM_Try, /*On fail goto*//*Label 1152*/ GIMT_Encode4(47639), // Rule ID 19608 //
17681 /* 47597 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasDQI),
17682 /* 47600 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(255),
17683 /* 47611 */ // (bitconvert:{ *:[v64i1] } 255:{ *:[i64] }) => (COPY_TO_REGCLASS:{ *:[v64i1] } (KSET1B:{ *:[v8i1] }), VK64:{ *:[i32] })
17684 /* 47611 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
17685 /* 47614 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1B),
17686 /* 47618 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17687 /* 47623 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17688 /* 47625 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17689 /* 47628 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17690 /* 47630 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17691 /* 47633 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK64RegClassID),
17692 /* 47638 */ // GIR_Coverage, 19608,
17693 /* 47638 */ GIR_EraseRootFromParent_Done,
17694 /* 47639 */ // Label 1152: @47639
17695 /* 47639 */ GIM_Try, /*On fail goto*//*Label 1153*/ GIMT_Encode4(47686), // Rule ID 19609 //
17696 /* 47644 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasDQI),
17697 /* 47647 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(65535),
17698 /* 47658 */ // (bitconvert:{ *:[v64i1] } 65535:{ *:[i64] }) => (COPY_TO_REGCLASS:{ *:[v64i1] } (KSET1W:{ *:[v16i1] }), VK64:{ *:[i32] })
17699 /* 47658 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
17700 /* 47661 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1W),
17701 /* 47665 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17702 /* 47670 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17703 /* 47672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17704 /* 47675 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17705 /* 47677 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17706 /* 47680 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK64RegClassID),
17707 /* 47685 */ // GIR_Coverage, 19609,
17708 /* 47685 */ GIR_EraseRootFromParent_Done,
17709 /* 47686 */ // Label 1153: @47686
17710 /* 47686 */ GIM_Try, /*On fail goto*//*Label 1154*/ GIMT_Encode4(47733), // Rule ID 19610 //
17711 /* 47691 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasDQI),
17712 /* 47694 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(4294967295),
17713 /* 47705 */ // (bitconvert:{ *:[v64i1] } 4294967295:{ *:[i64] }) => (COPY_TO_REGCLASS:{ *:[v64i1] } (KSET1D:{ *:[v32i1] }), VK64:{ *:[i32] })
17714 /* 47705 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s1,
17715 /* 47708 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1D),
17716 /* 47712 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17717 /* 47717 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17718 /* 47719 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17719 /* 47722 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17720 /* 47724 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17721 /* 47727 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK64RegClassID),
17722 /* 47732 */ // GIR_Coverage, 19610,
17723 /* 47732 */ GIR_EraseRootFromParent_Done,
17724 /* 47733 */ // Label 1154: @47733
17725 /* 47733 */ GIM_Try, /*On fail goto*//*Label 1155*/ GIMT_Encode4(47753), // Rule ID 19441 //
17726 /* 47738 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17727 /* 47742 */ // (bitconvert:{ *:[v64i1] } GR64:{ *:[i64] }:$src) => (COPY_TO_REGCLASS:{ *:[v64i1] } GR64:{ *:[i64] }:$src, VK64:{ *:[i32] })
17728 /* 47742 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17729 /* 47747 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK64RegClassID),
17730 /* 47752 */ // GIR_Coverage, 19441,
17731 /* 47752 */ GIR_Done,
17732 /* 47753 */ // Label 1155: @47753
17733 /* 47753 */ GIM_Try, /*On fail goto*//*Label 1156*/ GIMT_Encode4(47790), // Rule ID 19886 //
17734 /* 47758 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
17735 /* 47762 */ // (bitconvert:{ *:[v64i1] } FR64X:{ *:[f64] }:$src) => (KMOVQkr:{ *:[v64i1] } (VMOVSDto64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src))
17736 /* 47762 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
17737 /* 47765 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVSDto64Zrr),
17738 /* 47769 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17739 /* 47774 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17740 /* 47778 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17741 /* 47780 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQkr),
17742 /* 47783 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17743 /* 47785 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17744 /* 47788 */ GIR_RootConstrainSelectedInstOperands,
17745 /* 47789 */ // GIR_Coverage, 19886,
17746 /* 47789 */ GIR_EraseRootFromParent_Done,
17747 /* 47790 */ // Label 1156: @47790
17748 /* 47790 */ GIM_Reject,
17749 /* 47791 */ // Label 1150: @47791
17750 /* 47791 */ GIM_Reject,
17751 /* 47792 */ // Label 1103: @47792
17752 /* 47792 */ GIM_Reject,
17753 /* 47793 */ // Label 9: @47793
17754 /* 47793 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 1169*/ GIMT_Encode4(50970),
17755 /* 47804 */ /*GILLT_s16*//*Label 1157*/ GIMT_Encode4(47888),
17756 /* 47808 */ /*GILLT_s32*//*Label 1158*/ GIMT_Encode4(47949),
17757 /* 47812 */ /*GILLT_s64*//*Label 1159*/ GIMT_Encode4(48573), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
17758 /* 47828 */ /*GILLT_v2s64*//*Label 1160*/ GIMT_Encode4(49197), GIMT_Encode4(0),
17759 /* 47836 */ /*GILLT_v4s32*//*Label 1161*/ GIMT_Encode4(49286),
17760 /* 47840 */ /*GILLT_v4s64*//*Label 1162*/ GIMT_Encode4(49732), GIMT_Encode4(0),
17761 /* 47848 */ /*GILLT_v8s16*//*Label 1163*/ GIMT_Encode4(49911),
17762 /* 47852 */ /*GILLT_v8s32*//*Label 1164*/ GIMT_Encode4(50000),
17763 /* 47856 */ /*GILLT_v8s64*//*Label 1165*/ GIMT_Encode4(50351), GIMT_Encode4(0), GIMT_Encode4(0),
17764 /* 47868 */ /*GILLT_v16s16*//*Label 1166*/ GIMT_Encode4(50619),
17765 /* 47872 */ /*GILLT_v16s32*//*Label 1167*/ GIMT_Encode4(50708), GIMT_Encode4(0), GIMT_Encode4(0),
17766 /* 47884 */ /*GILLT_v32s16*//*Label 1168*/ GIMT_Encode4(50881),
17767 /* 47888 */ // Label 1157: @47888
17768 /* 47888 */ GIM_Try, /*On fail goto*//*Label 1170*/ GIMT_Encode4(47948), // Rule ID 22230 //
17769 /* 47893 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
17770 /* 47896 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17771 /* 47899 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
17772 /* 47903 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
17773 /* 47907 */ // (lrint:{ *:[i16] } FR16:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (VCVTTSH2SIZrr:{ *:[i32] } FR16:{ *:[f16] }:$src), sub_16bit:{ *:[i32] })
17774 /* 47907 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17775 /* 47910 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrr),
17776 /* 47914 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17777 /* 47919 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17778 /* 47923 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17779 /* 47925 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17780 /* 47928 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17781 /* 47930 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
17782 /* 47937 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
17783 /* 47942 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
17784 /* 47947 */ // GIR_Coverage, 22230,
17785 /* 47947 */ GIR_EraseRootFromParent_Done,
17786 /* 47948 */ // Label 1170: @47948
17787 /* 47948 */ GIM_Reject,
17788 /* 47949 */ // Label 1158: @47949
17789 /* 47949 */ GIM_Try, /*On fail goto*//*Label 1171*/ GIMT_Encode4(48008), // Rule ID 1756 //
17790 /* 47954 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
17791 /* 47957 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17792 /* 47960 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17793 /* 47964 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17794 /* 47968 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17795 /* 47972 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17796 /* 47975 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17797 /* 47979 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17798 /* 47983 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17799 /* 47985 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17800 /* 47992 */ // (lrint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
17801 /* 47992 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SIrm),
17802 /* 47995 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17803 /* 47997 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17804 /* 48001 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17805 /* 48006 */ GIR_RootConstrainSelectedInstOperands,
17806 /* 48007 */ // GIR_Coverage, 1756,
17807 /* 48007 */ GIR_EraseRootFromParent_Done,
17808 /* 48008 */ // Label 1171: @48008
17809 /* 48008 */ GIM_Try, /*On fail goto*//*Label 1172*/ GIMT_Encode4(48067), // Rule ID 1760 //
17810 /* 48013 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
17811 /* 48016 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17812 /* 48019 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17813 /* 48023 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17814 /* 48027 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17815 /* 48031 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17816 /* 48034 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17817 /* 48038 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17818 /* 48042 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17819 /* 48044 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17820 /* 48051 */ // (lrint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
17821 /* 48051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SIrm),
17822 /* 48054 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17823 /* 48056 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17824 /* 48060 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17825 /* 48065 */ GIR_RootConstrainSelectedInstOperands,
17826 /* 48066 */ // GIR_Coverage, 1760,
17827 /* 48066 */ GIR_EraseRootFromParent_Done,
17828 /* 48067 */ // Label 1172: @48067
17829 /* 48067 */ GIM_Try, /*On fail goto*//*Label 1173*/ GIMT_Encode4(48126), // Rule ID 1780 //
17830 /* 48072 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
17831 /* 48075 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17832 /* 48078 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17833 /* 48082 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17834 /* 48086 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17835 /* 48090 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17836 /* 48093 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17837 /* 48097 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17838 /* 48101 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17839 /* 48103 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17840 /* 48110 */ // (lrint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSS2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
17841 /* 48110 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSS2SIrm),
17842 /* 48113 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17843 /* 48115 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17844 /* 48119 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17845 /* 48124 */ GIR_RootConstrainSelectedInstOperands,
17846 /* 48125 */ // GIR_Coverage, 1780,
17847 /* 48125 */ GIR_EraseRootFromParent_Done,
17848 /* 48126 */ // Label 1173: @48126
17849 /* 48126 */ GIM_Try, /*On fail goto*//*Label 1174*/ GIMT_Encode4(48185), // Rule ID 1784 //
17850 /* 48131 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
17851 /* 48134 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17852 /* 48137 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17853 /* 48141 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17854 /* 48145 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17855 /* 48149 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17856 /* 48152 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17857 /* 48156 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17858 /* 48160 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17859 /* 48162 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17860 /* 48169 */ // (lrint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSD2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
17861 /* 48169 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSD2SIrm),
17862 /* 48172 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17863 /* 48174 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17864 /* 48178 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17865 /* 48183 */ GIR_RootConstrainSelectedInstOperands,
17866 /* 48184 */ // GIR_Coverage, 1784,
17867 /* 48184 */ GIR_EraseRootFromParent_Done,
17868 /* 48185 */ // Label 1174: @48185
17869 /* 48185 */ GIM_Try, /*On fail goto*//*Label 1175*/ GIMT_Encode4(48244), // Rule ID 10357 //
17870 /* 48190 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17871 /* 48193 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17872 /* 48196 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17873 /* 48200 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17874 /* 48204 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17875 /* 48208 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17876 /* 48211 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17877 /* 48215 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17878 /* 48219 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17879 /* 48221 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17880 /* 48228 */ // (lrint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
17881 /* 48228 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SIZrm),
17882 /* 48231 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17883 /* 48233 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17884 /* 48237 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17885 /* 48242 */ GIR_RootConstrainSelectedInstOperands,
17886 /* 48243 */ // GIR_Coverage, 10357,
17887 /* 48243 */ GIR_EraseRootFromParent_Done,
17888 /* 48244 */ // Label 1175: @48244
17889 /* 48244 */ GIM_Try, /*On fail goto*//*Label 1176*/ GIMT_Encode4(48303), // Rule ID 10361 //
17890 /* 48249 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17891 /* 48252 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17892 /* 48255 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17893 /* 48259 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17894 /* 48263 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17895 /* 48267 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17896 /* 48270 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17897 /* 48274 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17898 /* 48278 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17899 /* 48280 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17900 /* 48287 */ // (lrint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
17901 /* 48287 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SIZrm),
17902 /* 48290 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17903 /* 48292 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17904 /* 48296 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17905 /* 48301 */ GIR_RootConstrainSelectedInstOperands,
17906 /* 48302 */ // GIR_Coverage, 10361,
17907 /* 48302 */ GIR_EraseRootFromParent_Done,
17908 /* 48303 */ // Label 1176: @48303
17909 /* 48303 */ GIM_Try, /*On fail goto*//*Label 1177*/ GIMT_Encode4(48362), // Rule ID 22232 //
17910 /* 48308 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
17911 /* 48311 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17912 /* 48314 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17913 /* 48318 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17914 /* 48322 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17915 /* 48326 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17916 /* 48329 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17917 /* 48333 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17918 /* 48337 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17919 /* 48339 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17920 /* 48346 */ // (lrint:{ *:[i32] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
17921 /* 48346 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrm),
17922 /* 48349 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17923 /* 48351 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17924 /* 48355 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17925 /* 48360 */ GIR_RootConstrainSelectedInstOperands,
17926 /* 48361 */ // GIR_Coverage, 22232,
17927 /* 48361 */ GIR_EraseRootFromParent_Done,
17928 /* 48362 */ // Label 1177: @48362
17929 /* 48362 */ GIM_Try, /*On fail goto*//*Label 1178*/ GIMT_Encode4(48392), // Rule ID 1755 //
17930 /* 48367 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
17931 /* 48370 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17932 /* 48373 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17933 /* 48377 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
17934 /* 48381 */ // (lrint:{ *:[i32] } FR32:{ *:[f32] }:$src) => (VCVTSS2SIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
17935 /* 48381 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SIrr),
17936 /* 48386 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17937 /* 48390 */ GIR_RootConstrainSelectedInstOperands,
17938 /* 48391 */ // GIR_Coverage, 1755,
17939 /* 48391 */ GIR_Done,
17940 /* 48392 */ // Label 1178: @48392
17941 /* 48392 */ GIM_Try, /*On fail goto*//*Label 1179*/ GIMT_Encode4(48422), // Rule ID 1759 //
17942 /* 48397 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
17943 /* 48400 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17944 /* 48403 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17945 /* 48407 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17946 /* 48411 */ // (lrint:{ *:[i32] } FR64:{ *:[f64] }:$src) => (VCVTSD2SIrr:{ *:[i32] } FR64:{ *:[f64] }:$src)
17947 /* 48411 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SIrr),
17948 /* 48416 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17949 /* 48420 */ GIR_RootConstrainSelectedInstOperands,
17950 /* 48421 */ // GIR_Coverage, 1759,
17951 /* 48421 */ GIR_Done,
17952 /* 48422 */ // Label 1179: @48422
17953 /* 48422 */ GIM_Try, /*On fail goto*//*Label 1180*/ GIMT_Encode4(48452), // Rule ID 1779 //
17954 /* 48427 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
17955 /* 48430 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17956 /* 48433 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17957 /* 48437 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
17958 /* 48441 */ // (lrint:{ *:[i32] } FR32:{ *:[f32] }:$src) => (CVTSS2SIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
17959 /* 48441 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSS2SIrr),
17960 /* 48446 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17961 /* 48450 */ GIR_RootConstrainSelectedInstOperands,
17962 /* 48451 */ // GIR_Coverage, 1779,
17963 /* 48451 */ GIR_Done,
17964 /* 48452 */ // Label 1180: @48452
17965 /* 48452 */ GIM_Try, /*On fail goto*//*Label 1181*/ GIMT_Encode4(48482), // Rule ID 1783 //
17966 /* 48457 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
17967 /* 48460 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17968 /* 48463 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17969 /* 48467 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17970 /* 48471 */ // (lrint:{ *:[i32] } FR64:{ *:[f64] }:$src) => (CVTSD2SIrr:{ *:[i32] } FR64:{ *:[f64] }:$src)
17971 /* 48471 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSD2SIrr),
17972 /* 48476 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17973 /* 48480 */ GIR_RootConstrainSelectedInstOperands,
17974 /* 48481 */ // GIR_Coverage, 1783,
17975 /* 48481 */ GIR_Done,
17976 /* 48482 */ // Label 1181: @48482
17977 /* 48482 */ GIM_Try, /*On fail goto*//*Label 1182*/ GIMT_Encode4(48512), // Rule ID 10356 //
17978 /* 48487 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17979 /* 48490 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17980 /* 48493 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17981 /* 48497 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
17982 /* 48501 */ // (lrint:{ *:[i32] } FR32X:{ *:[f32] }:$src) => (VCVTSS2SIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src)
17983 /* 48501 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SIZrr),
17984 /* 48506 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17985 /* 48510 */ GIR_RootConstrainSelectedInstOperands,
17986 /* 48511 */ // GIR_Coverage, 10356,
17987 /* 48511 */ GIR_Done,
17988 /* 48512 */ // Label 1182: @48512
17989 /* 48512 */ GIM_Try, /*On fail goto*//*Label 1183*/ GIMT_Encode4(48542), // Rule ID 10360 //
17990 /* 48517 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17991 /* 48520 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17992 /* 48523 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17993 /* 48527 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
17994 /* 48531 */ // (lrint:{ *:[i32] } FR64X:{ *:[f64] }:$src) => (VCVTSD2SIZrr:{ *:[i32] } FR64X:{ *:[f64] }:$src)
17995 /* 48531 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SIZrr),
17996 /* 48536 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17997 /* 48540 */ GIR_RootConstrainSelectedInstOperands,
17998 /* 48541 */ // GIR_Coverage, 10360,
17999 /* 48541 */ GIR_Done,
18000 /* 48542 */ // Label 1183: @48542
18001 /* 48542 */ GIM_Try, /*On fail goto*//*Label 1184*/ GIMT_Encode4(48572), // Rule ID 22231 //
18002 /* 48547 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
18003 /* 48550 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
18004 /* 48553 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18005 /* 48557 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
18006 /* 48561 */ // (lrint:{ *:[i32] } FR16:{ *:[f16] }:$src) => (VCVTTSH2SIZrr:{ *:[i32] } FR16:{ *:[f16] }:$src)
18007 /* 48561 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrr),
18008 /* 48566 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18009 /* 48570 */ GIR_RootConstrainSelectedInstOperands,
18010 /* 48571 */ // GIR_Coverage, 22231,
18011 /* 48571 */ GIR_Done,
18012 /* 48572 */ // Label 1184: @48572
18013 /* 48572 */ GIM_Reject,
18014 /* 48573 */ // Label 1159: @48573
18015 /* 48573 */ GIM_Try, /*On fail goto*//*Label 1185*/ GIMT_Encode4(48632), // Rule ID 17980 //
18016 /* 48578 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18017 /* 48581 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18018 /* 48584 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18019 /* 48588 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18020 /* 48592 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18021 /* 48596 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18022 /* 48599 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18023 /* 48603 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18024 /* 48607 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18025 /* 48609 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18026 /* 48616 */ // (lrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18027 /* 48616 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64rm),
18028 /* 48619 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18029 /* 48621 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18030 /* 48625 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18031 /* 48630 */ GIR_RootConstrainSelectedInstOperands,
18032 /* 48631 */ // GIR_Coverage, 17980,
18033 /* 48631 */ GIR_EraseRootFromParent_Done,
18034 /* 48632 */ // Label 1185: @48632
18035 /* 48632 */ GIM_Try, /*On fail goto*//*Label 1186*/ GIMT_Encode4(48691), // Rule ID 17982 //
18036 /* 48637 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18037 /* 48640 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18038 /* 48643 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18039 /* 48647 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18040 /* 48651 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18041 /* 48655 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18042 /* 48658 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18043 /* 48662 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18044 /* 48666 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18045 /* 48668 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18046 /* 48675 */ // (lrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18047 /* 48675 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64rm),
18048 /* 48678 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18049 /* 48680 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18050 /* 48684 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18051 /* 48689 */ GIR_RootConstrainSelectedInstOperands,
18052 /* 48690 */ // GIR_Coverage, 17982,
18053 /* 48690 */ GIR_EraseRootFromParent_Done,
18054 /* 48691 */ // Label 1186: @48691
18055 /* 48691 */ GIM_Try, /*On fail goto*//*Label 1187*/ GIMT_Encode4(48750), // Rule ID 17984 //
18056 /* 48696 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
18057 /* 48699 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18058 /* 48702 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18059 /* 48706 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18060 /* 48710 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18061 /* 48714 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18062 /* 48717 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18063 /* 48721 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18064 /* 48725 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18065 /* 48727 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18066 /* 48734 */ // (lrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18067 /* 48734 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSS2SI64rm),
18068 /* 48737 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18069 /* 48739 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18070 /* 48743 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18071 /* 48748 */ GIR_RootConstrainSelectedInstOperands,
18072 /* 48749 */ // GIR_Coverage, 17984,
18073 /* 48749 */ GIR_EraseRootFromParent_Done,
18074 /* 48750 */ // Label 1187: @48750
18075 /* 48750 */ GIM_Try, /*On fail goto*//*Label 1188*/ GIMT_Encode4(48809), // Rule ID 17986 //
18076 /* 48755 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
18077 /* 48758 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18078 /* 48761 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18079 /* 48765 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18080 /* 48769 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18081 /* 48773 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18082 /* 48776 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18083 /* 48780 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18084 /* 48784 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18085 /* 48786 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18086 /* 48793 */ // (lrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18087 /* 48793 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSD2SI64rm),
18088 /* 48796 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18089 /* 48798 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18090 /* 48802 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18091 /* 48807 */ GIR_RootConstrainSelectedInstOperands,
18092 /* 48808 */ // GIR_Coverage, 17986,
18093 /* 48808 */ GIR_EraseRootFromParent_Done,
18094 /* 48809 */ // Label 1188: @48809
18095 /* 48809 */ GIM_Try, /*On fail goto*//*Label 1189*/ GIMT_Encode4(48868), // Rule ID 21171 //
18096 /* 48814 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18097 /* 48817 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18098 /* 48820 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18099 /* 48824 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18100 /* 48828 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18101 /* 48832 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18102 /* 48835 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18103 /* 48839 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18104 /* 48843 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18105 /* 48845 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18106 /* 48852 */ // (lrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18107 /* 48852 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64Zrm),
18108 /* 48855 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18109 /* 48857 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18110 /* 48861 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18111 /* 48866 */ GIR_RootConstrainSelectedInstOperands,
18112 /* 48867 */ // GIR_Coverage, 21171,
18113 /* 48867 */ GIR_EraseRootFromParent_Done,
18114 /* 48868 */ // Label 1189: @48868
18115 /* 48868 */ GIM_Try, /*On fail goto*//*Label 1190*/ GIMT_Encode4(48927), // Rule ID 21173 //
18116 /* 48873 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18117 /* 48876 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18118 /* 48879 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18119 /* 48883 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18120 /* 48887 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18121 /* 48891 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18122 /* 48894 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18123 /* 48898 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18124 /* 48902 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18125 /* 48904 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18126 /* 48911 */ // (lrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18127 /* 48911 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64Zrm),
18128 /* 48914 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18129 /* 48916 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18130 /* 48920 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18131 /* 48925 */ GIR_RootConstrainSelectedInstOperands,
18132 /* 48926 */ // GIR_Coverage, 21173,
18133 /* 48926 */ GIR_EraseRootFromParent_Done,
18134 /* 48927 */ // Label 1190: @48927
18135 /* 48927 */ GIM_Try, /*On fail goto*//*Label 1191*/ GIMT_Encode4(48986), // Rule ID 22234 //
18136 /* 48932 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_In64BitMode),
18137 /* 48935 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
18138 /* 48938 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18139 /* 48942 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18140 /* 48946 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18141 /* 48950 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18142 /* 48953 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18143 /* 48957 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18144 /* 48961 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18145 /* 48963 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18146 /* 48970 */ // (lrint:{ *:[i64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18147 /* 48970 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrm),
18148 /* 48973 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18149 /* 48975 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18150 /* 48979 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18151 /* 48984 */ GIR_RootConstrainSelectedInstOperands,
18152 /* 48985 */ // GIR_Coverage, 22234,
18153 /* 48985 */ GIR_EraseRootFromParent_Done,
18154 /* 48986 */ // Label 1191: @48986
18155 /* 48986 */ GIM_Try, /*On fail goto*//*Label 1192*/ GIMT_Encode4(49016), // Rule ID 17979 //
18156 /* 48991 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18157 /* 48994 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18158 /* 48997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18159 /* 49001 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
18160 /* 49005 */ // (lrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (VCVTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
18161 /* 49005 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64rr),
18162 /* 49010 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18163 /* 49014 */ GIR_RootConstrainSelectedInstOperands,
18164 /* 49015 */ // GIR_Coverage, 17979,
18165 /* 49015 */ GIR_Done,
18166 /* 49016 */ // Label 1192: @49016
18167 /* 49016 */ GIM_Try, /*On fail goto*//*Label 1193*/ GIMT_Encode4(49046), // Rule ID 17981 //
18168 /* 49021 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18169 /* 49024 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18170 /* 49027 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18171 /* 49031 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
18172 /* 49035 */ // (lrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VCVTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
18173 /* 49035 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64rr),
18174 /* 49040 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18175 /* 49044 */ GIR_RootConstrainSelectedInstOperands,
18176 /* 49045 */ // GIR_Coverage, 17981,
18177 /* 49045 */ GIR_Done,
18178 /* 49046 */ // Label 1193: @49046
18179 /* 49046 */ GIM_Try, /*On fail goto*//*Label 1194*/ GIMT_Encode4(49076), // Rule ID 17983 //
18180 /* 49051 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
18181 /* 49054 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18182 /* 49057 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18183 /* 49061 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
18184 /* 49065 */ // (lrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (CVTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
18185 /* 49065 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSS2SI64rr),
18186 /* 49070 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18187 /* 49074 */ GIR_RootConstrainSelectedInstOperands,
18188 /* 49075 */ // GIR_Coverage, 17983,
18189 /* 49075 */ GIR_Done,
18190 /* 49076 */ // Label 1194: @49076
18191 /* 49076 */ GIM_Try, /*On fail goto*//*Label 1195*/ GIMT_Encode4(49106), // Rule ID 17985 //
18192 /* 49081 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
18193 /* 49084 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18194 /* 49087 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18195 /* 49091 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
18196 /* 49095 */ // (lrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (CVTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
18197 /* 49095 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSD2SI64rr),
18198 /* 49100 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18199 /* 49104 */ GIR_RootConstrainSelectedInstOperands,
18200 /* 49105 */ // GIR_Coverage, 17985,
18201 /* 49105 */ GIR_Done,
18202 /* 49106 */ // Label 1195: @49106
18203 /* 49106 */ GIM_Try, /*On fail goto*//*Label 1196*/ GIMT_Encode4(49136), // Rule ID 21170 //
18204 /* 49111 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18205 /* 49114 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18206 /* 49117 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18207 /* 49121 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
18208 /* 49125 */ // (lrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (VCVTSS2SI64Zrr:{ *:[i64] } FR32:{ *:[f32] }:$src)
18209 /* 49125 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64Zrr),
18210 /* 49130 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18211 /* 49134 */ GIR_RootConstrainSelectedInstOperands,
18212 /* 49135 */ // GIR_Coverage, 21170,
18213 /* 49135 */ GIR_Done,
18214 /* 49136 */ // Label 1196: @49136
18215 /* 49136 */ GIM_Try, /*On fail goto*//*Label 1197*/ GIMT_Encode4(49166), // Rule ID 21172 //
18216 /* 49141 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18217 /* 49144 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18218 /* 49147 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18219 /* 49151 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
18220 /* 49155 */ // (lrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VCVTSD2SI64Zrr:{ *:[i64] } FR64:{ *:[f64] }:$src)
18221 /* 49155 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64Zrr),
18222 /* 49160 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18223 /* 49164 */ GIR_RootConstrainSelectedInstOperands,
18224 /* 49165 */ // GIR_Coverage, 21172,
18225 /* 49165 */ GIR_Done,
18226 /* 49166 */ // Label 1197: @49166
18227 /* 49166 */ GIM_Try, /*On fail goto*//*Label 1198*/ GIMT_Encode4(49196), // Rule ID 22233 //
18228 /* 49171 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_In64BitMode),
18229 /* 49174 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
18230 /* 49177 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18231 /* 49181 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
18232 /* 49185 */ // (lrint:{ *:[i64] } FR16:{ *:[f16] }:$src) => (VCVTTSH2SI64Zrr:{ *:[i64] } FR16:{ *:[f16] }:$src)
18233 /* 49185 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrr),
18234 /* 49190 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18235 /* 49194 */ GIR_RootConstrainSelectedInstOperands,
18236 /* 49195 */ // GIR_Coverage, 22233,
18237 /* 49195 */ GIR_Done,
18238 /* 49196 */ // Label 1198: @49196
18239 /* 49196 */ GIM_Reject,
18240 /* 49197 */ // Label 1160: @49197
18241 /* 49197 */ GIM_Try, /*On fail goto*//*Label 1199*/ GIMT_Encode4(49285),
18242 /* 49202 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
18243 /* 49205 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18244 /* 49209 */ GIM_Try, /*On fail goto*//*Label 1200*/ GIMT_Encode4(49261), // Rule ID 21396 //
18245 /* 49214 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
18246 /* 49217 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18247 /* 49221 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18248 /* 49225 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18249 /* 49228 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18250 /* 49232 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18251 /* 49236 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18252 /* 49238 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18253 /* 49245 */ // (lrint:{ *:[v2i64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
18254 /* 49245 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ128rm),
18255 /* 49248 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18256 /* 49250 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18257 /* 49254 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18258 /* 49259 */ GIR_RootConstrainSelectedInstOperands,
18259 /* 49260 */ // GIR_Coverage, 21396,
18260 /* 49260 */ GIR_EraseRootFromParent_Done,
18261 /* 49261 */ // Label 1200: @49261
18262 /* 49261 */ GIM_Try, /*On fail goto*//*Label 1201*/ GIMT_Encode4(49284), // Rule ID 21395 //
18263 /* 49266 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
18264 /* 49269 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18265 /* 49273 */ // (lrint:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src) => (VCVTPD2QQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src)
18266 /* 49273 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ128rr),
18267 /* 49278 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18268 /* 49282 */ GIR_RootConstrainSelectedInstOperands,
18269 /* 49283 */ // GIR_Coverage, 21395,
18270 /* 49283 */ GIR_Done,
18271 /* 49284 */ // Label 1201: @49284
18272 /* 49284 */ GIM_Reject,
18273 /* 49285 */ // Label 1199: @49285
18274 /* 49285 */ GIM_Reject,
18275 /* 49286 */ // Label 1161: @49286
18276 /* 49286 */ GIM_Try, /*On fail goto*//*Label 1202*/ GIMT_Encode4(49345), // Rule ID 18034 //
18277 /* 49291 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
18278 /* 49294 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
18279 /* 49297 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18280 /* 49301 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18281 /* 49305 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18282 /* 49309 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18283 /* 49312 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18284 /* 49316 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18285 /* 49320 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18286 /* 49322 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18287 /* 49329 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
18288 /* 49329 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQrm),
18289 /* 49332 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18290 /* 49334 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18291 /* 49338 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18292 /* 49343 */ GIR_RootConstrainSelectedInstOperands,
18293 /* 49344 */ // GIR_Coverage, 18034,
18294 /* 49344 */ GIR_EraseRootFromParent_Done,
18295 /* 49345 */ // Label 1202: @49345
18296 /* 49345 */ GIM_Try, /*On fail goto*//*Label 1203*/ GIMT_Encode4(49404), // Rule ID 18038 //
18297 /* 49350 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
18298 /* 49353 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
18299 /* 49356 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18300 /* 49360 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18301 /* 49364 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18302 /* 49368 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18303 /* 49371 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18304 /* 49375 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18305 /* 49379 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18306 /* 49381 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18307 /* 49388 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2DQYrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
18308 /* 49388 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQYrm),
18309 /* 49391 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18310 /* 49393 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18311 /* 49397 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18312 /* 49402 */ GIR_RootConstrainSelectedInstOperands,
18313 /* 49403 */ // GIR_Coverage, 18038,
18314 /* 49403 */ GIR_EraseRootFromParent_Done,
18315 /* 49404 */ // Label 1203: @49404
18316 /* 49404 */ GIM_Try, /*On fail goto*//*Label 1204*/ GIMT_Encode4(49463), // Rule ID 18040 //
18317 /* 49409 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
18318 /* 49412 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
18319 /* 49415 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18320 /* 49419 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18321 /* 49423 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18322 /* 49427 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18323 /* 49430 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18324 /* 49434 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18325 /* 49438 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18326 /* 49440 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18327 /* 49447 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTPS2DQrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
18328 /* 49447 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTPS2DQrm),
18329 /* 49450 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18330 /* 49452 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18331 /* 49456 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18332 /* 49461 */ GIR_RootConstrainSelectedInstOperands,
18333 /* 49462 */ // GIR_Coverage, 18040,
18334 /* 49462 */ GIR_EraseRootFromParent_Done,
18335 /* 49463 */ // Label 1204: @49463
18336 /* 49463 */ GIM_Try, /*On fail goto*//*Label 1205*/ GIMT_Encode4(49522), // Rule ID 21368 //
18337 /* 49468 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
18338 /* 49471 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
18339 /* 49474 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18340 /* 49478 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18341 /* 49482 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18342 /* 49486 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18343 /* 49489 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18344 /* 49493 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18345 /* 49497 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18346 /* 49499 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18347 /* 49506 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQZ128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
18348 /* 49506 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZ128rm),
18349 /* 49509 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18350 /* 49511 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18351 /* 49515 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18352 /* 49520 */ GIR_RootConstrainSelectedInstOperands,
18353 /* 49521 */ // GIR_Coverage, 21368,
18354 /* 49521 */ GIR_EraseRootFromParent_Done,
18355 /* 49522 */ // Label 1205: @49522
18356 /* 49522 */ GIM_Try, /*On fail goto*//*Label 1206*/ GIMT_Encode4(49581), // Rule ID 21372 //
18357 /* 49527 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
18358 /* 49530 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
18359 /* 49533 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18360 /* 49537 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18361 /* 49541 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18362 /* 49545 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18363 /* 49548 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18364 /* 49552 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18365 /* 49556 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18366 /* 49558 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18367 /* 49565 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2DQZ256rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
18368 /* 49565 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQZ256rm),
18369 /* 49568 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18370 /* 49570 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18371 /* 49574 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18372 /* 49579 */ GIR_RootConstrainSelectedInstOperands,
18373 /* 49580 */ // GIR_Coverage, 21372,
18374 /* 49580 */ GIR_EraseRootFromParent_Done,
18375 /* 49581 */ // Label 1206: @49581
18376 /* 49581 */ GIM_Try, /*On fail goto*//*Label 1207*/ GIMT_Encode4(49611), // Rule ID 18033 //
18377 /* 49586 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
18378 /* 49589 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
18379 /* 49592 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18380 /* 49596 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18381 /* 49600 */ // (lrint:{ *:[v4i32] } VR128:{ *:[v4f32] }:$src) => (VCVTPS2DQrr:{ *:[v4i32] } VR128:{ *:[v4f32] }:$src)
18382 /* 49600 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQrr),
18383 /* 49605 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18384 /* 49609 */ GIR_RootConstrainSelectedInstOperands,
18385 /* 49610 */ // GIR_Coverage, 18033,
18386 /* 49610 */ GIR_Done,
18387 /* 49611 */ // Label 1207: @49611
18388 /* 49611 */ GIM_Try, /*On fail goto*//*Label 1208*/ GIMT_Encode4(49641), // Rule ID 18037 //
18389 /* 49616 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
18390 /* 49619 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
18391 /* 49622 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18392 /* 49626 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
18393 /* 49630 */ // (lrint:{ *:[v4i32] } VR256:{ *:[v4f64] }:$src) => (VCVTPD2DQYrr:{ *:[v4i32] } VR256:{ *:[v4f64] }:$src)
18394 /* 49630 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQYrr),
18395 /* 49635 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18396 /* 49639 */ GIR_RootConstrainSelectedInstOperands,
18397 /* 49640 */ // GIR_Coverage, 18037,
18398 /* 49640 */ GIR_Done,
18399 /* 49641 */ // Label 1208: @49641
18400 /* 49641 */ GIM_Try, /*On fail goto*//*Label 1209*/ GIMT_Encode4(49671), // Rule ID 18039 //
18401 /* 49646 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
18402 /* 49649 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
18403 /* 49652 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18404 /* 49656 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18405 /* 49660 */ // (lrint:{ *:[v4i32] } VR128:{ *:[v4f32] }:$src) => (CVTPS2DQrr:{ *:[v4i32] } VR128:{ *:[v4f32] }:$src)
18406 /* 49660 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTPS2DQrr),
18407 /* 49665 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18408 /* 49669 */ GIR_RootConstrainSelectedInstOperands,
18409 /* 49670 */ // GIR_Coverage, 18039,
18410 /* 49670 */ GIR_Done,
18411 /* 49671 */ // Label 1209: @49671
18412 /* 49671 */ GIM_Try, /*On fail goto*//*Label 1210*/ GIMT_Encode4(49701), // Rule ID 21367 //
18413 /* 49676 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
18414 /* 49679 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
18415 /* 49682 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18416 /* 49686 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18417 /* 49690 */ // (lrint:{ *:[v4i32] } VR128X:{ *:[v4f32] }:$src) => (VCVTPS2DQZ128rr:{ *:[v4i32] } VR128X:{ *:[v4f32] }:$src)
18418 /* 49690 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZ128rr),
18419 /* 49695 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18420 /* 49699 */ GIR_RootConstrainSelectedInstOperands,
18421 /* 49700 */ // GIR_Coverage, 21367,
18422 /* 49700 */ GIR_Done,
18423 /* 49701 */ // Label 1210: @49701
18424 /* 49701 */ GIM_Try, /*On fail goto*//*Label 1211*/ GIMT_Encode4(49731), // Rule ID 21371 //
18425 /* 49706 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
18426 /* 49709 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
18427 /* 49712 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18428 /* 49716 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18429 /* 49720 */ // (lrint:{ *:[v4i32] } VR256X:{ *:[v4f64] }:$src) => (VCVTPD2DQZ256rr:{ *:[v4i32] } VR256X:{ *:[v4f64] }:$src)
18430 /* 49720 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQZ256rr),
18431 /* 49725 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18432 /* 49729 */ GIR_RootConstrainSelectedInstOperands,
18433 /* 49730 */ // GIR_Coverage, 21371,
18434 /* 49730 */ GIR_Done,
18435 /* 49731 */ // Label 1211: @49731
18436 /* 49731 */ GIM_Reject,
18437 /* 49732 */ // Label 1162: @49732
18438 /* 49732 */ GIM_Try, /*On fail goto*//*Label 1212*/ GIMT_Encode4(49791), // Rule ID 21392 //
18439 /* 49737 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
18440 /* 49740 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
18441 /* 49743 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18442 /* 49747 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18443 /* 49751 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18444 /* 49755 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18445 /* 49758 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18446 /* 49762 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18447 /* 49766 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18448 /* 49768 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18449 /* 49775 */ // (lrint:{ *:[v4i64] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2QQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
18450 /* 49775 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZ256rm),
18451 /* 49778 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18452 /* 49780 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18453 /* 49784 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18454 /* 49789 */ GIR_RootConstrainSelectedInstOperands,
18455 /* 49790 */ // GIR_Coverage, 21392,
18456 /* 49790 */ GIR_EraseRootFromParent_Done,
18457 /* 49791 */ // Label 1212: @49791
18458 /* 49791 */ GIM_Try, /*On fail goto*//*Label 1213*/ GIMT_Encode4(49850), // Rule ID 21398 //
18459 /* 49796 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
18460 /* 49799 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
18461 /* 49802 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18462 /* 49806 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18463 /* 49810 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18464 /* 49814 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18465 /* 49817 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18466 /* 49821 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18467 /* 49825 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18468 /* 49827 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18469 /* 49834 */ // (lrint:{ *:[v4i64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
18470 /* 49834 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ256rm),
18471 /* 49837 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18472 /* 49839 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18473 /* 49843 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18474 /* 49848 */ GIR_RootConstrainSelectedInstOperands,
18475 /* 49849 */ // GIR_Coverage, 21398,
18476 /* 49849 */ GIR_EraseRootFromParent_Done,
18477 /* 49850 */ // Label 1213: @49850
18478 /* 49850 */ GIM_Try, /*On fail goto*//*Label 1214*/ GIMT_Encode4(49880), // Rule ID 21391 //
18479 /* 49855 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
18480 /* 49858 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
18481 /* 49861 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18482 /* 49865 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18483 /* 49869 */ // (lrint:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src) => (VCVTPS2QQZ256rr:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src)
18484 /* 49869 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZ256rr),
18485 /* 49874 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18486 /* 49878 */ GIR_RootConstrainSelectedInstOperands,
18487 /* 49879 */ // GIR_Coverage, 21391,
18488 /* 49879 */ GIR_Done,
18489 /* 49880 */ // Label 1214: @49880
18490 /* 49880 */ GIM_Try, /*On fail goto*//*Label 1215*/ GIMT_Encode4(49910), // Rule ID 21397 //
18491 /* 49885 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
18492 /* 49888 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
18493 /* 49891 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18494 /* 49895 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18495 /* 49899 */ // (lrint:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src) => (VCVTPD2QQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src)
18496 /* 49899 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ256rr),
18497 /* 49904 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18498 /* 49908 */ GIR_RootConstrainSelectedInstOperands,
18499 /* 49909 */ // GIR_Coverage, 21397,
18500 /* 49909 */ GIR_Done,
18501 /* 49910 */ // Label 1215: @49910
18502 /* 49910 */ GIM_Reject,
18503 /* 49911 */ // Label 1163: @49911
18504 /* 49911 */ GIM_Try, /*On fail goto*//*Label 1216*/ GIMT_Encode4(49999),
18505 /* 49916 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
18506 /* 49919 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18507 /* 49923 */ GIM_Try, /*On fail goto*//*Label 1217*/ GIMT_Encode4(49975), // Rule ID 22217 //
18508 /* 49928 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
18509 /* 49931 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18510 /* 49935 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18511 /* 49939 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18512 /* 49942 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18513 /* 49946 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18514 /* 49950 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18515 /* 49952 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18516 /* 49959 */ // (lrint:{ *:[v8i16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2WZ128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
18517 /* 49959 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZ128rm),
18518 /* 49962 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18519 /* 49964 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18520 /* 49968 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18521 /* 49973 */ GIR_RootConstrainSelectedInstOperands,
18522 /* 49974 */ // GIR_Coverage, 22217,
18523 /* 49974 */ GIR_EraseRootFromParent_Done,
18524 /* 49975 */ // Label 1217: @49975
18525 /* 49975 */ GIM_Try, /*On fail goto*//*Label 1218*/ GIMT_Encode4(49998), // Rule ID 22216 //
18526 /* 49980 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
18527 /* 49983 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18528 /* 49987 */ // (lrint:{ *:[v8i16] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2WZ128rr:{ *:[v8i16] } VR128X:{ *:[v8f16] }:$src)
18529 /* 49987 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZ128rr),
18530 /* 49992 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18531 /* 49996 */ GIR_RootConstrainSelectedInstOperands,
18532 /* 49997 */ // GIR_Coverage, 22216,
18533 /* 49997 */ GIR_Done,
18534 /* 49998 */ // Label 1218: @49998
18535 /* 49998 */ GIM_Reject,
18536 /* 49999 */ // Label 1216: @49999
18537 /* 49999 */ GIM_Reject,
18538 /* 50000 */ // Label 1164: @50000
18539 /* 50000 */ GIM_Try, /*On fail goto*//*Label 1219*/ GIMT_Encode4(50059), // Rule ID 18036 //
18540 /* 50005 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
18541 /* 50008 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
18542 /* 50011 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
18543 /* 50015 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18544 /* 50019 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18545 /* 50023 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18546 /* 50026 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18547 /* 50030 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18548 /* 50034 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18549 /* 50036 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18550 /* 50043 */ // (lrint:{ *:[v8i32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
18551 /* 50043 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQYrm),
18552 /* 50046 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18553 /* 50048 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18554 /* 50052 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18555 /* 50057 */ GIR_RootConstrainSelectedInstOperands,
18556 /* 50058 */ // GIR_Coverage, 18036,
18557 /* 50058 */ GIR_EraseRootFromParent_Done,
18558 /* 50059 */ // Label 1219: @50059
18559 /* 50059 */ GIM_Try, /*On fail goto*//*Label 1220*/ GIMT_Encode4(50118), // Rule ID 21370 //
18560 /* 50064 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
18561 /* 50067 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
18562 /* 50070 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18563 /* 50074 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18564 /* 50078 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18565 /* 50082 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18566 /* 50085 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18567 /* 50089 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18568 /* 50093 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18569 /* 50095 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18570 /* 50102 */ // (lrint:{ *:[v8i32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
18571 /* 50102 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZ256rm),
18572 /* 50105 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18573 /* 50107 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18574 /* 50111 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18575 /* 50116 */ GIR_RootConstrainSelectedInstOperands,
18576 /* 50117 */ // GIR_Coverage, 21370,
18577 /* 50117 */ GIR_EraseRootFromParent_Done,
18578 /* 50118 */ // Label 1220: @50118
18579 /* 50118 */ GIM_Try, /*On fail goto*//*Label 1221*/ GIMT_Encode4(50174), // Rule ID 21376 //
18580 /* 50123 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
18581 /* 50126 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18582 /* 50130 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18583 /* 50134 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18584 /* 50138 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18585 /* 50141 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18586 /* 50145 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18587 /* 50149 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18588 /* 50151 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18589 /* 50158 */ // (lrint:{ *:[v8i32] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2DQZrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
18590 /* 50158 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQZrm),
18591 /* 50161 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18592 /* 50163 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18593 /* 50167 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18594 /* 50172 */ GIR_RootConstrainSelectedInstOperands,
18595 /* 50173 */ // GIR_Coverage, 21376,
18596 /* 50173 */ GIR_EraseRootFromParent_Done,
18597 /* 50174 */ // Label 1221: @50174
18598 /* 50174 */ GIM_Try, /*On fail goto*//*Label 1222*/ GIMT_Encode4(50233), // Rule ID 22221 //
18599 /* 50179 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
18600 /* 50182 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
18601 /* 50185 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18602 /* 50189 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18603 /* 50193 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18604 /* 50197 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18605 /* 50200 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18606 /* 50204 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18607 /* 50208 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18608 /* 50210 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18609 /* 50217 */ // (lrint:{ *:[v8i32] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2DQZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
18610 /* 50217 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2DQZ256rm),
18611 /* 50220 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18612 /* 50222 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18613 /* 50226 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18614 /* 50231 */ GIR_RootConstrainSelectedInstOperands,
18615 /* 50232 */ // GIR_Coverage, 22221,
18616 /* 50232 */ GIR_EraseRootFromParent_Done,
18617 /* 50233 */ // Label 1222: @50233
18618 /* 50233 */ GIM_Try, /*On fail goto*//*Label 1223*/ GIMT_Encode4(50263), // Rule ID 18035 //
18619 /* 50238 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
18620 /* 50241 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
18621 /* 50244 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
18622 /* 50248 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
18623 /* 50252 */ // (lrint:{ *:[v8i32] } VR256:{ *:[v8f32] }:$src) => (VCVTPS2DQYrr:{ *:[v8i32] } VR256:{ *:[v8f32] }:$src)
18624 /* 50252 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQYrr),
18625 /* 50257 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18626 /* 50261 */ GIR_RootConstrainSelectedInstOperands,
18627 /* 50262 */ // GIR_Coverage, 18035,
18628 /* 50262 */ GIR_Done,
18629 /* 50263 */ // Label 1223: @50263
18630 /* 50263 */ GIM_Try, /*On fail goto*//*Label 1224*/ GIMT_Encode4(50293), // Rule ID 21369 //
18631 /* 50268 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
18632 /* 50271 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
18633 /* 50274 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18634 /* 50278 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18635 /* 50282 */ // (lrint:{ *:[v8i32] } VR256X:{ *:[v8f32] }:$src) => (VCVTPS2DQZ256rr:{ *:[v8i32] } VR256X:{ *:[v8f32] }:$src)
18636 /* 50282 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZ256rr),
18637 /* 50287 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18638 /* 50291 */ GIR_RootConstrainSelectedInstOperands,
18639 /* 50292 */ // GIR_Coverage, 21369,
18640 /* 50292 */ GIR_Done,
18641 /* 50293 */ // Label 1224: @50293
18642 /* 50293 */ GIM_Try, /*On fail goto*//*Label 1225*/ GIMT_Encode4(50320), // Rule ID 21375 //
18643 /* 50298 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
18644 /* 50301 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18645 /* 50305 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18646 /* 50309 */ // (lrint:{ *:[v8i32] } VR512:{ *:[v8f64] }:$src) => (VCVTPD2DQZrr:{ *:[v8i32] } VR512:{ *:[v8f64] }:$src)
18647 /* 50309 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQZrr),
18648 /* 50314 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18649 /* 50318 */ GIR_RootConstrainSelectedInstOperands,
18650 /* 50319 */ // GIR_Coverage, 21375,
18651 /* 50319 */ GIR_Done,
18652 /* 50320 */ // Label 1225: @50320
18653 /* 50320 */ GIM_Try, /*On fail goto*//*Label 1226*/ GIMT_Encode4(50350), // Rule ID 22220 //
18654 /* 50325 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
18655 /* 50328 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
18656 /* 50331 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18657 /* 50335 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18658 /* 50339 */ // (lrint:{ *:[v8i32] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2DQZ256rr:{ *:[v8i32] } VR128X:{ *:[v8f16] }:$src)
18659 /* 50339 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2DQZ256rr),
18660 /* 50344 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18661 /* 50348 */ GIR_RootConstrainSelectedInstOperands,
18662 /* 50349 */ // GIR_Coverage, 22220,
18663 /* 50349 */ GIR_Done,
18664 /* 50350 */ // Label 1226: @50350
18665 /* 50350 */ GIM_Reject,
18666 /* 50351 */ // Label 1165: @50351
18667 /* 50351 */ GIM_Try, /*On fail goto*//*Label 1227*/ GIMT_Encode4(50410), // Rule ID 21404 //
18668 /* 50356 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
18669 /* 50359 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
18670 /* 50362 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18671 /* 50366 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18672 /* 50370 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18673 /* 50374 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18674 /* 50377 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18675 /* 50381 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18676 /* 50385 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18677 /* 50387 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18678 /* 50394 */ // (lrint:{ *:[v8i64] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
18679 /* 50394 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZrm),
18680 /* 50397 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18681 /* 50399 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18682 /* 50403 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18683 /* 50408 */ GIR_RootConstrainSelectedInstOperands,
18684 /* 50409 */ // GIR_Coverage, 21404,
18685 /* 50409 */ GIR_EraseRootFromParent_Done,
18686 /* 50410 */ // Label 1227: @50410
18687 /* 50410 */ GIM_Try, /*On fail goto*//*Label 1228*/ GIMT_Encode4(50469), // Rule ID 21408 //
18688 /* 50415 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
18689 /* 50418 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
18690 /* 50421 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18691 /* 50425 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18692 /* 50429 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18693 /* 50433 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18694 /* 50436 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18695 /* 50440 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18696 /* 50444 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18697 /* 50446 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18698 /* 50453 */ // (lrint:{ *:[v8i64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
18699 /* 50453 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZrm),
18700 /* 50456 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18701 /* 50458 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18702 /* 50462 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18703 /* 50467 */ GIR_RootConstrainSelectedInstOperands,
18704 /* 50468 */ // GIR_Coverage, 21408,
18705 /* 50468 */ GIR_EraseRootFromParent_Done,
18706 /* 50469 */ // Label 1228: @50469
18707 /* 50469 */ GIM_Try, /*On fail goto*//*Label 1229*/ GIMT_Encode4(50528), // Rule ID 22227 //
18708 /* 50474 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
18709 /* 50477 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
18710 /* 50480 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18711 /* 50484 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18712 /* 50488 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18713 /* 50492 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18714 /* 50495 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18715 /* 50499 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18716 /* 50503 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18717 /* 50505 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18718 /* 50512 */ // (lrint:{ *:[v8i64] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
18719 /* 50512 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2QQZrm),
18720 /* 50515 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18721 /* 50517 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18722 /* 50521 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18723 /* 50526 */ GIR_RootConstrainSelectedInstOperands,
18724 /* 50527 */ // GIR_Coverage, 22227,
18725 /* 50527 */ GIR_EraseRootFromParent_Done,
18726 /* 50528 */ // Label 1229: @50528
18727 /* 50528 */ GIM_Try, /*On fail goto*//*Label 1230*/ GIMT_Encode4(50558), // Rule ID 21403 //
18728 /* 50533 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
18729 /* 50536 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
18730 /* 50539 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18731 /* 50543 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18732 /* 50547 */ // (lrint:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src) => (VCVTPS2QQZrr:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src)
18733 /* 50547 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZrr),
18734 /* 50552 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18735 /* 50556 */ GIR_RootConstrainSelectedInstOperands,
18736 /* 50557 */ // GIR_Coverage, 21403,
18737 /* 50557 */ GIR_Done,
18738 /* 50558 */ // Label 1230: @50558
18739 /* 50558 */ GIM_Try, /*On fail goto*//*Label 1231*/ GIMT_Encode4(50588), // Rule ID 21407 //
18740 /* 50563 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
18741 /* 50566 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
18742 /* 50569 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18743 /* 50573 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18744 /* 50577 */ // (lrint:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src) => (VCVTPD2QQZrr:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src)
18745 /* 50577 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZrr),
18746 /* 50582 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18747 /* 50586 */ GIR_RootConstrainSelectedInstOperands,
18748 /* 50587 */ // GIR_Coverage, 21407,
18749 /* 50587 */ GIR_Done,
18750 /* 50588 */ // Label 1231: @50588
18751 /* 50588 */ GIM_Try, /*On fail goto*//*Label 1232*/ GIMT_Encode4(50618), // Rule ID 22226 //
18752 /* 50593 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
18753 /* 50596 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
18754 /* 50599 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18755 /* 50603 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18756 /* 50607 */ // (lrint:{ *:[v8i64] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2QQZrr:{ *:[v8i64] } VR128X:{ *:[v8f16] }:$src)
18757 /* 50607 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2QQZrr),
18758 /* 50612 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18759 /* 50616 */ GIR_RootConstrainSelectedInstOperands,
18760 /* 50617 */ // GIR_Coverage, 22226,
18761 /* 50617 */ GIR_Done,
18762 /* 50618 */ // Label 1232: @50618
18763 /* 50618 */ GIM_Reject,
18764 /* 50619 */ // Label 1166: @50619
18765 /* 50619 */ GIM_Try, /*On fail goto*//*Label 1233*/ GIMT_Encode4(50707),
18766 /* 50624 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
18767 /* 50627 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18768 /* 50631 */ GIM_Try, /*On fail goto*//*Label 1234*/ GIMT_Encode4(50683), // Rule ID 22219 //
18769 /* 50636 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
18770 /* 50639 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18771 /* 50643 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18772 /* 50647 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18773 /* 50650 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18774 /* 50654 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18775 /* 50658 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18776 /* 50660 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18777 /* 50667 */ // (lrint:{ *:[v16i16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2WZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
18778 /* 50667 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZ256rm),
18779 /* 50670 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18780 /* 50672 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18781 /* 50676 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18782 /* 50681 */ GIR_RootConstrainSelectedInstOperands,
18783 /* 50682 */ // GIR_Coverage, 22219,
18784 /* 50682 */ GIR_EraseRootFromParent_Done,
18785 /* 50683 */ // Label 1234: @50683
18786 /* 50683 */ GIM_Try, /*On fail goto*//*Label 1235*/ GIMT_Encode4(50706), // Rule ID 22218 //
18787 /* 50688 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
18788 /* 50691 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18789 /* 50695 */ // (lrint:{ *:[v16i16] } VR256X:{ *:[v16f16] }:$src) => (VCVTPH2WZ256rr:{ *:[v16i16] } VR256X:{ *:[v16f16] }:$src)
18790 /* 50695 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZ256rr),
18791 /* 50700 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18792 /* 50704 */ GIR_RootConstrainSelectedInstOperands,
18793 /* 50705 */ // GIR_Coverage, 22218,
18794 /* 50705 */ GIR_Done,
18795 /* 50706 */ // Label 1235: @50706
18796 /* 50706 */ GIM_Reject,
18797 /* 50707 */ // Label 1233: @50707
18798 /* 50707 */ GIM_Reject,
18799 /* 50708 */ // Label 1167: @50708
18800 /* 50708 */ GIM_Try, /*On fail goto*//*Label 1236*/ GIMT_Encode4(50764), // Rule ID 21374 //
18801 /* 50713 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
18802 /* 50716 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18803 /* 50720 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18804 /* 50724 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18805 /* 50728 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18806 /* 50731 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18807 /* 50735 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18808 /* 50739 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18809 /* 50741 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18810 /* 50748 */ // (lrint:{ *:[v16i32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
18811 /* 50748 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZrm),
18812 /* 50751 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18813 /* 50753 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18814 /* 50757 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18815 /* 50762 */ GIR_RootConstrainSelectedInstOperands,
18816 /* 50763 */ // GIR_Coverage, 21374,
18817 /* 50763 */ GIR_EraseRootFromParent_Done,
18818 /* 50764 */ // Label 1236: @50764
18819 /* 50764 */ GIM_Try, /*On fail goto*//*Label 1237*/ GIMT_Encode4(50823), // Rule ID 22225 //
18820 /* 50769 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
18821 /* 50772 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
18822 /* 50775 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18823 /* 50779 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18824 /* 50783 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18825 /* 50787 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18826 /* 50790 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18827 /* 50794 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18828 /* 50798 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18829 /* 50800 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18830 /* 50807 */ // (lrint:{ *:[v16i32] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2DQZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
18831 /* 50807 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2DQZrm),
18832 /* 50810 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18833 /* 50812 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18834 /* 50816 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18835 /* 50821 */ GIR_RootConstrainSelectedInstOperands,
18836 /* 50822 */ // GIR_Coverage, 22225,
18837 /* 50822 */ GIR_EraseRootFromParent_Done,
18838 /* 50823 */ // Label 1237: @50823
18839 /* 50823 */ GIM_Try, /*On fail goto*//*Label 1238*/ GIMT_Encode4(50850), // Rule ID 21373 //
18840 /* 50828 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
18841 /* 50831 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18842 /* 50835 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18843 /* 50839 */ // (lrint:{ *:[v16i32] } VR512:{ *:[v16f32] }:$src) => (VCVTPS2DQZrr:{ *:[v16i32] } VR512:{ *:[v16f32] }:$src)
18844 /* 50839 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZrr),
18845 /* 50844 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18846 /* 50848 */ GIR_RootConstrainSelectedInstOperands,
18847 /* 50849 */ // GIR_Coverage, 21373,
18848 /* 50849 */ GIR_Done,
18849 /* 50850 */ // Label 1238: @50850
18850 /* 50850 */ GIM_Try, /*On fail goto*//*Label 1239*/ GIMT_Encode4(50880), // Rule ID 22224 //
18851 /* 50855 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
18852 /* 50858 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
18853 /* 50861 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18854 /* 50865 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18855 /* 50869 */ // (lrint:{ *:[v16i32] } VR256X:{ *:[v16f16] }:$src) => (VCVTPH2DQZrr:{ *:[v16i32] } VR256X:{ *:[v16f16] }:$src)
18856 /* 50869 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2DQZrr),
18857 /* 50874 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18858 /* 50878 */ GIR_RootConstrainSelectedInstOperands,
18859 /* 50879 */ // GIR_Coverage, 22224,
18860 /* 50879 */ GIR_Done,
18861 /* 50880 */ // Label 1239: @50880
18862 /* 50880 */ GIM_Reject,
18863 /* 50881 */ // Label 1168: @50881
18864 /* 50881 */ GIM_Try, /*On fail goto*//*Label 1240*/ GIMT_Encode4(50969),
18865 /* 50886 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
18866 /* 50889 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18867 /* 50893 */ GIM_Try, /*On fail goto*//*Label 1241*/ GIMT_Encode4(50945), // Rule ID 22223 //
18868 /* 50898 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
18869 /* 50901 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18870 /* 50905 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18871 /* 50909 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18872 /* 50912 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18873 /* 50916 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18874 /* 50920 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18875 /* 50922 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18876 /* 50929 */ // (lrint:{ *:[v32i16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2WZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
18877 /* 50929 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZrm),
18878 /* 50932 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18879 /* 50934 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18880 /* 50938 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18881 /* 50943 */ GIR_RootConstrainSelectedInstOperands,
18882 /* 50944 */ // GIR_Coverage, 22223,
18883 /* 50944 */ GIR_EraseRootFromParent_Done,
18884 /* 50945 */ // Label 1241: @50945
18885 /* 50945 */ GIM_Try, /*On fail goto*//*Label 1242*/ GIMT_Encode4(50968), // Rule ID 22222 //
18886 /* 50950 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
18887 /* 50953 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18888 /* 50957 */ // (lrint:{ *:[v32i16] } VR512:{ *:[v32f16] }:$src) => (VCVTPH2WZrr:{ *:[v32i16] } VR512:{ *:[v32f16] }:$src)
18889 /* 50957 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZrr),
18890 /* 50962 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18891 /* 50966 */ GIR_RootConstrainSelectedInstOperands,
18892 /* 50967 */ // GIR_Coverage, 22222,
18893 /* 50967 */ GIR_Done,
18894 /* 50968 */ // Label 1242: @50968
18895 /* 50968 */ GIM_Reject,
18896 /* 50969 */ // Label 1240: @50969
18897 /* 50969 */ GIM_Reject,
18898 /* 50970 */ // Label 1169: @50970
18899 /* 50970 */ GIM_Reject,
18900 /* 50971 */ // Label 10: @50971
18901 /* 50971 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(4), GIMT_Encode2(16), /*)*//*default:*//*Label 1247*/ GIMT_Encode4(52190),
18902 /* 50982 */ /*GILLT_s64*//*Label 1243*/ GIMT_Encode4(51030), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
18903 /* 50998 */ /*GILLT_v2s64*//*Label 1244*/ GIMT_Encode4(51654), GIMT_Encode4(0), GIMT_Encode4(0),
18904 /* 51010 */ /*GILLT_v4s64*//*Label 1245*/ GIMT_Encode4(51743), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
18905 /* 51026 */ /*GILLT_v8s64*//*Label 1246*/ GIMT_Encode4(51922),
18906 /* 51030 */ // Label 1243: @51030
18907 /* 51030 */ GIM_Try, /*On fail goto*//*Label 1248*/ GIMT_Encode4(51089), // Rule ID 1758 //
18908 /* 51035 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18909 /* 51038 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18910 /* 51041 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18911 /* 51045 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18912 /* 51049 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18913 /* 51053 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18914 /* 51056 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18915 /* 51060 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18916 /* 51064 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18917 /* 51066 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18918 /* 51073 */ // (llrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18919 /* 51073 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64rm),
18920 /* 51076 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18921 /* 51078 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18922 /* 51082 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18923 /* 51087 */ GIR_RootConstrainSelectedInstOperands,
18924 /* 51088 */ // GIR_Coverage, 1758,
18925 /* 51088 */ GIR_EraseRootFromParent_Done,
18926 /* 51089 */ // Label 1248: @51089
18927 /* 51089 */ GIM_Try, /*On fail goto*//*Label 1249*/ GIMT_Encode4(51148), // Rule ID 1762 //
18928 /* 51094 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18929 /* 51097 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18930 /* 51100 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18931 /* 51104 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18932 /* 51108 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18933 /* 51112 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18934 /* 51115 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18935 /* 51119 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18936 /* 51123 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18937 /* 51125 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18938 /* 51132 */ // (llrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18939 /* 51132 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64rm),
18940 /* 51135 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18941 /* 51137 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18942 /* 51141 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18943 /* 51146 */ GIR_RootConstrainSelectedInstOperands,
18944 /* 51147 */ // GIR_Coverage, 1762,
18945 /* 51147 */ GIR_EraseRootFromParent_Done,
18946 /* 51148 */ // Label 1249: @51148
18947 /* 51148 */ GIM_Try, /*On fail goto*//*Label 1250*/ GIMT_Encode4(51207), // Rule ID 1782 //
18948 /* 51153 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
18949 /* 51156 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18950 /* 51159 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18951 /* 51163 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18952 /* 51167 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18953 /* 51171 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18954 /* 51174 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18955 /* 51178 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18956 /* 51182 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18957 /* 51184 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18958 /* 51191 */ // (llrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18959 /* 51191 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSS2SI64rm),
18960 /* 51194 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18961 /* 51196 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18962 /* 51200 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18963 /* 51205 */ GIR_RootConstrainSelectedInstOperands,
18964 /* 51206 */ // GIR_Coverage, 1782,
18965 /* 51206 */ GIR_EraseRootFromParent_Done,
18966 /* 51207 */ // Label 1250: @51207
18967 /* 51207 */ GIM_Try, /*On fail goto*//*Label 1251*/ GIMT_Encode4(51266), // Rule ID 1786 //
18968 /* 51212 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
18969 /* 51215 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18970 /* 51218 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18971 /* 51222 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18972 /* 51226 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18973 /* 51230 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18974 /* 51233 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18975 /* 51237 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18976 /* 51241 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18977 /* 51243 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18978 /* 51250 */ // (llrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18979 /* 51250 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSD2SI64rm),
18980 /* 51253 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18981 /* 51255 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18982 /* 51259 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18983 /* 51264 */ GIR_RootConstrainSelectedInstOperands,
18984 /* 51265 */ // GIR_Coverage, 1786,
18985 /* 51265 */ GIR_EraseRootFromParent_Done,
18986 /* 51266 */ // Label 1251: @51266
18987 /* 51266 */ GIM_Try, /*On fail goto*//*Label 1252*/ GIMT_Encode4(51325), // Rule ID 10359 //
18988 /* 51271 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18989 /* 51274 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18990 /* 51277 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18991 /* 51281 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18992 /* 51285 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18993 /* 51289 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18994 /* 51292 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18995 /* 51296 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18996 /* 51300 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18997 /* 51302 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18998 /* 51309 */ // (llrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18999 /* 51309 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64Zrm),
19000 /* 51312 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19001 /* 51314 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19002 /* 51318 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19003 /* 51323 */ GIR_RootConstrainSelectedInstOperands,
19004 /* 51324 */ // GIR_Coverage, 10359,
19005 /* 51324 */ GIR_EraseRootFromParent_Done,
19006 /* 51325 */ // Label 1252: @51325
19007 /* 51325 */ GIM_Try, /*On fail goto*//*Label 1253*/ GIMT_Encode4(51384), // Rule ID 10363 //
19008 /* 51330 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
19009 /* 51333 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
19010 /* 51336 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19011 /* 51340 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19012 /* 51344 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19013 /* 51348 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19014 /* 51351 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19015 /* 51355 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19016 /* 51359 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19017 /* 51361 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19018 /* 51368 */ // (llrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19019 /* 51368 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64Zrm),
19020 /* 51371 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19021 /* 51373 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19022 /* 51377 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19023 /* 51382 */ GIR_RootConstrainSelectedInstOperands,
19024 /* 51383 */ // GIR_Coverage, 10363,
19025 /* 51383 */ GIR_EraseRootFromParent_Done,
19026 /* 51384 */ // Label 1253: @51384
19027 /* 51384 */ GIM_Try, /*On fail goto*//*Label 1254*/ GIMT_Encode4(51443), // Rule ID 22236 //
19028 /* 51389 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_In64BitMode),
19029 /* 51392 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
19030 /* 51395 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19031 /* 51399 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19032 /* 51403 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19033 /* 51407 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19034 /* 51410 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19035 /* 51414 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19036 /* 51418 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19037 /* 51420 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19038 /* 51427 */ // (llrint:{ *:[i64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19039 /* 51427 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrm),
19040 /* 51430 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19041 /* 51432 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19042 /* 51436 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19043 /* 51441 */ GIR_RootConstrainSelectedInstOperands,
19044 /* 51442 */ // GIR_Coverage, 22236,
19045 /* 51442 */ GIR_EraseRootFromParent_Done,
19046 /* 51443 */ // Label 1254: @51443
19047 /* 51443 */ GIM_Try, /*On fail goto*//*Label 1255*/ GIMT_Encode4(51473), // Rule ID 1757 //
19048 /* 51448 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
19049 /* 51451 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
19050 /* 51454 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19051 /* 51458 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
19052 /* 51462 */ // (llrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (VCVTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
19053 /* 51462 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64rr),
19054 /* 51467 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19055 /* 51471 */ GIR_RootConstrainSelectedInstOperands,
19056 /* 51472 */ // GIR_Coverage, 1757,
19057 /* 51472 */ GIR_Done,
19058 /* 51473 */ // Label 1255: @51473
19059 /* 51473 */ GIM_Try, /*On fail goto*//*Label 1256*/ GIMT_Encode4(51503), // Rule ID 1761 //
19060 /* 51478 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
19061 /* 51481 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
19062 /* 51484 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19063 /* 51488 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
19064 /* 51492 */ // (llrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VCVTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
19065 /* 51492 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64rr),
19066 /* 51497 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19067 /* 51501 */ GIR_RootConstrainSelectedInstOperands,
19068 /* 51502 */ // GIR_Coverage, 1761,
19069 /* 51502 */ GIR_Done,
19070 /* 51503 */ // Label 1256: @51503
19071 /* 51503 */ GIM_Try, /*On fail goto*//*Label 1257*/ GIMT_Encode4(51533), // Rule ID 1781 //
19072 /* 51508 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
19073 /* 51511 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
19074 /* 51514 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19075 /* 51518 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
19076 /* 51522 */ // (llrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (CVTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
19077 /* 51522 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSS2SI64rr),
19078 /* 51527 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19079 /* 51531 */ GIR_RootConstrainSelectedInstOperands,
19080 /* 51532 */ // GIR_Coverage, 1781,
19081 /* 51532 */ GIR_Done,
19082 /* 51533 */ // Label 1257: @51533
19083 /* 51533 */ GIM_Try, /*On fail goto*//*Label 1258*/ GIMT_Encode4(51563), // Rule ID 1785 //
19084 /* 51538 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
19085 /* 51541 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
19086 /* 51544 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19087 /* 51548 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
19088 /* 51552 */ // (llrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (CVTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
19089 /* 51552 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSD2SI64rr),
19090 /* 51557 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19091 /* 51561 */ GIR_RootConstrainSelectedInstOperands,
19092 /* 51562 */ // GIR_Coverage, 1785,
19093 /* 51562 */ GIR_Done,
19094 /* 51563 */ // Label 1258: @51563
19095 /* 51563 */ GIM_Try, /*On fail goto*//*Label 1259*/ GIMT_Encode4(51593), // Rule ID 10358 //
19096 /* 51568 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
19097 /* 51571 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
19098 /* 51574 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19099 /* 51578 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
19100 /* 51582 */ // (llrint:{ *:[i64] } FR32X:{ *:[f32] }:$src) => (VCVTSS2SI64Zrr:{ *:[i64] } FR32X:{ *:[f32] }:$src)
19101 /* 51582 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64Zrr),
19102 /* 51587 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19103 /* 51591 */ GIR_RootConstrainSelectedInstOperands,
19104 /* 51592 */ // GIR_Coverage, 10358,
19105 /* 51592 */ GIR_Done,
19106 /* 51593 */ // Label 1259: @51593
19107 /* 51593 */ GIM_Try, /*On fail goto*//*Label 1260*/ GIMT_Encode4(51623), // Rule ID 10362 //
19108 /* 51598 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
19109 /* 51601 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
19110 /* 51604 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19111 /* 51608 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
19112 /* 51612 */ // (llrint:{ *:[i64] } FR64X:{ *:[f64] }:$src) => (VCVTSD2SI64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src)
19113 /* 51612 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64Zrr),
19114 /* 51617 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19115 /* 51621 */ GIR_RootConstrainSelectedInstOperands,
19116 /* 51622 */ // GIR_Coverage, 10362,
19117 /* 51622 */ GIR_Done,
19118 /* 51623 */ // Label 1260: @51623
19119 /* 51623 */ GIM_Try, /*On fail goto*//*Label 1261*/ GIMT_Encode4(51653), // Rule ID 22235 //
19120 /* 51628 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_In64BitMode),
19121 /* 51631 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
19122 /* 51634 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19123 /* 51638 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
19124 /* 51642 */ // (llrint:{ *:[i64] } FR16:{ *:[f16] }:$src) => (VCVTTSH2SI64Zrr:{ *:[i64] } FR16:{ *:[f16] }:$src)
19125 /* 51642 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrr),
19126 /* 51647 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19127 /* 51651 */ GIR_RootConstrainSelectedInstOperands,
19128 /* 51652 */ // GIR_Coverage, 22235,
19129 /* 51652 */ GIR_Done,
19130 /* 51653 */ // Label 1261: @51653
19131 /* 51653 */ GIM_Reject,
19132 /* 51654 */ // Label 1244: @51654
19133 /* 51654 */ GIM_Try, /*On fail goto*//*Label 1262*/ GIMT_Encode4(51742),
19134 /* 51659 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
19135 /* 51662 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19136 /* 51666 */ GIM_Try, /*On fail goto*//*Label 1263*/ GIMT_Encode4(51718), // Rule ID 21400 //
19137 /* 51671 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
19138 /* 51674 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19139 /* 51678 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19140 /* 51682 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19141 /* 51685 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19142 /* 51689 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19143 /* 51693 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19144 /* 51695 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19145 /* 51702 */ // (llrint:{ *:[v2i64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
19146 /* 51702 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ128rm),
19147 /* 51705 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19148 /* 51707 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19149 /* 51711 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19150 /* 51716 */ GIR_RootConstrainSelectedInstOperands,
19151 /* 51717 */ // GIR_Coverage, 21400,
19152 /* 51717 */ GIR_EraseRootFromParent_Done,
19153 /* 51718 */ // Label 1263: @51718
19154 /* 51718 */ GIM_Try, /*On fail goto*//*Label 1264*/ GIMT_Encode4(51741), // Rule ID 21399 //
19155 /* 51723 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
19156 /* 51726 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19157 /* 51730 */ // (llrint:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src) => (VCVTPD2QQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src)
19158 /* 51730 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ128rr),
19159 /* 51735 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19160 /* 51739 */ GIR_RootConstrainSelectedInstOperands,
19161 /* 51740 */ // GIR_Coverage, 21399,
19162 /* 51740 */ GIR_Done,
19163 /* 51741 */ // Label 1264: @51741
19164 /* 51741 */ GIM_Reject,
19165 /* 51742 */ // Label 1262: @51742
19166 /* 51742 */ GIM_Reject,
19167 /* 51743 */ // Label 1245: @51743
19168 /* 51743 */ GIM_Try, /*On fail goto*//*Label 1265*/ GIMT_Encode4(51802), // Rule ID 21394 //
19169 /* 51748 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
19170 /* 51751 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
19171 /* 51754 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19172 /* 51758 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19173 /* 51762 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19174 /* 51766 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19175 /* 51769 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19176 /* 51773 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19177 /* 51777 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19178 /* 51779 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19179 /* 51786 */ // (llrint:{ *:[v4i64] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2QQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
19180 /* 51786 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZ256rm),
19181 /* 51789 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19182 /* 51791 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19183 /* 51795 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19184 /* 51800 */ GIR_RootConstrainSelectedInstOperands,
19185 /* 51801 */ // GIR_Coverage, 21394,
19186 /* 51801 */ GIR_EraseRootFromParent_Done,
19187 /* 51802 */ // Label 1265: @51802
19188 /* 51802 */ GIM_Try, /*On fail goto*//*Label 1266*/ GIMT_Encode4(51861), // Rule ID 21402 //
19189 /* 51807 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
19190 /* 51810 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
19191 /* 51813 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19192 /* 51817 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19193 /* 51821 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19194 /* 51825 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19195 /* 51828 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19196 /* 51832 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19197 /* 51836 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19198 /* 51838 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19199 /* 51845 */ // (llrint:{ *:[v4i64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
19200 /* 51845 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ256rm),
19201 /* 51848 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19202 /* 51850 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19203 /* 51854 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19204 /* 51859 */ GIR_RootConstrainSelectedInstOperands,
19205 /* 51860 */ // GIR_Coverage, 21402,
19206 /* 51860 */ GIR_EraseRootFromParent_Done,
19207 /* 51861 */ // Label 1266: @51861
19208 /* 51861 */ GIM_Try, /*On fail goto*//*Label 1267*/ GIMT_Encode4(51891), // Rule ID 21393 //
19209 /* 51866 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
19210 /* 51869 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
19211 /* 51872 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19212 /* 51876 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19213 /* 51880 */ // (llrint:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src) => (VCVTPS2QQZ256rr:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src)
19214 /* 51880 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZ256rr),
19215 /* 51885 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19216 /* 51889 */ GIR_RootConstrainSelectedInstOperands,
19217 /* 51890 */ // GIR_Coverage, 21393,
19218 /* 51890 */ GIR_Done,
19219 /* 51891 */ // Label 1267: @51891
19220 /* 51891 */ GIM_Try, /*On fail goto*//*Label 1268*/ GIMT_Encode4(51921), // Rule ID 21401 //
19221 /* 51896 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
19222 /* 51899 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
19223 /* 51902 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19224 /* 51906 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19225 /* 51910 */ // (llrint:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src) => (VCVTPD2QQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src)
19226 /* 51910 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ256rr),
19227 /* 51915 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19228 /* 51919 */ GIR_RootConstrainSelectedInstOperands,
19229 /* 51920 */ // GIR_Coverage, 21401,
19230 /* 51920 */ GIR_Done,
19231 /* 51921 */ // Label 1268: @51921
19232 /* 51921 */ GIM_Reject,
19233 /* 51922 */ // Label 1246: @51922
19234 /* 51922 */ GIM_Try, /*On fail goto*//*Label 1269*/ GIMT_Encode4(51981), // Rule ID 21406 //
19235 /* 51927 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
19236 /* 51930 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
19237 /* 51933 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19238 /* 51937 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19239 /* 51941 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19240 /* 51945 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19241 /* 51948 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19242 /* 51952 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19243 /* 51956 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19244 /* 51958 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19245 /* 51965 */ // (llrint:{ *:[v8i64] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
19246 /* 51965 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZrm),
19247 /* 51968 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19248 /* 51970 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19249 /* 51974 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19250 /* 51979 */ GIR_RootConstrainSelectedInstOperands,
19251 /* 51980 */ // GIR_Coverage, 21406,
19252 /* 51980 */ GIR_EraseRootFromParent_Done,
19253 /* 51981 */ // Label 1269: @51981
19254 /* 51981 */ GIM_Try, /*On fail goto*//*Label 1270*/ GIMT_Encode4(52040), // Rule ID 21410 //
19255 /* 51986 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
19256 /* 51989 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
19257 /* 51992 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19258 /* 51996 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19259 /* 52000 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19260 /* 52004 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19261 /* 52007 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19262 /* 52011 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19263 /* 52015 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19264 /* 52017 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19265 /* 52024 */ // (llrint:{ *:[v8i64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
19266 /* 52024 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZrm),
19267 /* 52027 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19268 /* 52029 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19269 /* 52033 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19270 /* 52038 */ GIR_RootConstrainSelectedInstOperands,
19271 /* 52039 */ // GIR_Coverage, 21410,
19272 /* 52039 */ GIR_EraseRootFromParent_Done,
19273 /* 52040 */ // Label 1270: @52040
19274 /* 52040 */ GIM_Try, /*On fail goto*//*Label 1271*/ GIMT_Encode4(52099), // Rule ID 22229 //
19275 /* 52045 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
19276 /* 52048 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
19277 /* 52051 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19278 /* 52055 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19279 /* 52059 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19280 /* 52063 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19281 /* 52066 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19282 /* 52070 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19283 /* 52074 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19284 /* 52076 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19285 /* 52083 */ // (llrint:{ *:[v8i64] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
19286 /* 52083 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2QQZrm),
19287 /* 52086 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19288 /* 52088 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19289 /* 52092 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19290 /* 52097 */ GIR_RootConstrainSelectedInstOperands,
19291 /* 52098 */ // GIR_Coverage, 22229,
19292 /* 52098 */ GIR_EraseRootFromParent_Done,
19293 /* 52099 */ // Label 1271: @52099
19294 /* 52099 */ GIM_Try, /*On fail goto*//*Label 1272*/ GIMT_Encode4(52129), // Rule ID 21405 //
19295 /* 52104 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
19296 /* 52107 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
19297 /* 52110 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19298 /* 52114 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19299 /* 52118 */ // (llrint:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src) => (VCVTPS2QQZrr:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src)
19300 /* 52118 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZrr),
19301 /* 52123 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19302 /* 52127 */ GIR_RootConstrainSelectedInstOperands,
19303 /* 52128 */ // GIR_Coverage, 21405,
19304 /* 52128 */ GIR_Done,
19305 /* 52129 */ // Label 1272: @52129
19306 /* 52129 */ GIM_Try, /*On fail goto*//*Label 1273*/ GIMT_Encode4(52159), // Rule ID 21409 //
19307 /* 52134 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
19308 /* 52137 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
19309 /* 52140 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19310 /* 52144 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19311 /* 52148 */ // (llrint:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src) => (VCVTPD2QQZrr:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src)
19312 /* 52148 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZrr),
19313 /* 52153 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19314 /* 52157 */ GIR_RootConstrainSelectedInstOperands,
19315 /* 52158 */ // GIR_Coverage, 21409,
19316 /* 52158 */ GIR_Done,
19317 /* 52159 */ // Label 1273: @52159
19318 /* 52159 */ GIM_Try, /*On fail goto*//*Label 1274*/ GIMT_Encode4(52189), // Rule ID 22228 //
19319 /* 52164 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
19320 /* 52167 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
19321 /* 52170 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19322 /* 52174 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19323 /* 52178 */ // (llrint:{ *:[v8i64] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2QQZrr:{ *:[v8i64] } VR128X:{ *:[v8f16] }:$src)
19324 /* 52178 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2QQZrr),
19325 /* 52183 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19326 /* 52187 */ GIR_RootConstrainSelectedInstOperands,
19327 /* 52188 */ // GIR_Coverage, 22228,
19328 /* 52188 */ GIR_Done,
19329 /* 52189 */ // Label 1274: @52189
19330 /* 52189 */ GIM_Reject,
19331 /* 52190 */ // Label 1247: @52190
19332 /* 52190 */ GIM_Reject,
19333 /* 52191 */ // Label 11: @52191
19334 /* 52191 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(25), /*)*//*default:*//*Label 1300*/ GIMT_Encode4(58406),
19335 /* 52202 */ /*GILLT_s1*//*Label 1275*/ GIMT_Encode4(52302),
19336 /* 52206 */ /*GILLT_s8*//*Label 1276*/ GIMT_Encode4(52369),
19337 /* 52210 */ /*GILLT_s16*//*Label 1277*/ GIMT_Encode4(52510),
19338 /* 52214 */ /*GILLT_s32*//*Label 1278*/ GIMT_Encode4(53063),
19339 /* 52218 */ /*GILLT_s64*//*Label 1279*/ GIMT_Encode4(53485),
19340 /* 52222 */ /*GILLT_s80*//*Label 1280*/ GIMT_Encode4(54049),
19341 /* 52226 */ /*GILLT_s128*//*Label 1281*/ GIMT_Encode4(54208),
19342 /* 52230 */ /*GILLT_v2s1*//*Label 1282*/ GIMT_Encode4(54336),
19343 /* 52234 */ /*GILLT_v2s64*//*Label 1283*/ GIMT_Encode4(54403),
19344 /* 52238 */ /*GILLT_v4s1*//*Label 1284*/ GIMT_Encode4(54897),
19345 /* 52242 */ /*GILLT_v4s32*//*Label 1285*/ GIMT_Encode4(54964),
19346 /* 52246 */ /*GILLT_v4s64*//*Label 1286*/ GIMT_Encode4(55458),
19347 /* 52250 */ /*GILLT_v8s1*//*Label 1287*/ GIMT_Encode4(55792),
19348 /* 52254 */ /*GILLT_v8s16*//*Label 1288*/ GIMT_Encode4(55874),
19349 /* 52258 */ /*GILLT_v8s32*//*Label 1289*/ GIMT_Encode4(56448),
19350 /* 52262 */ /*GILLT_v8s64*//*Label 1290*/ GIMT_Encode4(56782),
19351 /* 52266 */ /*GILLT_v16s1*//*Label 1291*/ GIMT_Encode4(56956),
19352 /* 52270 */ /*GILLT_v16s8*//*Label 1292*/ GIMT_Encode4(57038),
19353 /* 52274 */ /*GILLT_v16s16*//*Label 1293*/ GIMT_Encode4(57292),
19354 /* 52278 */ /*GILLT_v16s32*//*Label 1294*/ GIMT_Encode4(57626),
19355 /* 52282 */ /*GILLT_v32s1*//*Label 1295*/ GIMT_Encode4(57800),
19356 /* 52286 */ /*GILLT_v32s8*//*Label 1296*/ GIMT_Encode4(57882),
19357 /* 52290 */ /*GILLT_v32s16*//*Label 1297*/ GIMT_Encode4(58056),
19358 /* 52294 */ /*GILLT_v64s1*//*Label 1298*/ GIMT_Encode4(58230),
19359 /* 52298 */ /*GILLT_v64s8*//*Label 1299*/ GIMT_Encode4(58312),
19360 /* 52302 */ // Label 1275: @52302
19361 /* 52302 */ GIM_Try, /*On fail goto*//*Label 1301*/ GIMT_Encode4(52368), // Rule ID 19443 //
19362 /* 52307 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
19363 /* 52310 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19364 /* 52313 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19365 /* 52317 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
19366 /* 52321 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19367 /* 52325 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19368 /* 52332 */ // (ld:{ *:[v1i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (COPY_TO_REGCLASS:{ *:[v1i1] } (KMOVBkm:{ *:[v8i1] } addr:{ *:[iPTR] }:$src), VK1:{ *:[i32] })
19369 /* 52332 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
19370 /* 52335 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVBkm),
19371 /* 52339 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19372 /* 52344 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19373 /* 52348 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19374 /* 52352 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19375 /* 52354 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19376 /* 52357 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19377 /* 52359 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19378 /* 52362 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
19379 /* 52367 */ // GIR_Coverage, 19443,
19380 /* 52367 */ GIR_EraseRootFromParent_Done,
19381 /* 52368 */ // Label 1301: @52368
19382 /* 52368 */ GIM_Reject,
19383 /* 52369 */ // Label 1276: @52369
19384 /* 52369 */ GIM_Try, /*On fail goto*//*Label 1302*/ GIMT_Encode4(52418), // Rule ID 22576 //
19385 /* 52374 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
19386 /* 52377 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19387 /* 52381 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
19388 /* 52388 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
19389 /* 52392 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19390 /* 52396 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19391 /* 52403 */ // (atomic_load:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_8>> => (MOV8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
19392 /* 52403 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8rm),
19393 /* 52406 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19394 /* 52408 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19395 /* 52412 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19396 /* 52416 */ GIR_RootConstrainSelectedInstOperands,
19397 /* 52417 */ // GIR_Coverage, 22576,
19398 /* 52417 */ GIR_EraseRootFromParent_Done,
19399 /* 52418 */ // Label 1302: @52418
19400 /* 52418 */ GIM_Try, /*On fail goto*//*Label 1303*/ GIMT_Encode4(52467), // Rule ID 22662 //
19401 /* 52423 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19402 /* 52426 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19403 /* 52430 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
19404 /* 52437 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
19405 /* 52441 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19406 /* 52445 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19407 /* 52452 */ // (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi1>> => (MOV8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
19408 /* 52452 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8rm),
19409 /* 52455 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19410 /* 52457 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19411 /* 52461 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19412 /* 52465 */ GIR_RootConstrainSelectedInstOperands,
19413 /* 52466 */ // GIR_Coverage, 22662,
19414 /* 52466 */ GIR_EraseRootFromParent_Done,
19415 /* 52467 */ // Label 1303: @52467
19416 /* 52467 */ GIM_Try, /*On fail goto*//*Label 1304*/ GIMT_Encode4(52509), // Rule ID 28 //
19417 /* 52472 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19418 /* 52475 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
19419 /* 52479 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19420 /* 52483 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
19421 /* 52487 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19422 /* 52494 */ // (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>> => (MOV8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
19423 /* 52494 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8rm),
19424 /* 52497 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19425 /* 52499 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19426 /* 52503 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19427 /* 52507 */ GIR_RootConstrainSelectedInstOperands,
19428 /* 52508 */ // GIR_Coverage, 28,
19429 /* 52508 */ GIR_EraseRootFromParent_Done,
19430 /* 52509 */ // Label 1304: @52509
19431 /* 52509 */ GIM_Reject,
19432 /* 52510 */ // Label 1277: @52510
19433 /* 52510 */ GIM_Try, /*On fail goto*//*Label 1305*/ GIMT_Encode4(52559), // Rule ID 22577 //
19434 /* 52515 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
19435 /* 52518 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19436 /* 52522 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
19437 /* 52529 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
19438 /* 52533 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19439 /* 52537 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19440 /* 52544 */ // (atomic_load:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_16>> => (MOV16rm:{ *:[i16] } addr:{ *:[iPTR] }:$src)
19441 /* 52544 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16rm),
19442 /* 52547 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19443 /* 52549 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19444 /* 52553 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19445 /* 52557 */ GIR_RootConstrainSelectedInstOperands,
19446 /* 52558 */ // GIR_Coverage, 22577,
19447 /* 52558 */ GIR_EraseRootFromParent_Done,
19448 /* 52559 */ // Label 1305: @52559
19449 /* 52559 */ GIM_Try, /*On fail goto*//*Label 1306*/ GIMT_Encode4(52638), // Rule ID 22663 //
19450 /* 52564 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19451 /* 52567 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19452 /* 52571 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
19453 /* 52578 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
19454 /* 52582 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19455 /* 52586 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19456 /* 52593 */ // (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] })
19457 /* 52593 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19458 /* 52596 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
19459 /* 52600 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19460 /* 52605 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19461 /* 52609 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19462 /* 52613 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19463 /* 52615 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19464 /* 52618 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19465 /* 52620 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
19466 /* 52627 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
19467 /* 52632 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
19468 /* 52637 */ // GIR_Coverage, 22663,
19469 /* 52637 */ GIR_EraseRootFromParent_Done,
19470 /* 52638 */ // Label 1306: @52638
19471 /* 52638 */ GIM_Try, /*On fail goto*//*Label 1307*/ GIMT_Encode4(52717), // Rule ID 22665 //
19472 /* 52643 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19473 /* 52646 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19474 /* 52650 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
19475 /* 52657 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
19476 /* 52661 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19477 /* 52665 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19478 /* 52672 */ // (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] })
19479 /* 52672 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19480 /* 52675 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
19481 /* 52679 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19482 /* 52684 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19483 /* 52688 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19484 /* 52692 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19485 /* 52694 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19486 /* 52697 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19487 /* 52699 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
19488 /* 52706 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
19489 /* 52711 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
19490 /* 52716 */ // GIR_Coverage, 22665,
19491 /* 52716 */ GIR_EraseRootFromParent_Done,
19492 /* 52717 */ // Label 1307: @52717
19493 /* 52717 */ GIM_Try, /*On fail goto*//*Label 1308*/ GIMT_Encode4(52762), // Rule ID 4625 //
19494 /* 52722 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
19495 /* 52725 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19496 /* 52728 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19497 /* 52732 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
19498 /* 52736 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19499 /* 52740 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19500 /* 52747 */ // (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSHZrm_alt:{ *:[f16] } addr:{ *:[iPTR] }:$src)
19501 /* 52747 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSHZrm_alt),
19502 /* 52750 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19503 /* 52752 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19504 /* 52756 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19505 /* 52760 */ GIR_RootConstrainSelectedInstOperands,
19506 /* 52761 */ // GIR_Coverage, 4625,
19507 /* 52761 */ GIR_EraseRootFromParent_Done,
19508 /* 52762 */ // Label 1308: @52762
19509 /* 52762 */ GIM_Try, /*On fail goto*//*Label 1309*/ GIMT_Encode4(52848), // Rule ID 18329 //
19510 /* 52767 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoBWI),
19511 /* 52770 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19512 /* 52773 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19513 /* 52777 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
19514 /* 52781 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19515 /* 52785 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19516 /* 52792 */ // (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] })
19517 /* 52792 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
19518 /* 52795 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
19519 /* 52799 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19520 /* 52804 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
19521 /* 52806 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
19522 /* 52809 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPINSRWrmi),
19523 /* 52813 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19524 /* 52818 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
19525 /* 52821 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19526 /* 52825 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
19527 /* 52828 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19528 /* 52832 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19529 /* 52834 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19530 /* 52837 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19531 /* 52839 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19532 /* 52842 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
19533 /* 52847 */ // GIR_Coverage, 18329,
19534 /* 52847 */ GIR_EraseRootFromParent_Done,
19535 /* 52848 */ // Label 1309: @52848
19536 /* 52848 */ GIM_Try, /*On fail goto*//*Label 1310*/ GIMT_Encode4(52890), // Rule ID 29 //
19537 /* 52853 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19538 /* 52856 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
19539 /* 52860 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19540 /* 52864 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
19541 /* 52868 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19542 /* 52875 */ // (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>> => (MOV16rm:{ *:[i16] } addr:{ *:[iPTR] }:$src)
19543 /* 52875 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16rm),
19544 /* 52878 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19545 /* 52880 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19546 /* 52884 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19547 /* 52888 */ GIR_RootConstrainSelectedInstOperands,
19548 /* 52889 */ // GIR_Coverage, 29,
19549 /* 52889 */ GIR_EraseRootFromParent_Done,
19550 /* 52890 */ // Label 1310: @52890
19551 /* 52890 */ GIM_Try, /*On fail goto*//*Label 1311*/ GIMT_Encode4(52976), // Rule ID 18325 //
19552 /* 52895 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
19553 /* 52898 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19554 /* 52901 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19555 /* 52905 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
19556 /* 52909 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19557 /* 52913 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19558 /* 52920 */ // (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] })
19559 /* 52920 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
19560 /* 52923 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
19561 /* 52927 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19562 /* 52932 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
19563 /* 52934 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
19564 /* 52937 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::PINSRWrmi),
19565 /* 52941 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19566 /* 52946 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
19567 /* 52949 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19568 /* 52953 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
19569 /* 52956 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19570 /* 52960 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19571 /* 52962 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19572 /* 52965 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19573 /* 52967 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19574 /* 52970 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
19575 /* 52975 */ // GIR_Coverage, 18325,
19576 /* 52975 */ GIR_EraseRootFromParent_Done,
19577 /* 52976 */ // Label 1311: @52976
19578 /* 52976 */ GIM_Try, /*On fail goto*//*Label 1312*/ GIMT_Encode4(53062), // Rule ID 21850 //
19579 /* 52981 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
19580 /* 52984 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19581 /* 52987 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19582 /* 52991 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
19583 /* 52995 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19584 /* 52999 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19585 /* 53006 */ // (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] })
19586 /* 53006 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
19587 /* 53009 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
19588 /* 53013 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19589 /* 53018 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
19590 /* 53020 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
19591 /* 53023 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPINSRWZrmi),
19592 /* 53027 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19593 /* 53032 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
19594 /* 53035 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19595 /* 53039 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
19596 /* 53042 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19597 /* 53046 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19598 /* 53048 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19599 /* 53051 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19600 /* 53053 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19601 /* 53056 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
19602 /* 53061 */ // GIR_Coverage, 21850,
19603 /* 53061 */ GIR_EraseRootFromParent_Done,
19604 /* 53062 */ // Label 1312: @53062
19605 /* 53062 */ GIM_Reject,
19606 /* 53063 */ // Label 1278: @53063
19607 /* 53063 */ GIM_Try, /*On fail goto*//*Label 1313*/ GIMT_Encode4(53111), // Rule ID 1080 //
19608 /* 53068 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
19609 /* 53071 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19610 /* 53074 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19611 /* 53078 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
19612 /* 53082 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19613 /* 53086 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19614 /* 53093 */ // (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (LD_Fp32m:{ *:[f32] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
19615 /* 53093 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp32m),
19616 /* 53096 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19617 /* 53098 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19618 /* 53102 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
19619 /* 53105 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19620 /* 53109 */ GIR_RootConstrainSelectedInstOperands,
19621 /* 53110 */ // GIR_Coverage, 1080,
19622 /* 53110 */ GIR_EraseRootFromParent_Done,
19623 /* 53111 */ // Label 1313: @53111
19624 /* 53111 */ GIM_Try, /*On fail goto*//*Label 1314*/ GIMT_Encode4(53156), // Rule ID 1697 //
19625 /* 53116 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
19626 /* 53119 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19627 /* 53122 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19628 /* 53126 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
19629 /* 53130 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19630 /* 53134 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19631 /* 53141 */ // (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSSrm_alt:{ *:[f32] } addr:{ *:[iPTR] }:$src)
19632 /* 53141 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSrm_alt),
19633 /* 53144 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19634 /* 53146 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19635 /* 53150 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19636 /* 53154 */ GIR_RootConstrainSelectedInstOperands,
19637 /* 53155 */ // GIR_Coverage, 1697,
19638 /* 53155 */ GIR_EraseRootFromParent_Done,
19639 /* 53156 */ // Label 1314: @53156
19640 /* 53156 */ GIM_Try, /*On fail goto*//*Label 1315*/ GIMT_Encode4(53201), // Rule ID 1698 //
19641 /* 53161 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
19642 /* 53164 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19643 /* 53167 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19644 /* 53171 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
19645 /* 53175 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19646 /* 53179 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19647 /* 53186 */ // (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVSSrm_alt:{ *:[f32] } addr:{ *:[iPTR] }:$src)
19648 /* 53186 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSSrm_alt),
19649 /* 53189 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19650 /* 53191 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19651 /* 53195 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19652 /* 53199 */ GIR_RootConstrainSelectedInstOperands,
19653 /* 53200 */ // GIR_Coverage, 1698,
19654 /* 53200 */ GIR_EraseRootFromParent_Done,
19655 /* 53201 */ // Label 1315: @53201
19656 /* 53201 */ GIM_Try, /*On fail goto*//*Label 1316*/ GIMT_Encode4(53250), // Rule ID 22578 //
19657 /* 53206 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
19658 /* 53209 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19659 /* 53213 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
19660 /* 53220 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
19661 /* 53224 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19662 /* 53228 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19663 /* 53235 */ // (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>> => (MOV32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
19664 /* 53235 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32rm),
19665 /* 53238 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19666 /* 53240 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19667 /* 53244 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19668 /* 53248 */ GIR_RootConstrainSelectedInstOperands,
19669 /* 53249 */ // GIR_Coverage, 22578,
19670 /* 53249 */ GIR_EraseRootFromParent_Done,
19671 /* 53250 */ // Label 1316: @53250
19672 /* 53250 */ GIM_Try, /*On fail goto*//*Label 1317*/ GIMT_Encode4(53299), // Rule ID 22664 //
19673 /* 53255 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19674 /* 53258 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19675 /* 53262 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
19676 /* 53269 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
19677 /* 53273 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19678 /* 53277 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19679 /* 53284 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi1>> => (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
19680 /* 53284 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
19681 /* 53287 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19682 /* 53289 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19683 /* 53293 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19684 /* 53297 */ GIR_RootConstrainSelectedInstOperands,
19685 /* 53298 */ // GIR_Coverage, 22664,
19686 /* 53298 */ GIR_EraseRootFromParent_Done,
19687 /* 53299 */ // Label 1317: @53299
19688 /* 53299 */ GIM_Try, /*On fail goto*//*Label 1318*/ GIMT_Encode4(53348), // Rule ID 22666 //
19689 /* 53304 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19690 /* 53307 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19691 /* 53311 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
19692 /* 53318 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
19693 /* 53322 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19694 /* 53326 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19695 /* 53333 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> => (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
19696 /* 53333 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
19697 /* 53336 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19698 /* 53338 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19699 /* 53342 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19700 /* 53346 */ GIR_RootConstrainSelectedInstOperands,
19701 /* 53347 */ // GIR_Coverage, 22666,
19702 /* 53347 */ GIR_EraseRootFromParent_Done,
19703 /* 53348 */ // Label 1318: @53348
19704 /* 53348 */ GIM_Try, /*On fail goto*//*Label 1319*/ GIMT_Encode4(53397), // Rule ID 22667 //
19705 /* 53353 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19706 /* 53356 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19707 /* 53360 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
19708 /* 53367 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
19709 /* 53371 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19710 /* 53375 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19711 /* 53382 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> => (MOVZX32rm16:{ *:[i32] } addr:{ *:[iPTR] }:$src)
19712 /* 53382 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm16),
19713 /* 53385 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19714 /* 53387 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19715 /* 53391 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19716 /* 53395 */ GIR_RootConstrainSelectedInstOperands,
19717 /* 53396 */ // GIR_Coverage, 22667,
19718 /* 53396 */ GIR_EraseRootFromParent_Done,
19719 /* 53397 */ // Label 1319: @53397
19720 /* 53397 */ GIM_Try, /*On fail goto*//*Label 1320*/ GIMT_Encode4(53442), // Rule ID 4613 //
19721 /* 53402 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
19722 /* 53405 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19723 /* 53408 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19724 /* 53412 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
19725 /* 53416 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19726 /* 53420 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19727 /* 53427 */ // (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSSZrm_alt:{ *:[f32] } addr:{ *:[iPTR] }:$src)
19728 /* 53427 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSZrm_alt),
19729 /* 53430 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19730 /* 53432 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19731 /* 53436 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19732 /* 53440 */ GIR_RootConstrainSelectedInstOperands,
19733 /* 53441 */ // GIR_Coverage, 4613,
19734 /* 53441 */ GIR_EraseRootFromParent_Done,
19735 /* 53442 */ // Label 1320: @53442
19736 /* 53442 */ GIM_Try, /*On fail goto*//*Label 1321*/ GIMT_Encode4(53484), // Rule ID 30 //
19737 /* 53447 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19738 /* 53450 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
19739 /* 53454 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19740 /* 53458 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
19741 /* 53462 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19742 /* 53469 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>> => (MOV32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
19743 /* 53469 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32rm),
19744 /* 53472 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19745 /* 53474 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19746 /* 53478 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19747 /* 53482 */ GIR_RootConstrainSelectedInstOperands,
19748 /* 53483 */ // GIR_Coverage, 30,
19749 /* 53483 */ GIR_EraseRootFromParent_Done,
19750 /* 53484 */ // Label 1321: @53484
19751 /* 53484 */ GIM_Reject,
19752 /* 53485 */ // Label 1279: @53485
19753 /* 53485 */ GIM_Try, /*On fail goto*//*Label 1322*/ GIMT_Encode4(53527), // Rule ID 31 //
19754 /* 53490 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19755 /* 53493 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19756 /* 53497 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19757 /* 53501 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19758 /* 53505 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19759 /* 53512 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOV64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19760 /* 53512 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64rm),
19761 /* 53515 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19762 /* 53517 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19763 /* 53521 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19764 /* 53525 */ GIR_RootConstrainSelectedInstOperands,
19765 /* 53526 */ // GIR_Coverage, 31,
19766 /* 53526 */ GIR_EraseRootFromParent_Done,
19767 /* 53527 */ // Label 1322: @53527
19768 /* 53527 */ GIM_Try, /*On fail goto*//*Label 1323*/ GIMT_Encode4(53575), // Rule ID 1081 //
19769 /* 53532 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
19770 /* 53535 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19771 /* 53538 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19772 /* 53542 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
19773 /* 53546 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19774 /* 53550 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19775 /* 53557 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (LD_Fp64m:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
19776 /* 53557 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp64m),
19777 /* 53560 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19778 /* 53562 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19779 /* 53566 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
19780 /* 53569 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19781 /* 53573 */ GIR_RootConstrainSelectedInstOperands,
19782 /* 53574 */ // GIR_Coverage, 1081,
19783 /* 53574 */ GIR_EraseRootFromParent_Done,
19784 /* 53575 */ // Label 1323: @53575
19785 /* 53575 */ GIM_Try, /*On fail goto*//*Label 1324*/ GIMT_Encode4(53630), // Rule ID 1083 //
19786 /* 53580 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
19787 /* 53583 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19788 /* 53586 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19789 /* 53590 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
19790 /* 53597 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
19791 /* 53601 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19792 /* 53605 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19793 /* 53612 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>> => (LD_Fp32m64:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
19794 /* 53612 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp32m64),
19795 /* 53615 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19796 /* 53617 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19797 /* 53621 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
19798 /* 53624 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19799 /* 53628 */ GIR_RootConstrainSelectedInstOperands,
19800 /* 53629 */ // GIR_Coverage, 1083,
19801 /* 53629 */ GIR_EraseRootFromParent_Done,
19802 /* 53630 */ // Label 1324: @53630
19803 /* 53630 */ GIM_Try, /*On fail goto*//*Label 1325*/ GIMT_Encode4(53675), // Rule ID 1701 //
19804 /* 53635 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
19805 /* 53638 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19806 /* 53641 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19807 /* 53645 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
19808 /* 53649 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19809 /* 53653 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19810 /* 53660 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSDrm_alt:{ *:[f64] } addr:{ *:[iPTR] }:$src)
19811 /* 53660 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDrm_alt),
19812 /* 53663 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19813 /* 53665 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19814 /* 53669 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19815 /* 53673 */ GIR_RootConstrainSelectedInstOperands,
19816 /* 53674 */ // GIR_Coverage, 1701,
19817 /* 53674 */ GIR_EraseRootFromParent_Done,
19818 /* 53675 */ // Label 1325: @53675
19819 /* 53675 */ GIM_Try, /*On fail goto*//*Label 1326*/ GIMT_Encode4(53720), // Rule ID 1702 //
19820 /* 53680 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
19821 /* 53683 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19822 /* 53686 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19823 /* 53690 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
19824 /* 53694 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19825 /* 53698 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19826 /* 53705 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVSDrm_alt:{ *:[f64] } addr:{ *:[iPTR] }:$src)
19827 /* 53705 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSDrm_alt),
19828 /* 53708 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19829 /* 53710 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19830 /* 53714 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19831 /* 53718 */ GIR_RootConstrainSelectedInstOperands,
19832 /* 53719 */ // GIR_Coverage, 1702,
19833 /* 53719 */ GIR_EraseRootFromParent_Done,
19834 /* 53720 */ // Label 1326: @53720
19835 /* 53720 */ GIM_Try, /*On fail goto*//*Label 1327*/ GIMT_Encode4(53769), // Rule ID 22579 //
19836 /* 53725 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
19837 /* 53728 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19838 /* 53732 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
19839 /* 53739 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19840 /* 53743 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19841 /* 53747 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19842 /* 53754 */ // (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>> => (MOV64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19843 /* 53754 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64rm),
19844 /* 53757 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19845 /* 53759 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19846 /* 53763 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19847 /* 53767 */ GIR_RootConstrainSelectedInstOperands,
19848 /* 53768 */ // GIR_Coverage, 22579,
19849 /* 53768 */ GIR_EraseRootFromParent_Done,
19850 /* 53769 */ // Label 1327: @53769
19851 /* 53769 */ GIM_Try, /*On fail goto*//*Label 1328*/ GIMT_Encode4(53847), // Rule ID 22669 //
19852 /* 53774 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19853 /* 53777 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19854 /* 53781 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
19855 /* 53788 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19856 /* 53792 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19857 /* 53796 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19858 /* 53803 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi1>> => (SUBREG_TO_REG:{ *:[i64] } (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src), sub_32bit:{ *:[i32] })
19859 /* 53803 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19860 /* 53806 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
19861 /* 53810 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19862 /* 53815 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19863 /* 53819 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19864 /* 53823 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19865 /* 53825 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
19866 /* 53828 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19867 /* 53830 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19868 /* 53833 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
19869 /* 53836 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
19870 /* 53841 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
19871 /* 53846 */ // GIR_Coverage, 22669,
19872 /* 53846 */ GIR_EraseRootFromParent_Done,
19873 /* 53847 */ // Label 1328: @53847
19874 /* 53847 */ GIM_Try, /*On fail goto*//*Label 1329*/ GIMT_Encode4(53925), // Rule ID 22670 //
19875 /* 53852 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19876 /* 53855 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19877 /* 53859 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
19878 /* 53866 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19879 /* 53870 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19880 /* 53874 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19881 /* 53881 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> => (SUBREG_TO_REG:{ *:[i64] } (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src), sub_32bit:{ *:[i32] })
19882 /* 53881 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19883 /* 53884 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
19884 /* 53888 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19885 /* 53893 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19886 /* 53897 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19887 /* 53901 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19888 /* 53903 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
19889 /* 53906 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19890 /* 53908 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19891 /* 53911 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
19892 /* 53914 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
19893 /* 53919 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
19894 /* 53924 */ // GIR_Coverage, 22670,
19895 /* 53924 */ GIR_EraseRootFromParent_Done,
19896 /* 53925 */ // Label 1329: @53925
19897 /* 53925 */ GIM_Try, /*On fail goto*//*Label 1330*/ GIMT_Encode4(54003), // Rule ID 22671 //
19898 /* 53930 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19899 /* 53933 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19900 /* 53937 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
19901 /* 53944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19902 /* 53948 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19903 /* 53952 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19904 /* 53959 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> => (SUBREG_TO_REG:{ *:[i64] } (MOVZX32rm16:{ *:[i32] } addr:{ *:[iPTR] }:$src), sub_32bit:{ *:[i32] })
19905 /* 53959 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19906 /* 53962 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm16),
19907 /* 53966 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19908 /* 53971 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19909 /* 53975 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19910 /* 53979 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19911 /* 53981 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
19912 /* 53984 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19913 /* 53986 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19914 /* 53989 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
19915 /* 53992 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
19916 /* 53997 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
19917 /* 54002 */ // GIR_Coverage, 22671,
19918 /* 54002 */ GIR_EraseRootFromParent_Done,
19919 /* 54003 */ // Label 1330: @54003
19920 /* 54003 */ GIM_Try, /*On fail goto*//*Label 1331*/ GIMT_Encode4(54048), // Rule ID 4619 //
19921 /* 54008 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
19922 /* 54011 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19923 /* 54014 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19924 /* 54018 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
19925 /* 54022 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19926 /* 54026 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19927 /* 54033 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSDZrm_alt:{ *:[f64] } addr:{ *:[iPTR] }:$src)
19928 /* 54033 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDZrm_alt),
19929 /* 54036 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19930 /* 54038 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19931 /* 54042 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19932 /* 54046 */ GIR_RootConstrainSelectedInstOperands,
19933 /* 54047 */ // GIR_Coverage, 4619,
19934 /* 54047 */ GIR_EraseRootFromParent_Done,
19935 /* 54048 */ // Label 1331: @54048
19936 /* 54048 */ GIM_Reject,
19937 /* 54049 */ // Label 1280: @54049
19938 /* 54049 */ GIM_Try, /*On fail goto*//*Label 1332*/ GIMT_Encode4(54207),
19939 /* 54054 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19940 /* 54057 */ GIM_Try, /*On fail goto*//*Label 1333*/ GIMT_Encode4(54102), // Rule ID 1082 //
19941 /* 54062 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
19942 /* 54065 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19943 /* 54069 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
19944 /* 54073 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19945 /* 54077 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19946 /* 54084 */ // (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (LD_Fp80m:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
19947 /* 54084 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp80m),
19948 /* 54087 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19949 /* 54089 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19950 /* 54093 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
19951 /* 54096 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19952 /* 54100 */ GIR_RootConstrainSelectedInstOperands,
19953 /* 54101 */ // GIR_Coverage, 1082,
19954 /* 54101 */ GIR_EraseRootFromParent_Done,
19955 /* 54102 */ // Label 1333: @54102
19956 /* 54102 */ GIM_Try, /*On fail goto*//*Label 1334*/ GIMT_Encode4(54154), // Rule ID 1084 //
19957 /* 54107 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
19958 /* 54110 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19959 /* 54114 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
19960 /* 54121 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
19961 /* 54125 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19962 /* 54129 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19963 /* 54136 */ // (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf64>> => (LD_Fp64m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
19964 /* 54136 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp64m80),
19965 /* 54139 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19966 /* 54141 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19967 /* 54145 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
19968 /* 54148 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19969 /* 54152 */ GIR_RootConstrainSelectedInstOperands,
19970 /* 54153 */ // GIR_Coverage, 1084,
19971 /* 54153 */ GIR_EraseRootFromParent_Done,
19972 /* 54154 */ // Label 1334: @54154
19973 /* 54154 */ GIM_Try, /*On fail goto*//*Label 1335*/ GIMT_Encode4(54206), // Rule ID 1085 //
19974 /* 54159 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
19975 /* 54162 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19976 /* 54166 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
19977 /* 54173 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
19978 /* 54177 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19979 /* 54181 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19980 /* 54188 */ // (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>> => (LD_Fp32m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
19981 /* 54188 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp32m80),
19982 /* 54191 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19983 /* 54193 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19984 /* 54197 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
19985 /* 54200 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19986 /* 54204 */ GIR_RootConstrainSelectedInstOperands,
19987 /* 54205 */ // GIR_Coverage, 1085,
19988 /* 54205 */ GIR_EraseRootFromParent_Done,
19989 /* 54206 */ // Label 1335: @54206
19990 /* 54206 */ GIM_Reject,
19991 /* 54207 */ // Label 1332: @54207
19992 /* 54207 */ GIM_Reject,
19993 /* 54208 */ // Label 1281: @54208
19994 /* 54208 */ GIM_Try, /*On fail goto*//*Label 1336*/ GIMT_Encode4(54335),
19995 /* 54213 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19996 /* 54216 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19997 /* 54220 */ GIM_Try, /*On fail goto*//*Label 1337*/ GIMT_Encode4(54258), // Rule ID 23227 //
19998 /* 54225 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoAVX),
19999 /* 54228 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20000 /* 54232 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20001 /* 54236 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20002 /* 54243 */ // (ld:{ *:[f128] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[f128] } addr:{ *:[iPTR] }:$src)
20003 /* 54243 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
20004 /* 54246 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20005 /* 54248 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20006 /* 54252 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20007 /* 54256 */ GIR_RootConstrainSelectedInstOperands,
20008 /* 54257 */ // GIR_Coverage, 23227,
20009 /* 54257 */ GIR_EraseRootFromParent_Done,
20010 /* 54258 */ // Label 1337: @54258
20011 /* 54258 */ GIM_Try, /*On fail goto*//*Label 1338*/ GIMT_Encode4(54296), // Rule ID 23231 //
20012 /* 54263 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20013 /* 54266 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20014 /* 54270 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20015 /* 54274 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20016 /* 54281 */ // (ld:{ *:[f128] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSrm:{ *:[f128] } addr:{ *:[iPTR] }:$src)
20017 /* 54281 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSrm),
20018 /* 54284 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20019 /* 54286 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20020 /* 54290 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20021 /* 54294 */ GIR_RootConstrainSelectedInstOperands,
20022 /* 54295 */ // GIR_Coverage, 23231,
20023 /* 54295 */ GIR_EraseRootFromParent_Done,
20024 /* 54296 */ // Label 1338: @54296
20025 /* 54296 */ GIM_Try, /*On fail goto*//*Label 1339*/ GIMT_Encode4(54334), // Rule ID 23235 //
20026 /* 54301 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
20027 /* 54304 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20028 /* 54308 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20029 /* 54312 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20030 /* 54319 */ // (ld:{ *:[f128] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ128rm:{ *:[f128] } addr:{ *:[iPTR] }:$src)
20031 /* 54319 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128rm),
20032 /* 54322 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20033 /* 54324 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20034 /* 54328 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20035 /* 54332 */ GIR_RootConstrainSelectedInstOperands,
20036 /* 54333 */ // GIR_Coverage, 23235,
20037 /* 54333 */ GIR_EraseRootFromParent_Done,
20038 /* 54334 */ // Label 1339: @54334
20039 /* 54334 */ GIM_Reject,
20040 /* 54335 */ // Label 1336: @54335
20041 /* 54335 */ GIM_Reject,
20042 /* 54336 */ // Label 1282: @54336
20043 /* 54336 */ GIM_Try, /*On fail goto*//*Label 1340*/ GIMT_Encode4(54402), // Rule ID 19444 //
20044 /* 54341 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
20045 /* 54344 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20046 /* 54347 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20047 /* 54351 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
20048 /* 54355 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20049 /* 54359 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20050 /* 54366 */ // (ld:{ *:[v2i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (COPY_TO_REGCLASS:{ *:[v2i1] } (KMOVBkm:{ *:[v8i1] } addr:{ *:[iPTR] }:$src), VK2:{ *:[i32] })
20051 /* 54366 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
20052 /* 54369 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVBkm),
20053 /* 54373 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20054 /* 54378 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
20055 /* 54382 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
20056 /* 54386 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20057 /* 54388 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
20058 /* 54391 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20059 /* 54393 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20060 /* 54396 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
20061 /* 54401 */ // GIR_Coverage, 19444,
20062 /* 54401 */ GIR_EraseRootFromParent_Done,
20063 /* 54402 */ // Label 1340: @54402
20064 /* 54402 */ GIM_Reject,
20065 /* 54403 */ // Label 1283: @54403
20066 /* 54403 */ GIM_Try, /*On fail goto*//*Label 1341*/ GIMT_Encode4(54896),
20067 /* 54408 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20068 /* 54411 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20069 /* 54415 */ GIM_Try, /*On fail goto*//*Label 1342*/ GIMT_Encode4(54457), // Rule ID 1704 //
20070 /* 54420 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20071 /* 54423 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20072 /* 54427 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20073 /* 54431 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20074 /* 54435 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20075 /* 54442 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
20076 /* 54442 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDrm),
20077 /* 54445 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20078 /* 54447 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20079 /* 54451 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20080 /* 54455 */ GIR_RootConstrainSelectedInstOperands,
20081 /* 54456 */ // GIR_Coverage, 1704,
20082 /* 54456 */ GIR_EraseRootFromParent_Done,
20083 /* 54457 */ // Label 1342: @54457
20084 /* 54457 */ GIM_Try, /*On fail goto*//*Label 1343*/ GIMT_Encode4(54495), // Rule ID 1706 //
20085 /* 54462 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20086 /* 54465 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20087 /* 54469 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20088 /* 54473 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20089 /* 54480 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
20090 /* 54480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDrm),
20091 /* 54483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20092 /* 54485 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20093 /* 54489 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20094 /* 54493 */ GIR_RootConstrainSelectedInstOperands,
20095 /* 54494 */ // GIR_Coverage, 1706,
20096 /* 54494 */ GIR_EraseRootFromParent_Done,
20097 /* 54495 */ // Label 1343: @54495
20098 /* 54495 */ GIM_Try, /*On fail goto*//*Label 1344*/ GIMT_Encode4(54537), // Rule ID 1713 //
20099 /* 54500 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
20100 /* 54503 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20101 /* 54507 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20102 /* 54511 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20103 /* 54515 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20104 /* 54522 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (MOVAPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
20105 /* 54522 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPDrm),
20106 /* 54525 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20107 /* 54527 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20108 /* 54531 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20109 /* 54535 */ GIR_RootConstrainSelectedInstOperands,
20110 /* 54536 */ // GIR_Coverage, 1713,
20111 /* 54536 */ GIR_EraseRootFromParent_Done,
20112 /* 54537 */ // Label 1344: @54537
20113 /* 54537 */ GIM_Try, /*On fail goto*//*Label 1345*/ GIMT_Encode4(54575), // Rule ID 1714 //
20114 /* 54542 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
20115 /* 54545 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20116 /* 54549 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20117 /* 54553 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20118 /* 54560 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
20119 /* 54560 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPDrm),
20120 /* 54563 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20121 /* 54565 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20122 /* 54569 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20123 /* 54573 */ GIR_RootConstrainSelectedInstOperands,
20124 /* 54574 */ // GIR_Coverage, 1714,
20125 /* 54574 */ GIR_EraseRootFromParent_Done,
20126 /* 54575 */ // Label 1345: @54575
20127 /* 54575 */ GIM_Try, /*On fail goto*//*Label 1346*/ GIMT_Encode4(54617), // Rule ID 2518 //
20128 /* 54580 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20129 /* 54583 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20130 /* 54587 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20131 /* 54591 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20132 /* 54595 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20133 /* 54602 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQArm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20134 /* 54602 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
20135 /* 54605 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20136 /* 54607 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20137 /* 54611 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20138 /* 54615 */ GIR_RootConstrainSelectedInstOperands,
20139 /* 54616 */ // GIR_Coverage, 2518,
20140 /* 54616 */ GIR_EraseRootFromParent_Done,
20141 /* 54617 */ // Label 1346: @54617
20142 /* 54617 */ GIM_Try, /*On fail goto*//*Label 1347*/ GIMT_Encode4(54655), // Rule ID 2519 //
20143 /* 54622 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20144 /* 54625 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20145 /* 54629 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20146 /* 54633 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20147 /* 54640 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20148 /* 54640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
20149 /* 54643 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20150 /* 54645 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20151 /* 54649 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20152 /* 54653 */ GIR_RootConstrainSelectedInstOperands,
20153 /* 54654 */ // GIR_Coverage, 2519,
20154 /* 54654 */ GIR_EraseRootFromParent_Done,
20155 /* 54655 */ // Label 1347: @54655
20156 /* 54655 */ GIM_Try, /*On fail goto*//*Label 1348*/ GIMT_Encode4(54697), // Rule ID 4494 //
20157 /* 54660 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
20158 /* 54663 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20159 /* 54667 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20160 /* 54671 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20161 /* 54675 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20162 /* 54682 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPDZ128rm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
20163 /* 54682 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128rm),
20164 /* 54685 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20165 /* 54687 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20166 /* 54691 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20167 /* 54695 */ GIR_RootConstrainSelectedInstOperands,
20168 /* 54696 */ // GIR_Coverage, 4494,
20169 /* 54696 */ GIR_EraseRootFromParent_Done,
20170 /* 54697 */ // Label 1348: @54697
20171 /* 54697 */ GIM_Try, /*On fail goto*//*Label 1349*/ GIMT_Encode4(54735), // Rule ID 4519 //
20172 /* 54702 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
20173 /* 54705 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20174 /* 54709 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20175 /* 54713 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20176 /* 54720 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDZ128rm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
20177 /* 54720 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZ128rm),
20178 /* 54723 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20179 /* 54725 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20180 /* 54729 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20181 /* 54733 */ GIR_RootConstrainSelectedInstOperands,
20182 /* 54734 */ // GIR_Coverage, 4519,
20183 /* 54734 */ GIR_EraseRootFromParent_Done,
20184 /* 54735 */ // Label 1349: @54735
20185 /* 54735 */ GIM_Try, /*On fail goto*//*Label 1350*/ GIMT_Encode4(54777), // Rule ID 4548 //
20186 /* 54740 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
20187 /* 54743 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20188 /* 54747 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20189 /* 54751 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20190 /* 54755 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20191 /* 54762 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20192 /* 54762 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rm),
20193 /* 54765 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20194 /* 54767 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20195 /* 54771 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20196 /* 54775 */ GIR_RootConstrainSelectedInstOperands,
20197 /* 54776 */ // GIR_Coverage, 4548,
20198 /* 54776 */ GIR_EraseRootFromParent_Done,
20199 /* 54777 */ // Label 1350: @54777
20200 /* 54777 */ GIM_Try, /*On fail goto*//*Label 1351*/ GIMT_Encode4(54815), // Rule ID 4591 //
20201 /* 54782 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
20202 /* 54785 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20203 /* 54789 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20204 /* 54793 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20205 /* 54800 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20206 /* 54800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128rm),
20207 /* 54803 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20208 /* 54805 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20209 /* 54809 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20210 /* 54813 */ GIR_RootConstrainSelectedInstOperands,
20211 /* 54814 */ // GIR_Coverage, 4591,
20212 /* 54814 */ GIR_EraseRootFromParent_Done,
20213 /* 54815 */ // Label 1351: @54815
20214 /* 54815 */ GIM_Try, /*On fail goto*//*Label 1352*/ GIMT_Encode4(54857), // Rule ID 17929 //
20215 /* 54820 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
20216 /* 54823 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20217 /* 54827 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20218 /* 54831 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20219 /* 54835 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20220 /* 54842 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (MOVAPSrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20221 /* 54842 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
20222 /* 54845 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20223 /* 54847 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20224 /* 54851 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20225 /* 54855 */ GIR_RootConstrainSelectedInstOperands,
20226 /* 54856 */ // GIR_Coverage, 17929,
20227 /* 54856 */ GIR_EraseRootFromParent_Done,
20228 /* 54857 */ // Label 1352: @54857
20229 /* 54857 */ GIM_Try, /*On fail goto*//*Label 1353*/ GIMT_Encode4(54895), // Rule ID 17933 //
20230 /* 54862 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
20231 /* 54865 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20232 /* 54869 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20233 /* 54873 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20234 /* 54880 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20235 /* 54880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
20236 /* 54883 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20237 /* 54885 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20238 /* 54889 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20239 /* 54893 */ GIR_RootConstrainSelectedInstOperands,
20240 /* 54894 */ // GIR_Coverage, 17933,
20241 /* 54894 */ GIR_EraseRootFromParent_Done,
20242 /* 54895 */ // Label 1353: @54895
20243 /* 54895 */ GIM_Reject,
20244 /* 54896 */ // Label 1341: @54896
20245 /* 54896 */ GIM_Reject,
20246 /* 54897 */ // Label 1284: @54897
20247 /* 54897 */ GIM_Try, /*On fail goto*//*Label 1354*/ GIMT_Encode4(54963), // Rule ID 19445 //
20248 /* 54902 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
20249 /* 54905 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20250 /* 54908 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20251 /* 54912 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
20252 /* 54916 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20253 /* 54920 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20254 /* 54927 */ // (ld:{ *:[v4i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (COPY_TO_REGCLASS:{ *:[v4i1] } (KMOVBkm:{ *:[v8i1] } addr:{ *:[iPTR] }:$src), VK4:{ *:[i32] })
20255 /* 54927 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
20256 /* 54930 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVBkm),
20257 /* 54934 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20258 /* 54939 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
20259 /* 54943 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
20260 /* 54947 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20261 /* 54949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
20262 /* 54952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20263 /* 54954 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20264 /* 54957 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
20265 /* 54962 */ // GIR_Coverage, 19445,
20266 /* 54962 */ GIR_EraseRootFromParent_Done,
20267 /* 54963 */ // Label 1354: @54963
20268 /* 54963 */ GIM_Reject,
20269 /* 54964 */ // Label 1285: @54964
20270 /* 54964 */ GIM_Try, /*On fail goto*//*Label 1355*/ GIMT_Encode4(55457),
20271 /* 54969 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20272 /* 54972 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20273 /* 54976 */ GIM_Try, /*On fail goto*//*Label 1356*/ GIMT_Encode4(55018), // Rule ID 1703 //
20274 /* 54981 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20275 /* 54984 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20276 /* 54988 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20277 /* 54992 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20278 /* 54996 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20279 /* 55003 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
20280 /* 55003 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSrm),
20281 /* 55006 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20282 /* 55008 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20283 /* 55012 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20284 /* 55016 */ GIR_RootConstrainSelectedInstOperands,
20285 /* 55017 */ // GIR_Coverage, 1703,
20286 /* 55017 */ GIR_EraseRootFromParent_Done,
20287 /* 55018 */ // Label 1356: @55018
20288 /* 55018 */ GIM_Try, /*On fail goto*//*Label 1357*/ GIMT_Encode4(55056), // Rule ID 1705 //
20289 /* 55023 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20290 /* 55026 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20291 /* 55030 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20292 /* 55034 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20293 /* 55041 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
20294 /* 55041 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSrm),
20295 /* 55044 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20296 /* 55046 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20297 /* 55050 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20298 /* 55054 */ GIR_RootConstrainSelectedInstOperands,
20299 /* 55055 */ // GIR_Coverage, 1705,
20300 /* 55055 */ GIR_EraseRootFromParent_Done,
20301 /* 55056 */ // Label 1357: @55056
20302 /* 55056 */ GIM_Try, /*On fail goto*//*Label 1358*/ GIMT_Encode4(55098), // Rule ID 1711 //
20303 /* 55061 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
20304 /* 55064 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20305 /* 55068 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20306 /* 55072 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20307 /* 55076 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20308 /* 55083 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (MOVAPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
20309 /* 55083 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
20310 /* 55086 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20311 /* 55088 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20312 /* 55092 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20313 /* 55096 */ GIR_RootConstrainSelectedInstOperands,
20314 /* 55097 */ // GIR_Coverage, 1711,
20315 /* 55097 */ GIR_EraseRootFromParent_Done,
20316 /* 55098 */ // Label 1358: @55098
20317 /* 55098 */ GIM_Try, /*On fail goto*//*Label 1359*/ GIMT_Encode4(55136), // Rule ID 1712 //
20318 /* 55103 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
20319 /* 55106 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20320 /* 55110 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20321 /* 55114 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20322 /* 55121 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
20323 /* 55121 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
20324 /* 55124 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20325 /* 55126 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20326 /* 55130 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20327 /* 55134 */ GIR_RootConstrainSelectedInstOperands,
20328 /* 55135 */ // GIR_Coverage, 1712,
20329 /* 55135 */ GIR_EraseRootFromParent_Done,
20330 /* 55136 */ // Label 1359: @55136
20331 /* 55136 */ GIM_Try, /*On fail goto*//*Label 1360*/ GIMT_Encode4(55178), // Rule ID 4476 //
20332 /* 55141 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
20333 /* 55144 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20334 /* 55148 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20335 /* 55152 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20336 /* 55156 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20337 /* 55163 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSZ128rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
20338 /* 55163 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128rm),
20339 /* 55166 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20340 /* 55168 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20341 /* 55172 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20342 /* 55176 */ GIR_RootConstrainSelectedInstOperands,
20343 /* 55177 */ // GIR_Coverage, 4476,
20344 /* 55177 */ GIR_EraseRootFromParent_Done,
20345 /* 55178 */ // Label 1360: @55178
20346 /* 55178 */ GIM_Try, /*On fail goto*//*Label 1361*/ GIMT_Encode4(55216), // Rule ID 4507 //
20347 /* 55183 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
20348 /* 55186 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20349 /* 55190 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20350 /* 55194 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20351 /* 55201 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ128rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
20352 /* 55201 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128rm),
20353 /* 55204 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20354 /* 55206 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20355 /* 55210 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20356 /* 55214 */ GIR_RootConstrainSelectedInstOperands,
20357 /* 55215 */ // GIR_Coverage, 4507,
20358 /* 55215 */ GIR_EraseRootFromParent_Done,
20359 /* 55216 */ // Label 1361: @55216
20360 /* 55216 */ GIM_Try, /*On fail goto*//*Label 1362*/ GIMT_Encode4(55258), // Rule ID 17930 //
20361 /* 55221 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
20362 /* 55224 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20363 /* 55228 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20364 /* 55232 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20365 /* 55236 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20366 /* 55243 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (MOVAPSrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20367 /* 55243 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
20368 /* 55246 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20369 /* 55248 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20370 /* 55252 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20371 /* 55256 */ GIR_RootConstrainSelectedInstOperands,
20372 /* 55257 */ // GIR_Coverage, 17930,
20373 /* 55257 */ GIR_EraseRootFromParent_Done,
20374 /* 55258 */ // Label 1362: @55258
20375 /* 55258 */ GIM_Try, /*On fail goto*//*Label 1363*/ GIMT_Encode4(55296), // Rule ID 17934 //
20376 /* 55263 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
20377 /* 55266 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20378 /* 55270 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20379 /* 55274 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20380 /* 55281 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20381 /* 55281 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
20382 /* 55284 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20383 /* 55286 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20384 /* 55290 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20385 /* 55294 */ GIR_RootConstrainSelectedInstOperands,
20386 /* 55295 */ // GIR_Coverage, 17934,
20387 /* 55295 */ GIR_EraseRootFromParent_Done,
20388 /* 55296 */ // Label 1363: @55296
20389 /* 55296 */ GIM_Try, /*On fail goto*//*Label 1364*/ GIMT_Encode4(55338), // Rule ID 18309 //
20390 /* 55301 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20391 /* 55304 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20392 /* 55308 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20393 /* 55312 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20394 /* 55316 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20395 /* 55323 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQArm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20396 /* 55323 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
20397 /* 55326 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20398 /* 55328 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20399 /* 55332 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20400 /* 55336 */ GIR_RootConstrainSelectedInstOperands,
20401 /* 55337 */ // GIR_Coverage, 18309,
20402 /* 55337 */ GIR_EraseRootFromParent_Done,
20403 /* 55338 */ // Label 1364: @55338
20404 /* 55338 */ GIM_Try, /*On fail goto*//*Label 1365*/ GIMT_Encode4(55376), // Rule ID 18313 //
20405 /* 55343 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20406 /* 55346 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20407 /* 55350 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20408 /* 55354 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20409 /* 55361 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20410 /* 55361 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
20411 /* 55364 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20412 /* 55366 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20413 /* 55370 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20414 /* 55374 */ GIR_RootConstrainSelectedInstOperands,
20415 /* 55375 */ // GIR_Coverage, 18313,
20416 /* 55375 */ GIR_EraseRootFromParent_Done,
20417 /* 55376 */ // Label 1365: @55376
20418 /* 55376 */ GIM_Try, /*On fail goto*//*Label 1366*/ GIMT_Encode4(55418), // Rule ID 19821 //
20419 /* 55381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
20420 /* 55384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20421 /* 55388 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20422 /* 55392 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20423 /* 55396 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20424 /* 55403 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20425 /* 55403 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rm),
20426 /* 55406 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20427 /* 55408 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20428 /* 55412 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20429 /* 55416 */ GIR_RootConstrainSelectedInstOperands,
20430 /* 55417 */ // GIR_Coverage, 19821,
20431 /* 55417 */ GIR_EraseRootFromParent_Done,
20432 /* 55418 */ // Label 1366: @55418
20433 /* 55418 */ GIM_Try, /*On fail goto*//*Label 1367*/ GIMT_Encode4(55456), // Rule ID 19825 //
20434 /* 55423 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
20435 /* 55426 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20436 /* 55430 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20437 /* 55434 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20438 /* 55441 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20439 /* 55441 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128rm),
20440 /* 55444 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20441 /* 55446 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20442 /* 55450 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20443 /* 55454 */ GIR_RootConstrainSelectedInstOperands,
20444 /* 55455 */ // GIR_Coverage, 19825,
20445 /* 55455 */ GIR_EraseRootFromParent_Done,
20446 /* 55456 */ // Label 1367: @55456
20447 /* 55456 */ GIM_Reject,
20448 /* 55457 */ // Label 1355: @55457
20449 /* 55457 */ GIM_Reject,
20450 /* 55458 */ // Label 1286: @55458
20451 /* 55458 */ GIM_Try, /*On fail goto*//*Label 1368*/ GIMT_Encode4(55791),
20452 /* 55463 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20453 /* 55466 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20454 /* 55470 */ GIM_Try, /*On fail goto*//*Label 1369*/ GIMT_Encode4(55512), // Rule ID 1708 //
20455 /* 55475 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20456 /* 55478 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20457 /* 55482 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20458 /* 55486 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20459 /* 55490 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20460 /* 55497 */ // (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPDYrm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
20461 /* 55497 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDYrm),
20462 /* 55500 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20463 /* 55502 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20464 /* 55506 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20465 /* 55510 */ GIR_RootConstrainSelectedInstOperands,
20466 /* 55511 */ // GIR_Coverage, 1708,
20467 /* 55511 */ GIR_EraseRootFromParent_Done,
20468 /* 55512 */ // Label 1369: @55512
20469 /* 55512 */ GIM_Try, /*On fail goto*//*Label 1370*/ GIMT_Encode4(55550), // Rule ID 1710 //
20470 /* 55517 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20471 /* 55520 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20472 /* 55524 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20473 /* 55528 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20474 /* 55535 */ // (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDYrm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
20475 /* 55535 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDYrm),
20476 /* 55538 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20477 /* 55540 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20478 /* 55544 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20479 /* 55548 */ GIR_RootConstrainSelectedInstOperands,
20480 /* 55549 */ // GIR_Coverage, 1710,
20481 /* 55549 */ GIR_EraseRootFromParent_Done,
20482 /* 55550 */ // Label 1370: @55550
20483 /* 55550 */ GIM_Try, /*On fail goto*//*Label 1371*/ GIMT_Encode4(55592), // Rule ID 4489 //
20484 /* 55555 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
20485 /* 55558 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20486 /* 55562 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20487 /* 55566 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20488 /* 55570 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20489 /* 55577 */ // (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
20490 /* 55577 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ256rm),
20491 /* 55580 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20492 /* 55582 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20493 /* 55586 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20494 /* 55590 */ GIR_RootConstrainSelectedInstOperands,
20495 /* 55591 */ // GIR_Coverage, 4489,
20496 /* 55591 */ GIR_EraseRootFromParent_Done,
20497 /* 55592 */ // Label 1371: @55592
20498 /* 55592 */ GIM_Try, /*On fail goto*//*Label 1372*/ GIMT_Encode4(55630), // Rule ID 4516 //
20499 /* 55597 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
20500 /* 55600 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20501 /* 55604 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20502 /* 55608 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20503 /* 55615 */ // (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
20504 /* 55615 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZ256rm),
20505 /* 55618 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20506 /* 55620 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20507 /* 55624 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20508 /* 55628 */ GIR_RootConstrainSelectedInstOperands,
20509 /* 55629 */ // GIR_Coverage, 4516,
20510 /* 55629 */ GIR_EraseRootFromParent_Done,
20511 /* 55630 */ // Label 1372: @55630
20512 /* 55630 */ GIM_Try, /*On fail goto*//*Label 1373*/ GIMT_Encode4(55672), // Rule ID 4543 //
20513 /* 55635 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
20514 /* 55638 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20515 /* 55642 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20516 /* 55646 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20517 /* 55650 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20518 /* 55657 */ // (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
20519 /* 55657 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rm),
20520 /* 55660 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20521 /* 55662 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20522 /* 55666 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20523 /* 55670 */ GIR_RootConstrainSelectedInstOperands,
20524 /* 55671 */ // GIR_Coverage, 4543,
20525 /* 55671 */ GIR_EraseRootFromParent_Done,
20526 /* 55672 */ // Label 1373: @55672
20527 /* 55672 */ GIM_Try, /*On fail goto*//*Label 1374*/ GIMT_Encode4(55710), // Rule ID 4588 //
20528 /* 55677 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
20529 /* 55680 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20530 /* 55684 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20531 /* 55688 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20532 /* 55695 */ // (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
20533 /* 55695 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256rm),
20534 /* 55698 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20535 /* 55700 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20536 /* 55704 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20537 /* 55708 */ GIR_RootConstrainSelectedInstOperands,
20538 /* 55709 */ // GIR_Coverage, 4588,
20539 /* 55709 */ GIR_EraseRootFromParent_Done,
20540 /* 55710 */ // Label 1374: @55710
20541 /* 55710 */ GIM_Try, /*On fail goto*//*Label 1375*/ GIMT_Encode4(55752), // Rule ID 17905 //
20542 /* 55715 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20543 /* 55718 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20544 /* 55722 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20545 /* 55726 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20546 /* 55730 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20547 /* 55737 */ // (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSYrm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
20548 /* 55737 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
20549 /* 55740 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20550 /* 55742 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20551 /* 55746 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20552 /* 55750 */ GIR_RootConstrainSelectedInstOperands,
20553 /* 55751 */ // GIR_Coverage, 17905,
20554 /* 55751 */ GIR_EraseRootFromParent_Done,
20555 /* 55752 */ // Label 1375: @55752
20556 /* 55752 */ GIM_Try, /*On fail goto*//*Label 1376*/ GIMT_Encode4(55790), // Rule ID 17909 //
20557 /* 55757 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20558 /* 55760 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20559 /* 55764 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20560 /* 55768 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20561 /* 55775 */ // (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
20562 /* 55775 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
20563 /* 55778 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20564 /* 55780 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20565 /* 55784 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20566 /* 55788 */ GIR_RootConstrainSelectedInstOperands,
20567 /* 55789 */ // GIR_Coverage, 17909,
20568 /* 55789 */ GIR_EraseRootFromParent_Done,
20569 /* 55790 */ // Label 1376: @55790
20570 /* 55790 */ GIM_Reject,
20571 /* 55791 */ // Label 1368: @55791
20572 /* 55791 */ GIM_Reject,
20573 /* 55792 */ // Label 1287: @55792
20574 /* 55792 */ GIM_Try, /*On fail goto*//*Label 1377*/ GIMT_Encode4(55873),
20575 /* 55797 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20576 /* 55800 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20577 /* 55804 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
20578 /* 55808 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20579 /* 55812 */ GIM_Try, /*On fail goto*//*Label 1378*/ GIMT_Encode4(55842), // Rule ID 4397 //
20580 /* 55817 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoEGPR),
20581 /* 55820 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20582 /* 55827 */ // (ld:{ *:[v8i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVBkm:{ *:[v8i1] } addr:{ *:[iPTR] }:$src)
20583 /* 55827 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBkm),
20584 /* 55830 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20585 /* 55832 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20586 /* 55836 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20587 /* 55840 */ GIR_RootConstrainSelectedInstOperands,
20588 /* 55841 */ // GIR_Coverage, 4397,
20589 /* 55841 */ GIR_EraseRootFromParent_Done,
20590 /* 55842 */ // Label 1378: @55842
20591 /* 55842 */ GIM_Try, /*On fail goto*//*Label 1379*/ GIMT_Encode4(55872), // Rule ID 4399 //
20592 /* 55847 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasEGPR_In64BitMode),
20593 /* 55850 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20594 /* 55857 */ // (ld:{ *:[v8i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVBkm_EVEX:{ *:[v8i1] } addr:{ *:[iPTR] }:$src)
20595 /* 55857 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBkm_EVEX),
20596 /* 55860 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20597 /* 55862 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20598 /* 55866 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20599 /* 55870 */ GIR_RootConstrainSelectedInstOperands,
20600 /* 55871 */ // GIR_Coverage, 4399,
20601 /* 55871 */ GIR_EraseRootFromParent_Done,
20602 /* 55872 */ // Label 1379: @55872
20603 /* 55872 */ GIM_Reject,
20604 /* 55873 */ // Label 1377: @55873
20605 /* 55873 */ GIM_Reject,
20606 /* 55874 */ // Label 1288: @55874
20607 /* 55874 */ GIM_Try, /*On fail goto*//*Label 1380*/ GIMT_Encode4(56447),
20608 /* 55879 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20609 /* 55882 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20610 /* 55886 */ GIM_Try, /*On fail goto*//*Label 1381*/ GIMT_Encode4(55928), // Rule ID 17921 //
20611 /* 55891 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20612 /* 55894 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20613 /* 55898 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20614 /* 55902 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20615 /* 55906 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20616 /* 55913 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20617 /* 55913 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSrm),
20618 /* 55916 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20619 /* 55918 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20620 /* 55922 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20621 /* 55926 */ GIR_RootConstrainSelectedInstOperands,
20622 /* 55927 */ // GIR_Coverage, 17921,
20623 /* 55927 */ GIR_EraseRootFromParent_Done,
20624 /* 55928 */ // Label 1381: @55928
20625 /* 55928 */ GIM_Try, /*On fail goto*//*Label 1382*/ GIMT_Encode4(55966), // Rule ID 17922 //
20626 /* 55933 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20627 /* 55936 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20628 /* 55940 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20629 /* 55944 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20630 /* 55951 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20631 /* 55951 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSrm),
20632 /* 55954 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20633 /* 55956 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20634 /* 55960 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20635 /* 55964 */ GIR_RootConstrainSelectedInstOperands,
20636 /* 55965 */ // GIR_Coverage, 17922,
20637 /* 55965 */ GIR_EraseRootFromParent_Done,
20638 /* 55966 */ // Label 1382: @55966
20639 /* 55966 */ GIM_Try, /*On fail goto*//*Label 1383*/ GIMT_Encode4(56008), // Rule ID 17931 //
20640 /* 55971 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
20641 /* 55974 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20642 /* 55978 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20643 /* 55982 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20644 /* 55986 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20645 /* 55993 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (MOVAPSrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
20646 /* 55993 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
20647 /* 55996 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20648 /* 55998 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20649 /* 56002 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20650 /* 56006 */ GIR_RootConstrainSelectedInstOperands,
20651 /* 56007 */ // GIR_Coverage, 17931,
20652 /* 56007 */ GIR_EraseRootFromParent_Done,
20653 /* 56008 */ // Label 1383: @56008
20654 /* 56008 */ GIM_Try, /*On fail goto*//*Label 1384*/ GIMT_Encode4(56046), // Rule ID 17935 //
20655 /* 56013 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
20656 /* 56016 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20657 /* 56020 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20658 /* 56024 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20659 /* 56031 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
20660 /* 56031 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
20661 /* 56034 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20662 /* 56036 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20663 /* 56040 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20664 /* 56044 */ GIR_RootConstrainSelectedInstOperands,
20665 /* 56045 */ // GIR_Coverage, 17935,
20666 /* 56045 */ GIR_EraseRootFromParent_Done,
20667 /* 56046 */ // Label 1384: @56046
20668 /* 56046 */ GIM_Try, /*On fail goto*//*Label 1385*/ GIMT_Encode4(56088), // Rule ID 17945 //
20669 /* 56051 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
20670 /* 56054 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20671 /* 56058 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20672 /* 56062 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20673 /* 56066 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20674 /* 56073 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (MOVAPSrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20675 /* 56073 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
20676 /* 56076 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20677 /* 56078 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20678 /* 56082 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20679 /* 56086 */ GIR_RootConstrainSelectedInstOperands,
20680 /* 56087 */ // GIR_Coverage, 17945,
20681 /* 56087 */ GIR_EraseRootFromParent_Done,
20682 /* 56088 */ // Label 1385: @56088
20683 /* 56088 */ GIM_Try, /*On fail goto*//*Label 1386*/ GIMT_Encode4(56126), // Rule ID 17946 //
20684 /* 56093 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
20685 /* 56096 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20686 /* 56100 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20687 /* 56104 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20688 /* 56111 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20689 /* 56111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
20690 /* 56114 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20691 /* 56116 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20692 /* 56120 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20693 /* 56124 */ GIR_RootConstrainSelectedInstOperands,
20694 /* 56125 */ // GIR_Coverage, 17946,
20695 /* 56125 */ GIR_EraseRootFromParent_Done,
20696 /* 56126 */ // Label 1386: @56126
20697 /* 56126 */ GIM_Try, /*On fail goto*//*Label 1387*/ GIMT_Encode4(56168), // Rule ID 18310 //
20698 /* 56131 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20699 /* 56134 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20700 /* 56138 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20701 /* 56142 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20702 /* 56146 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20703 /* 56153 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQArm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
20704 /* 56153 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
20705 /* 56156 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20706 /* 56158 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20707 /* 56162 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20708 /* 56166 */ GIR_RootConstrainSelectedInstOperands,
20709 /* 56167 */ // GIR_Coverage, 18310,
20710 /* 56167 */ GIR_EraseRootFromParent_Done,
20711 /* 56168 */ // Label 1387: @56168
20712 /* 56168 */ GIM_Try, /*On fail goto*//*Label 1388*/ GIMT_Encode4(56210), // Rule ID 18311 //
20713 /* 56173 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20714 /* 56176 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20715 /* 56180 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20716 /* 56184 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20717 /* 56188 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20718 /* 56195 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQArm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20719 /* 56195 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
20720 /* 56198 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20721 /* 56200 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20722 /* 56204 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20723 /* 56208 */ GIR_RootConstrainSelectedInstOperands,
20724 /* 56209 */ // GIR_Coverage, 18311,
20725 /* 56209 */ GIR_EraseRootFromParent_Done,
20726 /* 56210 */ // Label 1388: @56210
20727 /* 56210 */ GIM_Try, /*On fail goto*//*Label 1389*/ GIMT_Encode4(56248), // Rule ID 18314 //
20728 /* 56215 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20729 /* 56218 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20730 /* 56222 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20731 /* 56226 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20732 /* 56233 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
20733 /* 56233 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
20734 /* 56236 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20735 /* 56238 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20736 /* 56242 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20737 /* 56246 */ GIR_RootConstrainSelectedInstOperands,
20738 /* 56247 */ // GIR_Coverage, 18314,
20739 /* 56247 */ GIR_EraseRootFromParent_Done,
20740 /* 56248 */ // Label 1389: @56248
20741 /* 56248 */ GIM_Try, /*On fail goto*//*Label 1390*/ GIMT_Encode4(56286), // Rule ID 18315 //
20742 /* 56253 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20743 /* 56256 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20744 /* 56260 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20745 /* 56264 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20746 /* 56271 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20747 /* 56271 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
20748 /* 56274 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20749 /* 56276 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20750 /* 56280 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20751 /* 56284 */ GIR_RootConstrainSelectedInstOperands,
20752 /* 56285 */ // GIR_Coverage, 18315,
20753 /* 56285 */ GIR_EraseRootFromParent_Done,
20754 /* 56286 */ // Label 1390: @56286
20755 /* 56286 */ GIM_Try, /*On fail goto*//*Label 1391*/ GIMT_Encode4(56328), // Rule ID 19822 //
20756 /* 56291 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
20757 /* 56294 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20758 /* 56298 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20759 /* 56302 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20760 /* 56306 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20761 /* 56313 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
20762 /* 56313 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rm),
20763 /* 56316 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20764 /* 56318 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20765 /* 56322 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20766 /* 56326 */ GIR_RootConstrainSelectedInstOperands,
20767 /* 56327 */ // GIR_Coverage, 19822,
20768 /* 56327 */ GIR_EraseRootFromParent_Done,
20769 /* 56328 */ // Label 1391: @56328
20770 /* 56328 */ GIM_Try, /*On fail goto*//*Label 1392*/ GIMT_Encode4(56370), // Rule ID 19823 //
20771 /* 56333 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
20772 /* 56336 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20773 /* 56340 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20774 /* 56344 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20775 /* 56348 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20776 /* 56355 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSZ128rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20777 /* 56355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128rm),
20778 /* 56358 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20779 /* 56360 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20780 /* 56364 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20781 /* 56368 */ GIR_RootConstrainSelectedInstOperands,
20782 /* 56369 */ // GIR_Coverage, 19823,
20783 /* 56369 */ GIR_EraseRootFromParent_Done,
20784 /* 56370 */ // Label 1392: @56370
20785 /* 56370 */ GIM_Try, /*On fail goto*//*Label 1393*/ GIMT_Encode4(56408), // Rule ID 19826 //
20786 /* 56375 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
20787 /* 56378 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20788 /* 56382 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20789 /* 56386 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20790 /* 56393 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
20791 /* 56393 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128rm),
20792 /* 56396 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20793 /* 56398 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20794 /* 56402 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20795 /* 56406 */ GIR_RootConstrainSelectedInstOperands,
20796 /* 56407 */ // GIR_Coverage, 19826,
20797 /* 56407 */ GIR_EraseRootFromParent_Done,
20798 /* 56408 */ // Label 1393: @56408
20799 /* 56408 */ GIM_Try, /*On fail goto*//*Label 1394*/ GIMT_Encode4(56446), // Rule ID 19827 //
20800 /* 56413 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
20801 /* 56416 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20802 /* 56420 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20803 /* 56424 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20804 /* 56431 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ128rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20805 /* 56431 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128rm),
20806 /* 56434 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20807 /* 56436 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20808 /* 56440 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20809 /* 56444 */ GIR_RootConstrainSelectedInstOperands,
20810 /* 56445 */ // GIR_Coverage, 19827,
20811 /* 56445 */ GIR_EraseRootFromParent_Done,
20812 /* 56446 */ // Label 1394: @56446
20813 /* 56446 */ GIM_Reject,
20814 /* 56447 */ // Label 1380: @56447
20815 /* 56447 */ GIM_Reject,
20816 /* 56448 */ // Label 1289: @56448
20817 /* 56448 */ GIM_Try, /*On fail goto*//*Label 1395*/ GIMT_Encode4(56781),
20818 /* 56453 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20819 /* 56456 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20820 /* 56460 */ GIM_Try, /*On fail goto*//*Label 1396*/ GIMT_Encode4(56502), // Rule ID 1707 //
20821 /* 56465 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20822 /* 56468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20823 /* 56472 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20824 /* 56476 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20825 /* 56480 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20826 /* 56487 */ // (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
20827 /* 56487 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
20828 /* 56490 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20829 /* 56492 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20830 /* 56496 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20831 /* 56500 */ GIR_RootConstrainSelectedInstOperands,
20832 /* 56501 */ // GIR_Coverage, 1707,
20833 /* 56501 */ GIR_EraseRootFromParent_Done,
20834 /* 56502 */ // Label 1396: @56502
20835 /* 56502 */ GIM_Try, /*On fail goto*//*Label 1397*/ GIMT_Encode4(56540), // Rule ID 1709 //
20836 /* 56507 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20837 /* 56510 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20838 /* 56514 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20839 /* 56518 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20840 /* 56525 */ // (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
20841 /* 56525 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
20842 /* 56528 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20843 /* 56530 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20844 /* 56534 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20845 /* 56538 */ GIR_RootConstrainSelectedInstOperands,
20846 /* 56539 */ // GIR_Coverage, 1709,
20847 /* 56539 */ GIR_EraseRootFromParent_Done,
20848 /* 56540 */ // Label 1397: @56540
20849 /* 56540 */ GIM_Try, /*On fail goto*//*Label 1398*/ GIMT_Encode4(56582), // Rule ID 4471 //
20850 /* 56545 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
20851 /* 56548 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20852 /* 56552 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20853 /* 56556 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20854 /* 56560 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20855 /* 56567 */ // (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSZ256rm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
20856 /* 56567 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256rm),
20857 /* 56570 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20858 /* 56572 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20859 /* 56576 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20860 /* 56580 */ GIR_RootConstrainSelectedInstOperands,
20861 /* 56581 */ // GIR_Coverage, 4471,
20862 /* 56581 */ GIR_EraseRootFromParent_Done,
20863 /* 56582 */ // Label 1398: @56582
20864 /* 56582 */ GIM_Try, /*On fail goto*//*Label 1399*/ GIMT_Encode4(56620), // Rule ID 4504 //
20865 /* 56587 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
20866 /* 56590 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20867 /* 56594 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20868 /* 56598 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20869 /* 56605 */ // (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ256rm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
20870 /* 56605 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ256rm),
20871 /* 56608 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20872 /* 56610 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20873 /* 56614 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20874 /* 56618 */ GIR_RootConstrainSelectedInstOperands,
20875 /* 56619 */ // GIR_Coverage, 4504,
20876 /* 56619 */ GIR_EraseRootFromParent_Done,
20877 /* 56620 */ // Label 1399: @56620
20878 /* 56620 */ GIM_Try, /*On fail goto*//*Label 1400*/ GIMT_Encode4(56662), // Rule ID 17906 //
20879 /* 56625 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20880 /* 56628 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20881 /* 56632 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20882 /* 56636 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20883 /* 56640 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20884 /* 56647 */ // (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
20885 /* 56647 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
20886 /* 56650 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20887 /* 56652 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20888 /* 56656 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20889 /* 56660 */ GIR_RootConstrainSelectedInstOperands,
20890 /* 56661 */ // GIR_Coverage, 17906,
20891 /* 56661 */ GIR_EraseRootFromParent_Done,
20892 /* 56662 */ // Label 1400: @56662
20893 /* 56662 */ GIM_Try, /*On fail goto*//*Label 1401*/ GIMT_Encode4(56700), // Rule ID 17910 //
20894 /* 56667 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20895 /* 56670 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20896 /* 56674 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20897 /* 56678 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20898 /* 56685 */ // (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
20899 /* 56685 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
20900 /* 56688 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20901 /* 56690 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20902 /* 56694 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20903 /* 56698 */ GIR_RootConstrainSelectedInstOperands,
20904 /* 56699 */ // GIR_Coverage, 17910,
20905 /* 56699 */ GIR_EraseRootFromParent_Done,
20906 /* 56700 */ // Label 1401: @56700
20907 /* 56700 */ GIM_Try, /*On fail goto*//*Label 1402*/ GIMT_Encode4(56742), // Rule ID 19837 //
20908 /* 56705 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
20909 /* 56708 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20910 /* 56712 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20911 /* 56716 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20912 /* 56720 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20913 /* 56727 */ // (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
20914 /* 56727 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rm),
20915 /* 56730 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20916 /* 56732 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20917 /* 56736 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20918 /* 56740 */ GIR_RootConstrainSelectedInstOperands,
20919 /* 56741 */ // GIR_Coverage, 19837,
20920 /* 56741 */ GIR_EraseRootFromParent_Done,
20921 /* 56742 */ // Label 1402: @56742
20922 /* 56742 */ GIM_Try, /*On fail goto*//*Label 1403*/ GIMT_Encode4(56780), // Rule ID 19841 //
20923 /* 56747 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
20924 /* 56750 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20925 /* 56754 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20926 /* 56758 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20927 /* 56765 */ // (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
20928 /* 56765 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256rm),
20929 /* 56768 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20930 /* 56770 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20931 /* 56774 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20932 /* 56778 */ GIR_RootConstrainSelectedInstOperands,
20933 /* 56779 */ // GIR_Coverage, 19841,
20934 /* 56779 */ GIR_EraseRootFromParent_Done,
20935 /* 56780 */ // Label 1403: @56780
20936 /* 56780 */ GIM_Reject,
20937 /* 56781 */ // Label 1395: @56781
20938 /* 56781 */ GIM_Reject,
20939 /* 56782 */ // Label 1290: @56782
20940 /* 56782 */ GIM_Try, /*On fail goto*//*Label 1404*/ GIMT_Encode4(56955),
20941 /* 56787 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20942 /* 56790 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20943 /* 56794 */ GIM_Try, /*On fail goto*//*Label 1405*/ GIMT_Encode4(56836), // Rule ID 4484 //
20944 /* 56799 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
20945 /* 56802 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
20946 /* 56806 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20947 /* 56810 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20948 /* 56814 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20949 /* 56821 */ // (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
20950 /* 56821 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrm),
20951 /* 56824 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20952 /* 56826 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20953 /* 56830 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20954 /* 56834 */ GIR_RootConstrainSelectedInstOperands,
20955 /* 56835 */ // GIR_Coverage, 4484,
20956 /* 56835 */ GIR_EraseRootFromParent_Done,
20957 /* 56836 */ // Label 1405: @56836
20958 /* 56836 */ GIM_Try, /*On fail goto*//*Label 1406*/ GIMT_Encode4(56874), // Rule ID 4513 //
20959 /* 56841 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
20960 /* 56844 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
20961 /* 56848 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20962 /* 56852 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20963 /* 56859 */ // (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
20964 /* 56859 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZrm),
20965 /* 56862 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20966 /* 56864 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20967 /* 56868 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20968 /* 56872 */ GIR_RootConstrainSelectedInstOperands,
20969 /* 56873 */ // GIR_Coverage, 4513,
20970 /* 56873 */ GIR_EraseRootFromParent_Done,
20971 /* 56874 */ // Label 1406: @56874
20972 /* 56874 */ GIM_Try, /*On fail goto*//*Label 1407*/ GIMT_Encode4(56916), // Rule ID 4538 //
20973 /* 56879 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
20974 /* 56882 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
20975 /* 56886 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20976 /* 56890 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20977 /* 56894 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20978 /* 56901 */ // (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Zrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
20979 /* 56901 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrm),
20980 /* 56904 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20981 /* 56906 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20982 /* 56910 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20983 /* 56914 */ GIR_RootConstrainSelectedInstOperands,
20984 /* 56915 */ // GIR_Coverage, 4538,
20985 /* 56915 */ GIR_EraseRootFromParent_Done,
20986 /* 56916 */ // Label 1407: @56916
20987 /* 56916 */ GIM_Try, /*On fail goto*//*Label 1408*/ GIMT_Encode4(56954), // Rule ID 4585 //
20988 /* 56921 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
20989 /* 56924 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
20990 /* 56928 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20991 /* 56932 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20992 /* 56939 */ // (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Zrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
20993 /* 56939 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zrm),
20994 /* 56942 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20995 /* 56944 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20996 /* 56948 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20997 /* 56952 */ GIR_RootConstrainSelectedInstOperands,
20998 /* 56953 */ // GIR_Coverage, 4585,
20999 /* 56953 */ GIR_EraseRootFromParent_Done,
21000 /* 56954 */ // Label 1408: @56954
21001 /* 56954 */ GIM_Reject,
21002 /* 56955 */ // Label 1404: @56955
21003 /* 56955 */ GIM_Reject,
21004 /* 56956 */ // Label 1291: @56956
21005 /* 56956 */ GIM_Try, /*On fail goto*//*Label 1409*/ GIMT_Encode4(57037),
21006 /* 56961 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21007 /* 56964 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21008 /* 56968 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
21009 /* 56972 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21010 /* 56976 */ GIM_Try, /*On fail goto*//*Label 1410*/ GIMT_Encode4(57006), // Rule ID 4401 //
21011 /* 56981 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoEGPR),
21012 /* 56984 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21013 /* 56991 */ // (ld:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVWkm:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)
21014 /* 56991 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWkm),
21015 /* 56994 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21016 /* 56996 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21017 /* 57000 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21018 /* 57004 */ GIR_RootConstrainSelectedInstOperands,
21019 /* 57005 */ // GIR_Coverage, 4401,
21020 /* 57005 */ GIR_EraseRootFromParent_Done,
21021 /* 57006 */ // Label 1410: @57006
21022 /* 57006 */ GIM_Try, /*On fail goto*//*Label 1411*/ GIMT_Encode4(57036), // Rule ID 4403 //
21023 /* 57011 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEGPR_In64BitMode),
21024 /* 57014 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21025 /* 57021 */ // (ld:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVWkm_EVEX:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)
21026 /* 57021 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWkm_EVEX),
21027 /* 57024 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21028 /* 57026 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21029 /* 57030 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21030 /* 57034 */ GIR_RootConstrainSelectedInstOperands,
21031 /* 57035 */ // GIR_Coverage, 4403,
21032 /* 57035 */ GIR_EraseRootFromParent_Done,
21033 /* 57036 */ // Label 1411: @57036
21034 /* 57036 */ GIM_Reject,
21035 /* 57037 */ // Label 1409: @57037
21036 /* 57037 */ GIM_Reject,
21037 /* 57038 */ // Label 1292: @57038
21038 /* 57038 */ GIM_Try, /*On fail goto*//*Label 1412*/ GIMT_Encode4(57291),
21039 /* 57043 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21040 /* 57046 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21041 /* 57050 */ GIM_Try, /*On fail goto*//*Label 1413*/ GIMT_Encode4(57092), // Rule ID 17932 //
21042 /* 57055 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
21043 /* 57058 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21044 /* 57062 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21045 /* 57066 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21046 /* 57070 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21047 /* 57077 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (MOVAPSrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
21048 /* 57077 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
21049 /* 57080 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21050 /* 57082 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21051 /* 57086 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21052 /* 57090 */ GIR_RootConstrainSelectedInstOperands,
21053 /* 57091 */ // GIR_Coverage, 17932,
21054 /* 57091 */ GIR_EraseRootFromParent_Done,
21055 /* 57092 */ // Label 1413: @57092
21056 /* 57092 */ GIM_Try, /*On fail goto*//*Label 1414*/ GIMT_Encode4(57130), // Rule ID 17936 //
21057 /* 57097 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
21058 /* 57100 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21059 /* 57104 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21060 /* 57108 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21061 /* 57115 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
21062 /* 57115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
21063 /* 57118 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21064 /* 57120 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21065 /* 57124 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21066 /* 57128 */ GIR_RootConstrainSelectedInstOperands,
21067 /* 57129 */ // GIR_Coverage, 17936,
21068 /* 57129 */ GIR_EraseRootFromParent_Done,
21069 /* 57130 */ // Label 1414: @57130
21070 /* 57130 */ GIM_Try, /*On fail goto*//*Label 1415*/ GIMT_Encode4(57172), // Rule ID 18312 //
21071 /* 57135 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21072 /* 57138 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21073 /* 57142 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21074 /* 57146 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21075 /* 57150 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21076 /* 57157 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQArm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
21077 /* 57157 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
21078 /* 57160 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21079 /* 57162 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21080 /* 57166 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21081 /* 57170 */ GIR_RootConstrainSelectedInstOperands,
21082 /* 57171 */ // GIR_Coverage, 18312,
21083 /* 57171 */ GIR_EraseRootFromParent_Done,
21084 /* 57172 */ // Label 1415: @57172
21085 /* 57172 */ GIM_Try, /*On fail goto*//*Label 1416*/ GIMT_Encode4(57210), // Rule ID 18316 //
21086 /* 57177 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21087 /* 57180 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21088 /* 57184 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21089 /* 57188 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21090 /* 57195 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
21091 /* 57195 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
21092 /* 57198 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21093 /* 57200 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21094 /* 57204 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21095 /* 57208 */ GIR_RootConstrainSelectedInstOperands,
21096 /* 57209 */ // GIR_Coverage, 18316,
21097 /* 57209 */ GIR_EraseRootFromParent_Done,
21098 /* 57210 */ // Label 1416: @57210
21099 /* 57210 */ GIM_Try, /*On fail goto*//*Label 1417*/ GIMT_Encode4(57252), // Rule ID 19824 //
21100 /* 57215 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21101 /* 57218 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
21102 /* 57222 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21103 /* 57226 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21104 /* 57230 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21105 /* 57237 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z128rm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
21106 /* 57237 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rm),
21107 /* 57240 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21108 /* 57242 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21109 /* 57246 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21110 /* 57250 */ GIR_RootConstrainSelectedInstOperands,
21111 /* 57251 */ // GIR_Coverage, 19824,
21112 /* 57251 */ GIR_EraseRootFromParent_Done,
21113 /* 57252 */ // Label 1417: @57252
21114 /* 57252 */ GIM_Try, /*On fail goto*//*Label 1418*/ GIMT_Encode4(57290), // Rule ID 19828 //
21115 /* 57257 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21116 /* 57260 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
21117 /* 57264 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21118 /* 57268 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21119 /* 57275 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z128rm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
21120 /* 57275 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128rm),
21121 /* 57278 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21122 /* 57280 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21123 /* 57284 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21124 /* 57288 */ GIR_RootConstrainSelectedInstOperands,
21125 /* 57289 */ // GIR_Coverage, 19828,
21126 /* 57289 */ GIR_EraseRootFromParent_Done,
21127 /* 57290 */ // Label 1418: @57290
21128 /* 57290 */ GIM_Reject,
21129 /* 57291 */ // Label 1412: @57291
21130 /* 57291 */ GIM_Reject,
21131 /* 57292 */ // Label 1293: @57292
21132 /* 57292 */ GIM_Try, /*On fail goto*//*Label 1419*/ GIMT_Encode4(57625),
21133 /* 57297 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21134 /* 57300 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21135 /* 57304 */ GIM_Try, /*On fail goto*//*Label 1420*/ GIMT_Encode4(57346), // Rule ID 17907 //
21136 /* 57309 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21137 /* 57312 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21138 /* 57316 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21139 /* 57320 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21140 /* 57324 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21141 /* 57331 */ // (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
21142 /* 57331 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
21143 /* 57334 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21144 /* 57336 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21145 /* 57340 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21146 /* 57344 */ GIR_RootConstrainSelectedInstOperands,
21147 /* 57345 */ // GIR_Coverage, 17907,
21148 /* 57345 */ GIR_EraseRootFromParent_Done,
21149 /* 57346 */ // Label 1420: @57346
21150 /* 57346 */ GIM_Try, /*On fail goto*//*Label 1421*/ GIMT_Encode4(57384), // Rule ID 17911 //
21151 /* 57351 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21152 /* 57354 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21153 /* 57358 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21154 /* 57362 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21155 /* 57369 */ // (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
21156 /* 57369 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
21157 /* 57372 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21158 /* 57374 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21159 /* 57378 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21160 /* 57382 */ GIR_RootConstrainSelectedInstOperands,
21161 /* 57383 */ // GIR_Coverage, 17911,
21162 /* 57383 */ GIR_EraseRootFromParent_Done,
21163 /* 57384 */ // Label 1421: @57384
21164 /* 57384 */ GIM_Try, /*On fail goto*//*Label 1422*/ GIMT_Encode4(57426), // Rule ID 17925 //
21165 /* 57389 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21166 /* 57392 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21167 /* 57396 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21168 /* 57400 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21169 /* 57404 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21170 /* 57411 */ // (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSYrm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
21171 /* 57411 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
21172 /* 57414 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21173 /* 57416 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21174 /* 57420 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21175 /* 57424 */ GIR_RootConstrainSelectedInstOperands,
21176 /* 57425 */ // GIR_Coverage, 17925,
21177 /* 57425 */ GIR_EraseRootFromParent_Done,
21178 /* 57426 */ // Label 1422: @57426
21179 /* 57426 */ GIM_Try, /*On fail goto*//*Label 1423*/ GIMT_Encode4(57464), // Rule ID 17926 //
21180 /* 57431 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21181 /* 57434 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21182 /* 57438 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21183 /* 57442 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21184 /* 57449 */ // (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
21185 /* 57449 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
21186 /* 57452 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21187 /* 57454 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21188 /* 57458 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21189 /* 57462 */ GIR_RootConstrainSelectedInstOperands,
21190 /* 57463 */ // GIR_Coverage, 17926,
21191 /* 57463 */ GIR_EraseRootFromParent_Done,
21192 /* 57464 */ // Label 1423: @57464
21193 /* 57464 */ GIM_Try, /*On fail goto*//*Label 1424*/ GIMT_Encode4(57506), // Rule ID 19838 //
21194 /* 57469 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21195 /* 57472 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21196 /* 57476 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21197 /* 57480 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21198 /* 57484 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21199 /* 57491 */ // (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
21200 /* 57491 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rm),
21201 /* 57494 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21202 /* 57496 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21203 /* 57500 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21204 /* 57504 */ GIR_RootConstrainSelectedInstOperands,
21205 /* 57505 */ // GIR_Coverage, 19838,
21206 /* 57505 */ GIR_EraseRootFromParent_Done,
21207 /* 57506 */ // Label 1424: @57506
21208 /* 57506 */ GIM_Try, /*On fail goto*//*Label 1425*/ GIMT_Encode4(57548), // Rule ID 19839 //
21209 /* 57511 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21210 /* 57514 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21211 /* 57518 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21212 /* 57522 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21213 /* 57526 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21214 /* 57533 */ // (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSZ256rm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
21215 /* 57533 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256rm),
21216 /* 57536 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21217 /* 57538 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21218 /* 57542 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21219 /* 57546 */ GIR_RootConstrainSelectedInstOperands,
21220 /* 57547 */ // GIR_Coverage, 19839,
21221 /* 57547 */ GIR_EraseRootFromParent_Done,
21222 /* 57548 */ // Label 1425: @57548
21223 /* 57548 */ GIM_Try, /*On fail goto*//*Label 1426*/ GIMT_Encode4(57586), // Rule ID 19842 //
21224 /* 57553 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21225 /* 57556 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21226 /* 57560 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21227 /* 57564 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21228 /* 57571 */ // (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
21229 /* 57571 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256rm),
21230 /* 57574 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21231 /* 57576 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21232 /* 57580 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21233 /* 57584 */ GIR_RootConstrainSelectedInstOperands,
21234 /* 57585 */ // GIR_Coverage, 19842,
21235 /* 57585 */ GIR_EraseRootFromParent_Done,
21236 /* 57586 */ // Label 1426: @57586
21237 /* 57586 */ GIM_Try, /*On fail goto*//*Label 1427*/ GIMT_Encode4(57624), // Rule ID 19843 //
21238 /* 57591 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21239 /* 57594 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21240 /* 57598 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21241 /* 57602 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21242 /* 57609 */ // (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ256rm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
21243 /* 57609 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ256rm),
21244 /* 57612 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21245 /* 57614 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21246 /* 57618 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21247 /* 57622 */ GIR_RootConstrainSelectedInstOperands,
21248 /* 57623 */ // GIR_Coverage, 19843,
21249 /* 57623 */ GIR_EraseRootFromParent_Done,
21250 /* 57624 */ // Label 1427: @57624
21251 /* 57624 */ GIM_Reject,
21252 /* 57625 */ // Label 1419: @57625
21253 /* 57625 */ GIM_Reject,
21254 /* 57626 */ // Label 1294: @57626
21255 /* 57626 */ GIM_Try, /*On fail goto*//*Label 1428*/ GIMT_Encode4(57799),
21256 /* 57631 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21257 /* 57634 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21258 /* 57638 */ GIM_Try, /*On fail goto*//*Label 1429*/ GIMT_Encode4(57680), // Rule ID 4466 //
21259 /* 57643 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21260 /* 57646 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21261 /* 57650 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21262 /* 57654 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21263 /* 57658 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21264 /* 57665 */ // (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSZrm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
21265 /* 57665 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrm),
21266 /* 57668 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21267 /* 57670 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21268 /* 57674 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21269 /* 57678 */ GIR_RootConstrainSelectedInstOperands,
21270 /* 57679 */ // GIR_Coverage, 4466,
21271 /* 57679 */ GIR_EraseRootFromParent_Done,
21272 /* 57680 */ // Label 1429: @57680
21273 /* 57680 */ GIM_Try, /*On fail goto*//*Label 1430*/ GIMT_Encode4(57718), // Rule ID 4501 //
21274 /* 57685 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21275 /* 57688 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21276 /* 57692 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21277 /* 57696 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21278 /* 57703 */ // (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZrm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
21279 /* 57703 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZrm),
21280 /* 57706 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21281 /* 57708 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21282 /* 57712 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21283 /* 57716 */ GIR_RootConstrainSelectedInstOperands,
21284 /* 57717 */ // GIR_Coverage, 4501,
21285 /* 57717 */ GIR_EraseRootFromParent_Done,
21286 /* 57718 */ // Label 1430: @57718
21287 /* 57718 */ GIM_Try, /*On fail goto*//*Label 1431*/ GIMT_Encode4(57760), // Rule ID 19805 //
21288 /* 57723 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21289 /* 57726 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21290 /* 57730 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21291 /* 57734 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21292 /* 57738 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21293 /* 57745 */ // (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Zrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
21294 /* 57745 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrm),
21295 /* 57748 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21296 /* 57750 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21297 /* 57754 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21298 /* 57758 */ GIR_RootConstrainSelectedInstOperands,
21299 /* 57759 */ // GIR_Coverage, 19805,
21300 /* 57759 */ GIR_EraseRootFromParent_Done,
21301 /* 57760 */ // Label 1431: @57760
21302 /* 57760 */ GIM_Try, /*On fail goto*//*Label 1432*/ GIMT_Encode4(57798), // Rule ID 19809 //
21303 /* 57765 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21304 /* 57768 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21305 /* 57772 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21306 /* 57776 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21307 /* 57783 */ // (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Zrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
21308 /* 57783 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zrm),
21309 /* 57786 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21310 /* 57788 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21311 /* 57792 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21312 /* 57796 */ GIR_RootConstrainSelectedInstOperands,
21313 /* 57797 */ // GIR_Coverage, 19809,
21314 /* 57797 */ GIR_EraseRootFromParent_Done,
21315 /* 57798 */ // Label 1432: @57798
21316 /* 57798 */ GIM_Reject,
21317 /* 57799 */ // Label 1428: @57799
21318 /* 57799 */ GIM_Reject,
21319 /* 57800 */ // Label 1295: @57800
21320 /* 57800 */ GIM_Try, /*On fail goto*//*Label 1433*/ GIMT_Encode4(57881),
21321 /* 57805 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21322 /* 57808 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21323 /* 57812 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
21324 /* 57816 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21325 /* 57820 */ GIM_Try, /*On fail goto*//*Label 1434*/ GIMT_Encode4(57850), // Rule ID 4405 //
21326 /* 57825 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoEGPR),
21327 /* 57828 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21328 /* 57835 */ // (ld:{ *:[v32i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVDkm:{ *:[v32i1] } addr:{ *:[iPTR] }:$src)
21329 /* 57835 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDkm),
21330 /* 57838 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21331 /* 57840 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21332 /* 57844 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21333 /* 57848 */ GIR_RootConstrainSelectedInstOperands,
21334 /* 57849 */ // GIR_Coverage, 4405,
21335 /* 57849 */ GIR_EraseRootFromParent_Done,
21336 /* 57850 */ // Label 1434: @57850
21337 /* 57850 */ GIM_Try, /*On fail goto*//*Label 1435*/ GIMT_Encode4(57880), // Rule ID 4409 //
21338 /* 57855 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEGPR_In64BitMode),
21339 /* 57858 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21340 /* 57865 */ // (ld:{ *:[v32i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVDkm_EVEX:{ *:[v32i1] } addr:{ *:[iPTR] }:$src)
21341 /* 57865 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDkm_EVEX),
21342 /* 57868 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21343 /* 57870 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21344 /* 57874 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21345 /* 57878 */ GIR_RootConstrainSelectedInstOperands,
21346 /* 57879 */ // GIR_Coverage, 4409,
21347 /* 57879 */ GIR_EraseRootFromParent_Done,
21348 /* 57880 */ // Label 1435: @57880
21349 /* 57880 */ GIM_Reject,
21350 /* 57881 */ // Label 1433: @57881
21351 /* 57881 */ GIM_Reject,
21352 /* 57882 */ // Label 1296: @57882
21353 /* 57882 */ GIM_Try, /*On fail goto*//*Label 1436*/ GIMT_Encode4(58055),
21354 /* 57887 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21355 /* 57890 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21356 /* 57894 */ GIM_Try, /*On fail goto*//*Label 1437*/ GIMT_Encode4(57936), // Rule ID 17908 //
21357 /* 57899 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21358 /* 57902 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21359 /* 57906 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21360 /* 57910 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21361 /* 57914 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21362 /* 57921 */ // (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSYrm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
21363 /* 57921 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
21364 /* 57924 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21365 /* 57926 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21366 /* 57930 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21367 /* 57934 */ GIR_RootConstrainSelectedInstOperands,
21368 /* 57935 */ // GIR_Coverage, 17908,
21369 /* 57935 */ GIR_EraseRootFromParent_Done,
21370 /* 57936 */ // Label 1437: @57936
21371 /* 57936 */ GIM_Try, /*On fail goto*//*Label 1438*/ GIMT_Encode4(57974), // Rule ID 17912 //
21372 /* 57941 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21373 /* 57944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21374 /* 57948 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21375 /* 57952 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21376 /* 57959 */ // (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
21377 /* 57959 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
21378 /* 57962 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21379 /* 57964 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21380 /* 57968 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21381 /* 57972 */ GIR_RootConstrainSelectedInstOperands,
21382 /* 57973 */ // GIR_Coverage, 17912,
21383 /* 57973 */ GIR_EraseRootFromParent_Done,
21384 /* 57974 */ // Label 1438: @57974
21385 /* 57974 */ GIM_Try, /*On fail goto*//*Label 1439*/ GIMT_Encode4(58016), // Rule ID 19840 //
21386 /* 57979 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21387 /* 57982 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21388 /* 57986 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21389 /* 57990 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21390 /* 57994 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21391 /* 58001 */ // (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z256rm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
21392 /* 58001 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rm),
21393 /* 58004 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21394 /* 58006 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21395 /* 58010 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21396 /* 58014 */ GIR_RootConstrainSelectedInstOperands,
21397 /* 58015 */ // GIR_Coverage, 19840,
21398 /* 58015 */ GIR_EraseRootFromParent_Done,
21399 /* 58016 */ // Label 1439: @58016
21400 /* 58016 */ GIM_Try, /*On fail goto*//*Label 1440*/ GIMT_Encode4(58054), // Rule ID 19844 //
21401 /* 58021 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21402 /* 58024 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21403 /* 58028 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21404 /* 58032 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21405 /* 58039 */ // (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z256rm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
21406 /* 58039 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256rm),
21407 /* 58042 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21408 /* 58044 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21409 /* 58048 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21410 /* 58052 */ GIR_RootConstrainSelectedInstOperands,
21411 /* 58053 */ // GIR_Coverage, 19844,
21412 /* 58053 */ GIR_EraseRootFromParent_Done,
21413 /* 58054 */ // Label 1440: @58054
21414 /* 58054 */ GIM_Reject,
21415 /* 58055 */ // Label 1436: @58055
21416 /* 58055 */ GIM_Reject,
21417 /* 58056 */ // Label 1297: @58056
21418 /* 58056 */ GIM_Try, /*On fail goto*//*Label 1441*/ GIMT_Encode4(58229),
21419 /* 58061 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21420 /* 58064 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21421 /* 58068 */ GIM_Try, /*On fail goto*//*Label 1442*/ GIMT_Encode4(58110), // Rule ID 19806 //
21422 /* 58073 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21423 /* 58076 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21424 /* 58080 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21425 /* 58084 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21426 /* 58088 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21427 /* 58095 */ // (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Zrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
21428 /* 58095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrm),
21429 /* 58098 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21430 /* 58100 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21431 /* 58104 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21432 /* 58108 */ GIR_RootConstrainSelectedInstOperands,
21433 /* 58109 */ // GIR_Coverage, 19806,
21434 /* 58109 */ GIR_EraseRootFromParent_Done,
21435 /* 58110 */ // Label 1442: @58110
21436 /* 58110 */ GIM_Try, /*On fail goto*//*Label 1443*/ GIMT_Encode4(58152), // Rule ID 19807 //
21437 /* 58115 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21438 /* 58118 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21439 /* 58122 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21440 /* 58126 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21441 /* 58130 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21442 /* 58137 */ // (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSZrm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
21443 /* 58137 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrm),
21444 /* 58140 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21445 /* 58142 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21446 /* 58146 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21447 /* 58150 */ GIR_RootConstrainSelectedInstOperands,
21448 /* 58151 */ // GIR_Coverage, 19807,
21449 /* 58151 */ GIR_EraseRootFromParent_Done,
21450 /* 58152 */ // Label 1443: @58152
21451 /* 58152 */ GIM_Try, /*On fail goto*//*Label 1444*/ GIMT_Encode4(58190), // Rule ID 19810 //
21452 /* 58157 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21453 /* 58160 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21454 /* 58164 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21455 /* 58168 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21456 /* 58175 */ // (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Zrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
21457 /* 58175 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zrm),
21458 /* 58178 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21459 /* 58180 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21460 /* 58184 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21461 /* 58188 */ GIR_RootConstrainSelectedInstOperands,
21462 /* 58189 */ // GIR_Coverage, 19810,
21463 /* 58189 */ GIR_EraseRootFromParent_Done,
21464 /* 58190 */ // Label 1444: @58190
21465 /* 58190 */ GIM_Try, /*On fail goto*//*Label 1445*/ GIMT_Encode4(58228), // Rule ID 19811 //
21466 /* 58195 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21467 /* 58198 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21468 /* 58202 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21469 /* 58206 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21470 /* 58213 */ // (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZrm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
21471 /* 58213 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZrm),
21472 /* 58216 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21473 /* 58218 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21474 /* 58222 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21475 /* 58226 */ GIR_RootConstrainSelectedInstOperands,
21476 /* 58227 */ // GIR_Coverage, 19811,
21477 /* 58227 */ GIR_EraseRootFromParent_Done,
21478 /* 58228 */ // Label 1445: @58228
21479 /* 58228 */ GIM_Reject,
21480 /* 58229 */ // Label 1441: @58229
21481 /* 58229 */ GIM_Reject,
21482 /* 58230 */ // Label 1298: @58230
21483 /* 58230 */ GIM_Try, /*On fail goto*//*Label 1446*/ GIMT_Encode4(58311),
21484 /* 58235 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21485 /* 58238 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21486 /* 58242 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
21487 /* 58246 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21488 /* 58250 */ GIM_Try, /*On fail goto*//*Label 1447*/ GIMT_Encode4(58280), // Rule ID 4407 //
21489 /* 58255 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoEGPR),
21490 /* 58258 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21491 /* 58265 */ // (ld:{ *:[v64i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVQkm:{ *:[v64i1] } addr:{ *:[iPTR] }:$src)
21492 /* 58265 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQkm),
21493 /* 58268 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21494 /* 58270 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21495 /* 58274 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21496 /* 58278 */ GIR_RootConstrainSelectedInstOperands,
21497 /* 58279 */ // GIR_Coverage, 4407,
21498 /* 58279 */ GIR_EraseRootFromParent_Done,
21499 /* 58280 */ // Label 1447: @58280
21500 /* 58280 */ GIM_Try, /*On fail goto*//*Label 1448*/ GIMT_Encode4(58310), // Rule ID 4411 //
21501 /* 58285 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEGPR_In64BitMode),
21502 /* 58288 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21503 /* 58295 */ // (ld:{ *:[v64i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVQkm_EVEX:{ *:[v64i1] } addr:{ *:[iPTR] }:$src)
21504 /* 58295 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQkm_EVEX),
21505 /* 58298 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21506 /* 58300 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21507 /* 58304 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21508 /* 58308 */ GIR_RootConstrainSelectedInstOperands,
21509 /* 58309 */ // GIR_Coverage, 4411,
21510 /* 58309 */ GIR_EraseRootFromParent_Done,
21511 /* 58310 */ // Label 1448: @58310
21512 /* 58310 */ GIM_Reject,
21513 /* 58311 */ // Label 1446: @58311
21514 /* 58311 */ GIM_Reject,
21515 /* 58312 */ // Label 1299: @58312
21516 /* 58312 */ GIM_Try, /*On fail goto*//*Label 1449*/ GIMT_Encode4(58405),
21517 /* 58317 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21518 /* 58320 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21519 /* 58324 */ GIM_Try, /*On fail goto*//*Label 1450*/ GIMT_Encode4(58366), // Rule ID 19808 //
21520 /* 58329 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21521 /* 58332 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21522 /* 58336 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21523 /* 58340 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21524 /* 58344 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21525 /* 58351 */ // (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Zrm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)
21526 /* 58351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrm),
21527 /* 58354 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21528 /* 58356 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21529 /* 58360 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21530 /* 58364 */ GIR_RootConstrainSelectedInstOperands,
21531 /* 58365 */ // GIR_Coverage, 19808,
21532 /* 58365 */ GIR_EraseRootFromParent_Done,
21533 /* 58366 */ // Label 1450: @58366
21534 /* 58366 */ GIM_Try, /*On fail goto*//*Label 1451*/ GIMT_Encode4(58404), // Rule ID 19812 //
21535 /* 58371 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21536 /* 58374 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21537 /* 58378 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21538 /* 58382 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21539 /* 58389 */ // (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Zrm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)
21540 /* 58389 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zrm),
21541 /* 58392 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21542 /* 58394 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21543 /* 58398 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21544 /* 58402 */ GIR_RootConstrainSelectedInstOperands,
21545 /* 58403 */ // GIR_Coverage, 19812,
21546 /* 58403 */ GIR_EraseRootFromParent_Done,
21547 /* 58404 */ // Label 1451: @58404
21548 /* 58404 */ GIM_Reject,
21549 /* 58405 */ // Label 1449: @58405
21550 /* 58405 */ GIM_Reject,
21551 /* 58406 */ // Label 1300: @58406
21552 /* 58406 */ GIM_Reject,
21553 /* 58407 */ // Label 12: @58407
21554 /* 58407 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 1455*/ GIMT_Encode4(58739),
21555 /* 58418 */ /*GILLT_s16*//*Label 1452*/ GIMT_Encode4(58430),
21556 /* 58422 */ /*GILLT_s32*//*Label 1453*/ GIMT_Encode4(58506),
21557 /* 58426 */ /*GILLT_s64*//*Label 1454*/ GIMT_Encode4(58600),
21558 /* 58430 */ // Label 1452: @58430
21559 /* 58430 */ GIM_Try, /*On fail goto*//*Label 1456*/ GIMT_Encode4(58505), // Rule ID 22730 //
21560 /* 58435 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21561 /* 58438 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21562 /* 58445 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
21563 /* 58449 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21564 /* 58453 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21565 /* 58460 */ // (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] })
21566 /* 58460 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21567 /* 58463 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVSX32rm8),
21568 /* 58467 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21569 /* 58472 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
21570 /* 58476 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
21571 /* 58480 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21572 /* 58482 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
21573 /* 58485 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21574 /* 58487 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
21575 /* 58494 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
21576 /* 58499 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
21577 /* 58504 */ // GIR_Coverage, 22730,
21578 /* 58504 */ GIR_EraseRootFromParent_Done,
21579 /* 58505 */ // Label 1456: @58505
21580 /* 58505 */ GIM_Reject,
21581 /* 58506 */ // Label 1453: @58506
21582 /* 58506 */ GIM_Try, /*On fail goto*//*Label 1457*/ GIMT_Encode4(58599),
21583 /* 58511 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21584 /* 58514 */ GIM_Try, /*On fail goto*//*Label 1458*/ GIMT_Encode4(58556), // Rule ID 614 //
21585 /* 58519 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21586 /* 58526 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
21587 /* 58530 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21588 /* 58534 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21589 /* 58541 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> => (MOVSX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
21590 /* 58541 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX32rm8),
21591 /* 58544 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21592 /* 58546 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21593 /* 58550 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21594 /* 58554 */ GIR_RootConstrainSelectedInstOperands,
21595 /* 58555 */ // GIR_Coverage, 614,
21596 /* 58555 */ GIR_EraseRootFromParent_Done,
21597 /* 58556 */ // Label 1458: @58556
21598 /* 58556 */ GIM_Try, /*On fail goto*//*Label 1459*/ GIMT_Encode4(58598), // Rule ID 616 //
21599 /* 58561 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
21600 /* 58568 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
21601 /* 58572 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21602 /* 58576 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21603 /* 58583 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> => (MOVSX32rm16:{ *:[i32] } addr:{ *:[iPTR] }:$src)
21604 /* 58583 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX32rm16),
21605 /* 58586 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21606 /* 58588 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21607 /* 58592 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21608 /* 58596 */ GIR_RootConstrainSelectedInstOperands,
21609 /* 58597 */ // GIR_Coverage, 616,
21610 /* 58597 */ GIR_EraseRootFromParent_Done,
21611 /* 58598 */ // Label 1459: @58598
21612 /* 58598 */ GIM_Reject,
21613 /* 58599 */ // Label 1457: @58599
21614 /* 58599 */ GIM_Reject,
21615 /* 58600 */ // Label 1454: @58600
21616 /* 58600 */ GIM_Try, /*On fail goto*//*Label 1460*/ GIMT_Encode4(58738),
21617 /* 58605 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21618 /* 58608 */ GIM_Try, /*On fail goto*//*Label 1461*/ GIMT_Encode4(58650), // Rule ID 622 //
21619 /* 58613 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21620 /* 58620 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
21621 /* 58624 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21622 /* 58628 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21623 /* 58635 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> => (MOVSX64rm8:{ *:[i64] } addr:{ *:[iPTR] }:$src)
21624 /* 58635 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX64rm8),
21625 /* 58638 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21626 /* 58640 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21627 /* 58644 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21628 /* 58648 */ GIR_RootConstrainSelectedInstOperands,
21629 /* 58649 */ // GIR_Coverage, 622,
21630 /* 58649 */ GIR_EraseRootFromParent_Done,
21631 /* 58650 */ // Label 1461: @58650
21632 /* 58650 */ GIM_Try, /*On fail goto*//*Label 1462*/ GIMT_Encode4(58692), // Rule ID 624 //
21633 /* 58655 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
21634 /* 58662 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
21635 /* 58666 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21636 /* 58670 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21637 /* 58677 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> => (MOVSX64rm16:{ *:[i64] } addr:{ *:[iPTR] }:$src)
21638 /* 58677 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX64rm16),
21639 /* 58680 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21640 /* 58682 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21641 /* 58686 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21642 /* 58690 */ GIR_RootConstrainSelectedInstOperands,
21643 /* 58691 */ // GIR_Coverage, 624,
21644 /* 58691 */ GIR_EraseRootFromParent_Done,
21645 /* 58692 */ // Label 1462: @58692
21646 /* 58692 */ GIM_Try, /*On fail goto*//*Label 1463*/ GIMT_Encode4(58737), // Rule ID 626 //
21647 /* 58697 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
21648 /* 58700 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
21649 /* 58707 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
21650 /* 58711 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21651 /* 58715 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21652 /* 58722 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> => (MOVSX64rm32:{ *:[i64] } addr:{ *:[iPTR] }:$src)
21653 /* 58722 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX64rm32),
21654 /* 58725 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21655 /* 58727 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21656 /* 58731 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21657 /* 58735 */ GIR_RootConstrainSelectedInstOperands,
21658 /* 58736 */ // GIR_Coverage, 626,
21659 /* 58736 */ GIR_EraseRootFromParent_Done,
21660 /* 58737 */ // Label 1463: @58737
21661 /* 58737 */ GIM_Reject,
21662 /* 58738 */ // Label 1460: @58738
21663 /* 58738 */ GIM_Reject,
21664 /* 58739 */ // Label 1455: @58739
21665 /* 58739 */ GIM_Reject,
21666 /* 58740 */ // Label 13: @58740
21667 /* 58740 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 1468*/ GIMT_Encode4(59382),
21668 /* 58751 */ /*GILLT_s8*//*Label 1464*/ GIMT_Encode4(58767),
21669 /* 58755 */ /*GILLT_s16*//*Label 1465*/ GIMT_Encode4(58813),
21670 /* 58759 */ /*GILLT_s32*//*Label 1466*/ GIMT_Encode4(58952),
21671 /* 58763 */ /*GILLT_s64*//*Label 1467*/ GIMT_Encode4(59088),
21672 /* 58767 */ // Label 1464: @58767
21673 /* 58767 */ GIM_Try, /*On fail goto*//*Label 1469*/ GIMT_Encode4(58812), // Rule ID 22658 //
21674 /* 58772 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21675 /* 58775 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21676 /* 58782 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
21677 /* 58786 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21678 /* 58790 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21679 /* 58797 */ // (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi1>> => (MOV8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
21680 /* 58797 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8rm),
21681 /* 58800 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21682 /* 58802 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21683 /* 58806 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21684 /* 58810 */ GIR_RootConstrainSelectedInstOperands,
21685 /* 58811 */ // GIR_Coverage, 22658,
21686 /* 58811 */ GIR_EraseRootFromParent_Done,
21687 /* 58812 */ // Label 1469: @58812
21688 /* 58812 */ GIM_Reject,
21689 /* 58813 */ // Label 1465: @58813
21690 /* 58813 */ GIM_Try, /*On fail goto*//*Label 1470*/ GIMT_Encode4(58951),
21691 /* 58818 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21692 /* 58821 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21693 /* 58828 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
21694 /* 58832 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21695 /* 58836 */ GIM_Try, /*On fail goto*//*Label 1471*/ GIMT_Encode4(58893), // Rule ID 22659 //
21696 /* 58841 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21697 /* 58848 */ // (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] })
21698 /* 58848 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21699 /* 58851 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
21700 /* 58855 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21701 /* 58860 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
21702 /* 58864 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
21703 /* 58868 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21704 /* 58870 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
21705 /* 58873 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21706 /* 58875 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
21707 /* 58882 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
21708 /* 58887 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
21709 /* 58892 */ // GIR_Coverage, 22659,
21710 /* 58892 */ GIR_EraseRootFromParent_Done,
21711 /* 58893 */ // Label 1471: @58893
21712 /* 58893 */ GIM_Try, /*On fail goto*//*Label 1472*/ GIMT_Encode4(58950), // Rule ID 22732 //
21713 /* 58898 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21714 /* 58905 */ // (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] })
21715 /* 58905 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21716 /* 58908 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
21717 /* 58912 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21718 /* 58917 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
21719 /* 58921 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
21720 /* 58925 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21721 /* 58927 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
21722 /* 58930 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21723 /* 58932 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
21724 /* 58939 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
21725 /* 58944 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
21726 /* 58949 */ // GIR_Coverage, 22732,
21727 /* 58949 */ GIR_EraseRootFromParent_Done,
21728 /* 58950 */ // Label 1472: @58950
21729 /* 58950 */ GIM_Reject,
21730 /* 58951 */ // Label 1470: @58951
21731 /* 58951 */ GIM_Reject,
21732 /* 58952 */ // Label 1466: @58952
21733 /* 58952 */ GIM_Try, /*On fail goto*//*Label 1473*/ GIMT_Encode4(59087),
21734 /* 58957 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21735 /* 58960 */ GIM_Try, /*On fail goto*//*Label 1474*/ GIMT_Encode4(59002), // Rule ID 618 //
21736 /* 58965 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21737 /* 58972 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
21738 /* 58976 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21739 /* 58980 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21740 /* 58987 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> => (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
21741 /* 58987 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
21742 /* 58990 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21743 /* 58992 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21744 /* 58996 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21745 /* 59000 */ GIR_RootConstrainSelectedInstOperands,
21746 /* 59001 */ // GIR_Coverage, 618,
21747 /* 59001 */ GIR_EraseRootFromParent_Done,
21748 /* 59002 */ // Label 1474: @59002
21749 /* 59002 */ GIM_Try, /*On fail goto*//*Label 1475*/ GIMT_Encode4(59044), // Rule ID 620 //
21750 /* 59007 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
21751 /* 59014 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
21752 /* 59018 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21753 /* 59022 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21754 /* 59029 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> => (MOVZX32rm16:{ *:[i32] } addr:{ *:[iPTR] }:$src)
21755 /* 59029 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm16),
21756 /* 59032 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21757 /* 59034 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21758 /* 59038 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21759 /* 59042 */ GIR_RootConstrainSelectedInstOperands,
21760 /* 59043 */ // GIR_Coverage, 620,
21761 /* 59043 */ GIR_EraseRootFromParent_Done,
21762 /* 59044 */ // Label 1475: @59044
21763 /* 59044 */ GIM_Try, /*On fail goto*//*Label 1476*/ GIMT_Encode4(59086), // Rule ID 22660 //
21764 /* 59049 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21765 /* 59056 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
21766 /* 59060 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21767 /* 59064 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21768 /* 59071 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi1>> => (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
21769 /* 59071 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
21770 /* 59074 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21771 /* 59076 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21772 /* 59080 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21773 /* 59084 */ GIR_RootConstrainSelectedInstOperands,
21774 /* 59085 */ // GIR_Coverage, 22660,
21775 /* 59085 */ GIR_EraseRootFromParent_Done,
21776 /* 59086 */ // Label 1476: @59086
21777 /* 59086 */ GIM_Reject,
21778 /* 59087 */ // Label 1473: @59087
21779 /* 59087 */ GIM_Reject,
21780 /* 59088 */ // Label 1467: @59088
21781 /* 59088 */ GIM_Try, /*On fail goto*//*Label 1477*/ GIMT_Encode4(59381),
21782 /* 59093 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21783 /* 59096 */ GIM_Try, /*On fail goto*//*Label 1478*/ GIMT_Encode4(59167), // Rule ID 17581 //
21784 /* 59101 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21785 /* 59108 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
21786 /* 59112 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21787 /* 59116 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21788 /* 59123 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> => (SUBREG_TO_REG:{ *:[i64] } (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src), sub_32bit:{ *:[i32] })
21789 /* 59123 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21790 /* 59126 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
21791 /* 59130 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21792 /* 59135 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
21793 /* 59139 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
21794 /* 59143 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21795 /* 59145 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
21796 /* 59148 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21797 /* 59150 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21798 /* 59153 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
21799 /* 59156 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
21800 /* 59161 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
21801 /* 59166 */ // GIR_Coverage, 17581,
21802 /* 59166 */ GIR_EraseRootFromParent_Done,
21803 /* 59167 */ // Label 1478: @59167
21804 /* 59167 */ GIM_Try, /*On fail goto*//*Label 1479*/ GIMT_Encode4(59238), // Rule ID 17583 //
21805 /* 59172 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
21806 /* 59179 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
21807 /* 59183 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21808 /* 59187 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21809 /* 59194 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> => (SUBREG_TO_REG:{ *:[i64] } (MOVZX32rm16:{ *:[i32] } addr:{ *:[iPTR] }:$src), sub_32bit:{ *:[i32] })
21810 /* 59194 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21811 /* 59197 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm16),
21812 /* 59201 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21813 /* 59206 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
21814 /* 59210 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
21815 /* 59214 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21816 /* 59216 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
21817 /* 59219 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21818 /* 59221 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21819 /* 59224 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
21820 /* 59227 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
21821 /* 59232 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
21822 /* 59237 */ // GIR_Coverage, 17583,
21823 /* 59237 */ GIR_EraseRootFromParent_Done,
21824 /* 59238 */ // Label 1479: @59238
21825 /* 59238 */ GIM_Try, /*On fail goto*//*Label 1480*/ GIMT_Encode4(59309), // Rule ID 17585 //
21826 /* 59243 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
21827 /* 59250 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
21828 /* 59254 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21829 /* 59258 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21830 /* 59265 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> => (SUBREG_TO_REG:{ *:[i64] } (MOV32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src), sub_32bit:{ *:[i32] })
21831 /* 59265 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21832 /* 59268 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32rm),
21833 /* 59272 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21834 /* 59277 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
21835 /* 59281 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
21836 /* 59285 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21837 /* 59287 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
21838 /* 59290 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21839 /* 59292 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21840 /* 59295 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
21841 /* 59298 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
21842 /* 59303 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
21843 /* 59308 */ // GIR_Coverage, 17585,
21844 /* 59308 */ GIR_EraseRootFromParent_Done,
21845 /* 59309 */ // Label 1480: @59309
21846 /* 59309 */ GIM_Try, /*On fail goto*//*Label 1481*/ GIMT_Encode4(59380), // Rule ID 22661 //
21847 /* 59314 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21848 /* 59321 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
21849 /* 59325 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21850 /* 59329 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21851 /* 59336 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi1>> => (SUBREG_TO_REG:{ *:[i64] } (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src), sub_32bit:{ *:[i32] })
21852 /* 59336 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21853 /* 59339 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
21854 /* 59343 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21855 /* 59348 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
21856 /* 59352 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
21857 /* 59356 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21858 /* 59358 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
21859 /* 59361 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21860 /* 59363 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21861 /* 59366 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
21862 /* 59369 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
21863 /* 59374 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
21864 /* 59379 */ // GIR_Coverage, 22661,
21865 /* 59379 */ GIR_EraseRootFromParent_Done,
21866 /* 59380 */ // Label 1481: @59380
21867 /* 59380 */ GIM_Reject,
21868 /* 59381 */ // Label 1477: @59381
21869 /* 59381 */ GIM_Reject,
21870 /* 59382 */ // Label 1468: @59382
21871 /* 59382 */ GIM_Reject,
21872 /* 59383 */ // Label 14: @59383
21873 /* 59383 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(25), /*)*//*default:*//*Label 1504*/ GIMT_Encode4(84845),
21874 /* 59394 */ /*GILLT_s8*//*Label 1482*/ GIMT_Encode4(59490),
21875 /* 59398 */ /*GILLT_s16*//*Label 1483*/ GIMT_Encode4(64160),
21876 /* 59402 */ /*GILLT_s32*//*Label 1484*/ GIMT_Encode4(69404),
21877 /* 59406 */ /*GILLT_s64*//*Label 1485*/ GIMT_Encode4(75104),
21878 /* 59410 */ /*GILLT_s80*//*Label 1486*/ GIMT_Encode4(80496),
21879 /* 59414 */ /*GILLT_s128*//*Label 1487*/ GIMT_Encode4(80655), GIMT_Encode4(0),
21880 /* 59422 */ /*GILLT_v2s64*//*Label 1488*/ GIMT_Encode4(80909), GIMT_Encode4(0),
21881 /* 59430 */ /*GILLT_v4s32*//*Label 1489*/ GIMT_Encode4(81403),
21882 /* 59434 */ /*GILLT_v4s64*//*Label 1490*/ GIMT_Encode4(81897),
21883 /* 59438 */ /*GILLT_v8s1*//*Label 1491*/ GIMT_Encode4(82231),
21884 /* 59442 */ /*GILLT_v8s16*//*Label 1492*/ GIMT_Encode4(82313),
21885 /* 59446 */ /*GILLT_v8s32*//*Label 1493*/ GIMT_Encode4(82887),
21886 /* 59450 */ /*GILLT_v8s64*//*Label 1494*/ GIMT_Encode4(83221),
21887 /* 59454 */ /*GILLT_v16s1*//*Label 1495*/ GIMT_Encode4(83395),
21888 /* 59458 */ /*GILLT_v16s8*//*Label 1496*/ GIMT_Encode4(83477),
21889 /* 59462 */ /*GILLT_v16s16*//*Label 1497*/ GIMT_Encode4(83731),
21890 /* 59466 */ /*GILLT_v16s32*//*Label 1498*/ GIMT_Encode4(84065),
21891 /* 59470 */ /*GILLT_v32s1*//*Label 1499*/ GIMT_Encode4(84239),
21892 /* 59474 */ /*GILLT_v32s8*//*Label 1500*/ GIMT_Encode4(84321),
21893 /* 59478 */ /*GILLT_v32s16*//*Label 1501*/ GIMT_Encode4(84495),
21894 /* 59482 */ /*GILLT_v64s1*//*Label 1502*/ GIMT_Encode4(84669),
21895 /* 59486 */ /*GILLT_v64s8*//*Label 1503*/ GIMT_Encode4(84751),
21896 /* 59490 */ // Label 1482: @59490
21897 /* 59490 */ GIM_Try, /*On fail goto*//*Label 1505*/ GIMT_Encode4(59586), // Rule ID 22552 //
21898 /* 59495 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
21899 /* 59498 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
21900 /* 59501 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21901 /* 59508 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21902 /* 59512 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
21903 /* 59516 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21904 /* 59520 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21905 /* 59524 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21906 /* 59528 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21907 /* 59532 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
21908 /* 59535 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
21909 /* 59539 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21910 /* 59546 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21911 /* 59550 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
21912 /* 59554 */ // MIs[0] dst
21913 /* 59554 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21914 /* 59559 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
21915 /* 59561 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21916 /* 59568 */ // (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)
21917 /* 59568 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8m),
21918 /* 59571 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
21919 /* 59575 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21920 /* 59578 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
21921 /* 59584 */ GIR_RootConstrainSelectedInstOperands,
21922 /* 59585 */ // GIR_Coverage, 22552,
21923 /* 59585 */ GIR_EraseRootFromParent_Done,
21924 /* 59586 */ // Label 1505: @59586
21925 /* 59586 */ GIM_Try, /*On fail goto*//*Label 1506*/ GIMT_Encode4(59682), // Rule ID 22556 //
21926 /* 59591 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
21927 /* 59594 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
21928 /* 59597 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21929 /* 59604 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21930 /* 59608 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
21931 /* 59612 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21932 /* 59616 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21933 /* 59620 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21934 /* 59624 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21935 /* 59628 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
21936 /* 59631 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
21937 /* 59635 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21938 /* 59642 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21939 /* 59646 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
21940 /* 59650 */ // MIs[0] dst
21941 /* 59650 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21942 /* 59655 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
21943 /* 59657 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21944 /* 59664 */ // (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)
21945 /* 59664 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC8m),
21946 /* 59667 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
21947 /* 59671 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21948 /* 59674 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
21949 /* 59680 */ GIR_RootConstrainSelectedInstOperands,
21950 /* 59681 */ // GIR_Coverage, 22556,
21951 /* 59681 */ GIR_EraseRootFromParent_Done,
21952 /* 59682 */ // Label 1506: @59682
21953 /* 59682 */ GIM_Try, /*On fail goto*//*Label 1507*/ GIMT_Encode4(59775), // Rule ID 22560 //
21954 /* 59687 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
21955 /* 59690 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21956 /* 59697 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21957 /* 59701 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
21958 /* 59705 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21959 /* 59709 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21960 /* 59713 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
21961 /* 59717 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
21962 /* 59721 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21963 /* 59725 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
21964 /* 59728 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
21965 /* 59732 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21966 /* 59739 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21967 /* 59743 */ // MIs[0] dst
21968 /* 59743 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21969 /* 59748 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
21970 /* 59750 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21971 /* 59757 */ // (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)
21972 /* 59757 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8m),
21973 /* 59760 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
21974 /* 59764 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21975 /* 59767 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
21976 /* 59773 */ GIR_RootConstrainSelectedInstOperands,
21977 /* 59774 */ // GIR_Coverage, 22560,
21978 /* 59774 */ GIR_EraseRootFromParent_Done,
21979 /* 59775 */ // Label 1507: @59775
21980 /* 59775 */ GIM_Try, /*On fail goto*//*Label 1508*/ GIMT_Encode4(59865), // Rule ID 22564 //
21981 /* 59780 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
21982 /* 59783 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21983 /* 59790 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21984 /* 59794 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
21985 /* 59798 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21986 /* 59802 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21987 /* 59806 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21988 /* 59810 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21989 /* 59814 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
21990 /* 59817 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
21991 /* 59821 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21992 /* 59828 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21993 /* 59832 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
21994 /* 59836 */ // MIs[0] dst
21995 /* 59836 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21996 /* 59841 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
21997 /* 59843 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21998 /* 59850 */ // (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)
21999 /* 59850 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT8m),
22000 /* 59853 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22001 /* 59857 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22002 /* 59863 */ GIR_RootConstrainSelectedInstOperands,
22003 /* 59864 */ // GIR_Coverage, 22564,
22004 /* 59864 */ GIR_EraseRootFromParent_Done,
22005 /* 59865 */ // Label 1508: @59865
22006 /* 59865 */ GIM_Try, /*On fail goto*//*Label 1509*/ GIMT_Encode4(59951), // Rule ID 223 //
22007 /* 59870 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
22008 /* 59873 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22009 /* 59876 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22010 /* 59880 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22011 /* 59884 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22012 /* 59888 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22013 /* 59892 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22014 /* 59896 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22015 /* 59900 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22016 /* 59904 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22017 /* 59907 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22018 /* 59911 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22019 /* 59915 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
22020 /* 59919 */ // MIs[0] src1
22021 /* 59919 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22022 /* 59924 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22023 /* 59926 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22024 /* 59933 */ // (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)
22025 /* 59933 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8m),
22026 /* 59936 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22027 /* 59940 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22028 /* 59943 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22029 /* 59949 */ GIR_RootConstrainSelectedInstOperands,
22030 /* 59950 */ // GIR_Coverage, 223,
22031 /* 59950 */ GIR_EraseRootFromParent_Done,
22032 /* 59951 */ // Label 1509: @59951
22033 /* 59951 */ GIM_Try, /*On fail goto*//*Label 1510*/ GIMT_Encode4(60037), // Rule ID 226 //
22034 /* 59956 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
22035 /* 59959 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22036 /* 59962 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22037 /* 59966 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22038 /* 59970 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22039 /* 59974 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22040 /* 59978 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22041 /* 59982 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22042 /* 59986 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22043 /* 59990 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22044 /* 59993 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22045 /* 59997 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22046 /* 60001 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
22047 /* 60005 */ // MIs[0] src1
22048 /* 60005 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22049 /* 60010 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22050 /* 60012 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22051 /* 60019 */ // (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)
22052 /* 60019 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC8m),
22053 /* 60022 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22054 /* 60026 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22055 /* 60029 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22056 /* 60035 */ GIR_RootConstrainSelectedInstOperands,
22057 /* 60036 */ // GIR_Coverage, 226,
22058 /* 60036 */ GIR_EraseRootFromParent_Done,
22059 /* 60037 */ // Label 1510: @60037
22060 /* 60037 */ GIM_Try, /*On fail goto*//*Label 1511*/ GIMT_Encode4(60120), // Rule ID 17602 //
22061 /* 60042 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22062 /* 60045 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22063 /* 60049 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22064 /* 60053 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
22065 /* 60057 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22066 /* 60061 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22067 /* 60065 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22068 /* 60069 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22069 /* 60073 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22070 /* 60076 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22071 /* 60080 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22072 /* 60084 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 7,
22073 /* 60088 */ // MIs[0] dst
22074 /* 60088 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22075 /* 60093 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22076 /* 60095 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22077 /* 60102 */ // (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)
22078 /* 60102 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8m1),
22079 /* 60105 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22080 /* 60109 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22081 /* 60112 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22082 /* 60118 */ GIR_RootConstrainSelectedInstOperands,
22083 /* 60119 */ // GIR_Coverage, 17602,
22084 /* 60119 */ GIR_EraseRootFromParent_Done,
22085 /* 60120 */ // Label 1511: @60120
22086 /* 60120 */ GIM_Try, /*On fail goto*//*Label 1512*/ GIMT_Encode4(60203), // Rule ID 17606 //
22087 /* 60125 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22088 /* 60128 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22089 /* 60132 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22090 /* 60136 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
22091 /* 60140 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22092 /* 60144 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22093 /* 60148 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22094 /* 60152 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22095 /* 60156 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22096 /* 60159 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22097 /* 60163 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22098 /* 60167 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 7,
22099 /* 60171 */ // MIs[0] dst
22100 /* 60171 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22101 /* 60176 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22102 /* 60178 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22103 /* 60185 */ // (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)
22104 /* 60185 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8m1),
22105 /* 60188 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22106 /* 60192 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22107 /* 60195 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22108 /* 60201 */ GIR_RootConstrainSelectedInstOperands,
22109 /* 60202 */ // GIR_Coverage, 17606,
22110 /* 60202 */ GIR_EraseRootFromParent_Done,
22111 /* 60203 */ // Label 1512: @60203
22112 /* 60203 */ GIM_Try, /*On fail goto*//*Label 1513*/ GIMT_Encode4(60286), // Rule ID 259 //
22113 /* 60208 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22114 /* 60211 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22115 /* 60215 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22116 /* 60219 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
22117 /* 60223 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22118 /* 60227 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22119 /* 60231 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
22120 /* 60235 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22121 /* 60239 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22122 /* 60243 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22123 /* 60246 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22124 /* 60250 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22125 /* 60254 */ // MIs[0] src1
22126 /* 60254 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22127 /* 60259 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22128 /* 60261 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22129 /* 60268 */ // (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)
22130 /* 60268 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8m),
22131 /* 60271 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22132 /* 60275 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22133 /* 60278 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22134 /* 60284 */ GIR_RootConstrainSelectedInstOperands,
22135 /* 60285 */ // GIR_Coverage, 259,
22136 /* 60285 */ GIR_EraseRootFromParent_Done,
22137 /* 60286 */ // Label 1513: @60286
22138 /* 60286 */ GIM_Try, /*On fail goto*//*Label 1514*/ GIMT_Encode4(60366), // Rule ID 267 //
22139 /* 60291 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22140 /* 60294 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22141 /* 60298 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22142 /* 60302 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
22143 /* 60306 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22144 /* 60310 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22145 /* 60314 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22146 /* 60318 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22147 /* 60322 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22148 /* 60325 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22149 /* 60329 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22150 /* 60333 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
22151 /* 60337 */ // MIs[0] src1
22152 /* 60337 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22153 /* 60342 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22154 /* 60344 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22155 /* 60351 */ // (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)
22156 /* 60351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT8m),
22157 /* 60354 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22158 /* 60358 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22159 /* 60364 */ GIR_RootConstrainSelectedInstOperands,
22160 /* 60365 */ // GIR_Coverage, 267,
22161 /* 60365 */ GIR_EraseRootFromParent_Done,
22162 /* 60366 */ // Label 1514: @60366
22163 /* 60366 */ GIM_Try, /*On fail goto*//*Label 1515*/ GIMT_Encode4(60461), // Rule ID 411 //
22164 /* 60371 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22165 /* 60374 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22166 /* 60378 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22167 /* 60382 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22168 /* 60386 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22169 /* 60390 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22170 /* 60394 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22171 /* 60398 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22172 /* 60402 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22173 /* 60405 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22174 /* 60409 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22175 /* 60413 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22176 /* 60417 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22177 /* 60421 */ // MIs[3] Operand 1
22178 /* 60421 */ // No operand predicates
22179 /* 60421 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
22180 /* 60425 */ // MIs[0] src1
22181 /* 60425 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22182 /* 60430 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22183 /* 60432 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22184 /* 60439 */ // (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)
22185 /* 60439 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mi),
22186 /* 60442 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22187 /* 60446 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22188 /* 60449 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22189 /* 60452 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22190 /* 60459 */ GIR_RootConstrainSelectedInstOperands,
22191 /* 60460 */ // GIR_Coverage, 411,
22192 /* 60460 */ GIR_EraseRootFromParent_Done,
22193 /* 60461 */ // Label 1515: @60461
22194 /* 60461 */ GIM_Try, /*On fail goto*//*Label 1516*/ GIMT_Encode4(60556), // Rule ID 303 //
22195 /* 60466 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22196 /* 60469 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22197 /* 60473 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22198 /* 60477 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
22199 /* 60481 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22200 /* 60485 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22201 /* 60489 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22202 /* 60493 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22203 /* 60497 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22204 /* 60500 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22205 /* 60504 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22206 /* 60508 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22207 /* 60512 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22208 /* 60516 */ // MIs[3] Operand 1
22209 /* 60516 */ // No operand predicates
22210 /* 60516 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
22211 /* 60520 */ // MIs[0] src1
22212 /* 60520 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22213 /* 60525 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22214 /* 60527 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22215 /* 60534 */ // (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)
22216 /* 60534 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mi),
22217 /* 60537 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22218 /* 60541 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22219 /* 60544 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22220 /* 60547 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22221 /* 60554 */ GIR_RootConstrainSelectedInstOperands,
22222 /* 60555 */ // GIR_Coverage, 303,
22223 /* 60555 */ GIR_EraseRootFromParent_Done,
22224 /* 60556 */ // Label 1516: @60556
22225 /* 60556 */ GIM_Try, /*On fail goto*//*Label 1517*/ GIMT_Encode4(60651), // Rule ID 339 //
22226 /* 60561 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22227 /* 60564 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22228 /* 60568 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22229 /* 60572 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
22230 /* 60576 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22231 /* 60580 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22232 /* 60584 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22233 /* 60588 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22234 /* 60592 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22235 /* 60595 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22236 /* 60599 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22237 /* 60603 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22238 /* 60607 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22239 /* 60611 */ // MIs[3] Operand 1
22240 /* 60611 */ // No operand predicates
22241 /* 60611 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
22242 /* 60615 */ // MIs[0] src1
22243 /* 60615 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22244 /* 60620 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22245 /* 60622 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22246 /* 60629 */ // (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)
22247 /* 60629 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mi),
22248 /* 60632 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22249 /* 60636 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22250 /* 60639 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22251 /* 60642 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22252 /* 60649 */ GIR_RootConstrainSelectedInstOperands,
22253 /* 60650 */ // GIR_Coverage, 339,
22254 /* 60650 */ GIR_EraseRootFromParent_Done,
22255 /* 60651 */ // Label 1517: @60651
22256 /* 60651 */ GIM_Try, /*On fail goto*//*Label 1518*/ GIMT_Encode4(60746), // Rule ID 451 //
22257 /* 60656 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22258 /* 60659 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22259 /* 60663 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22260 /* 60667 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
22261 /* 60671 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22262 /* 60675 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22263 /* 60679 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22264 /* 60683 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22265 /* 60687 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22266 /* 60690 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22267 /* 60694 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22268 /* 60698 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22269 /* 60702 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22270 /* 60706 */ // MIs[3] Operand 1
22271 /* 60706 */ // No operand predicates
22272 /* 60706 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
22273 /* 60710 */ // MIs[0] src1
22274 /* 60710 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22275 /* 60715 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22276 /* 60717 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22277 /* 60724 */ // (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)
22278 /* 60724 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8mi),
22279 /* 60727 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22280 /* 60731 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22281 /* 60734 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22282 /* 60737 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22283 /* 60744 */ GIR_RootConstrainSelectedInstOperands,
22284 /* 60745 */ // GIR_Coverage, 451,
22285 /* 60745 */ GIR_EraseRootFromParent_Done,
22286 /* 60746 */ // Label 1518: @60746
22287 /* 60746 */ GIM_Try, /*On fail goto*//*Label 1519*/ GIMT_Encode4(60841), // Rule ID 375 //
22288 /* 60751 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22289 /* 60754 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22290 /* 60758 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22291 /* 60762 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
22292 /* 60766 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22293 /* 60770 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22294 /* 60774 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22295 /* 60778 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22296 /* 60782 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22297 /* 60785 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22298 /* 60789 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22299 /* 60793 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22300 /* 60797 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22301 /* 60801 */ // MIs[3] Operand 1
22302 /* 60801 */ // No operand predicates
22303 /* 60801 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
22304 /* 60805 */ // MIs[0] src1
22305 /* 60805 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22306 /* 60810 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22307 /* 60812 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22308 /* 60819 */ // (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)
22309 /* 60819 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mi),
22310 /* 60822 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22311 /* 60826 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22312 /* 60829 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22313 /* 60832 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22314 /* 60839 */ GIR_RootConstrainSelectedInstOperands,
22315 /* 60840 */ // GIR_Coverage, 375,
22316 /* 60840 */ GIR_EraseRootFromParent_Done,
22317 /* 60841 */ // Label 1519: @60841
22318 /* 60841 */ GIM_Try, /*On fail goto*//*Label 1520*/ GIMT_Encode4(60942), // Rule ID 22488 //
22319 /* 60846 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22320 /* 60849 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22321 /* 60856 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22322 /* 60860 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22323 /* 60864 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22324 /* 60868 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22325 /* 60872 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22326 /* 60876 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22327 /* 60880 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22328 /* 60883 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22329 /* 60887 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22330 /* 60894 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22331 /* 60898 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22332 /* 60902 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22333 /* 60906 */ // MIs[3] Operand 1
22334 /* 60906 */ // No operand predicates
22335 /* 60906 */ // MIs[0] dst
22336 /* 60906 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22337 /* 60911 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22338 /* 60913 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22339 /* 60920 */ // (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)
22340 /* 60920 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mi),
22341 /* 60923 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22342 /* 60927 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
22343 /* 60930 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22344 /* 60933 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22345 /* 60940 */ GIR_RootConstrainSelectedInstOperands,
22346 /* 60941 */ // GIR_Coverage, 22488,
22347 /* 60941 */ GIR_EraseRootFromParent_Done,
22348 /* 60942 */ // Label 1520: @60942
22349 /* 60942 */ GIM_Try, /*On fail goto*//*Label 1521*/ GIMT_Encode4(61043), // Rule ID 22496 //
22350 /* 60947 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22351 /* 60950 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22352 /* 60957 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22353 /* 60961 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
22354 /* 60965 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22355 /* 60969 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22356 /* 60973 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22357 /* 60977 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22358 /* 60981 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22359 /* 60984 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22360 /* 60988 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22361 /* 60995 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22362 /* 60999 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22363 /* 61003 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22364 /* 61007 */ // MIs[3] Operand 1
22365 /* 61007 */ // No operand predicates
22366 /* 61007 */ // MIs[0] dst
22367 /* 61007 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22368 /* 61012 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22369 /* 61014 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22370 /* 61021 */ // (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)
22371 /* 61021 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mi),
22372 /* 61024 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22373 /* 61028 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
22374 /* 61031 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22375 /* 61034 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22376 /* 61041 */ GIR_RootConstrainSelectedInstOperands,
22377 /* 61042 */ // GIR_Coverage, 22496,
22378 /* 61042 */ GIR_EraseRootFromParent_Done,
22379 /* 61043 */ // Label 1521: @61043
22380 /* 61043 */ GIM_Try, /*On fail goto*//*Label 1522*/ GIMT_Encode4(61144), // Rule ID 22504 //
22381 /* 61048 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22382 /* 61051 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22383 /* 61058 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22384 /* 61062 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
22385 /* 61066 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22386 /* 61070 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22387 /* 61074 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22388 /* 61078 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22389 /* 61082 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22390 /* 61085 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22391 /* 61089 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22392 /* 61096 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22393 /* 61100 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22394 /* 61104 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22395 /* 61108 */ // MIs[3] Operand 1
22396 /* 61108 */ // No operand predicates
22397 /* 61108 */ // MIs[0] dst
22398 /* 61108 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22399 /* 61113 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22400 /* 61115 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22401 /* 61122 */ // (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)
22402 /* 61122 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mi),
22403 /* 61125 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22404 /* 61129 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
22405 /* 61132 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22406 /* 61135 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22407 /* 61142 */ GIR_RootConstrainSelectedInstOperands,
22408 /* 61143 */ // GIR_Coverage, 22504,
22409 /* 61143 */ GIR_EraseRootFromParent_Done,
22410 /* 61144 */ // Label 1522: @61144
22411 /* 61144 */ GIM_Try, /*On fail goto*//*Label 1523*/ GIMT_Encode4(61245), // Rule ID 22520 //
22412 /* 61149 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22413 /* 61152 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22414 /* 61159 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22415 /* 61163 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
22416 /* 61167 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22417 /* 61171 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22418 /* 61175 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22419 /* 61179 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22420 /* 61183 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22421 /* 61186 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22422 /* 61190 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22423 /* 61197 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22424 /* 61201 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22425 /* 61205 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22426 /* 61209 */ // MIs[3] Operand 1
22427 /* 61209 */ // No operand predicates
22428 /* 61209 */ // MIs[0] dst
22429 /* 61209 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22430 /* 61214 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22431 /* 61216 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22432 /* 61223 */ // (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)
22433 /* 61223 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8mi),
22434 /* 61226 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22435 /* 61230 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
22436 /* 61233 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22437 /* 61236 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22438 /* 61243 */ GIR_RootConstrainSelectedInstOperands,
22439 /* 61244 */ // GIR_Coverage, 22520,
22440 /* 61244 */ GIR_EraseRootFromParent_Done,
22441 /* 61245 */ // Label 1523: @61245
22442 /* 61245 */ GIM_Try, /*On fail goto*//*Label 1524*/ GIMT_Encode4(61346), // Rule ID 22512 //
22443 /* 61250 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22444 /* 61253 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22445 /* 61260 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22446 /* 61264 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
22447 /* 61268 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22448 /* 61272 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22449 /* 61276 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22450 /* 61280 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22451 /* 61284 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22452 /* 61287 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22453 /* 61291 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22454 /* 61298 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22455 /* 61302 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22456 /* 61306 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22457 /* 61310 */ // MIs[3] Operand 1
22458 /* 61310 */ // No operand predicates
22459 /* 61310 */ // MIs[0] dst
22460 /* 61310 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22461 /* 61315 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22462 /* 61317 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22463 /* 61324 */ // (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)
22464 /* 61324 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mi),
22465 /* 61327 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22466 /* 61331 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
22467 /* 61334 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22468 /* 61337 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22469 /* 61344 */ GIR_RootConstrainSelectedInstOperands,
22470 /* 61345 */ // GIR_Coverage, 22512,
22471 /* 61345 */ GIR_EraseRootFromParent_Done,
22472 /* 61346 */ // Label 1524: @61346
22473 /* 61346 */ GIM_Try, /*On fail goto*//*Label 1525*/ GIMT_Encode4(61437), // Rule ID 733 //
22474 /* 61351 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22475 /* 61354 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22476 /* 61358 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22477 /* 61362 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
22478 /* 61366 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22479 /* 61370 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22480 /* 61374 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22481 /* 61378 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22482 /* 61382 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22483 /* 61385 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22484 /* 61389 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22485 /* 61393 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22486 /* 61397 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22487 /* 61401 */ // MIs[3] Operand 1
22488 /* 61401 */ // No operand predicates
22489 /* 61401 */ // MIs[0] src1
22490 /* 61401 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22491 /* 61406 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22492 /* 61408 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22493 /* 61415 */ // (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)
22494 /* 61415 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8mi),
22495 /* 61418 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22496 /* 61422 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22497 /* 61425 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22498 /* 61428 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22499 /* 61435 */ GIR_RootConstrainSelectedInstOperands,
22500 /* 61436 */ // GIR_Coverage, 733,
22501 /* 61436 */ GIR_EraseRootFromParent_Done,
22502 /* 61437 */ // Label 1525: @61437
22503 /* 61437 */ GIM_Try, /*On fail goto*//*Label 1526*/ GIMT_Encode4(61528), // Rule ID 701 //
22504 /* 61442 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22505 /* 61445 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22506 /* 61449 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22507 /* 61453 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
22508 /* 61457 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22509 /* 61461 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22510 /* 61465 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22511 /* 61469 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22512 /* 61473 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22513 /* 61476 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22514 /* 61480 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22515 /* 61484 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22516 /* 61488 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22517 /* 61492 */ // MIs[3] Operand 1
22518 /* 61492 */ // No operand predicates
22519 /* 61492 */ // MIs[0] src1
22520 /* 61492 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22521 /* 61497 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22522 /* 61499 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22523 /* 61506 */ // (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)
22524 /* 61506 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8mi),
22525 /* 61509 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22526 /* 61513 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22527 /* 61516 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22528 /* 61519 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22529 /* 61526 */ GIR_RootConstrainSelectedInstOperands,
22530 /* 61527 */ // GIR_Coverage, 701,
22531 /* 61527 */ GIR_EraseRootFromParent_Done,
22532 /* 61528 */ // Label 1526: @61528
22533 /* 61528 */ GIM_Try, /*On fail goto*//*Label 1527*/ GIMT_Encode4(61619), // Rule ID 765 //
22534 /* 61533 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22535 /* 61536 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22536 /* 61540 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22537 /* 61544 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
22538 /* 61548 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22539 /* 61552 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22540 /* 61556 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22541 /* 61560 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22542 /* 61564 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22543 /* 61567 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22544 /* 61571 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22545 /* 61575 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22546 /* 61579 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22547 /* 61583 */ // MIs[3] Operand 1
22548 /* 61583 */ // No operand predicates
22549 /* 61583 */ // MIs[0] src1
22550 /* 61583 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22551 /* 61588 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22552 /* 61590 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22553 /* 61597 */ // (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)
22554 /* 61597 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8mi),
22555 /* 61600 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22556 /* 61604 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22557 /* 61607 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22558 /* 61610 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22559 /* 61617 */ GIR_RootConstrainSelectedInstOperands,
22560 /* 61618 */ // GIR_Coverage, 765,
22561 /* 61618 */ GIR_EraseRootFromParent_Done,
22562 /* 61619 */ // Label 1527: @61619
22563 /* 61619 */ GIM_Try, /*On fail goto*//*Label 1528*/ GIMT_Encode4(61710), // Rule ID 797 //
22564 /* 61624 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22565 /* 61627 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22566 /* 61631 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22567 /* 61635 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
22568 /* 61639 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22569 /* 61643 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22570 /* 61647 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22571 /* 61651 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22572 /* 61655 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22573 /* 61658 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22574 /* 61662 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22575 /* 61666 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22576 /* 61670 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22577 /* 61674 */ // MIs[3] Operand 1
22578 /* 61674 */ // No operand predicates
22579 /* 61674 */ // MIs[0] src1
22580 /* 61674 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22581 /* 61679 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22582 /* 61681 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22583 /* 61688 */ // (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)
22584 /* 61688 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8mi),
22585 /* 61691 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22586 /* 61695 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22587 /* 61698 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22588 /* 61701 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22589 /* 61708 */ GIR_RootConstrainSelectedInstOperands,
22590 /* 61709 */ // GIR_Coverage, 797,
22591 /* 61709 */ GIR_EraseRootFromParent_Done,
22592 /* 61710 */ // Label 1528: @61710
22593 /* 61710 */ GIM_Try, /*On fail goto*//*Label 1529*/ GIMT_Encode4(61801), // Rule ID 669 //
22594 /* 61715 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22595 /* 61718 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22596 /* 61722 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22597 /* 61726 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
22598 /* 61730 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22599 /* 61734 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22600 /* 61738 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22601 /* 61742 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22602 /* 61746 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22603 /* 61749 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22604 /* 61753 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22605 /* 61757 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22606 /* 61761 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22607 /* 61765 */ // MIs[3] Operand 1
22608 /* 61765 */ // No operand predicates
22609 /* 61765 */ // MIs[0] src1
22610 /* 61765 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22611 /* 61770 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22612 /* 61772 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22613 /* 61779 */ // (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)
22614 /* 61779 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8mi),
22615 /* 61782 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22616 /* 61786 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22617 /* 61789 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22618 /* 61792 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22619 /* 61799 */ GIR_RootConstrainSelectedInstOperands,
22620 /* 61800 */ // GIR_Coverage, 669,
22621 /* 61800 */ GIR_EraseRootFromParent_Done,
22622 /* 61801 */ // Label 1529: @61801
22623 /* 61801 */ GIM_Try, /*On fail goto*//*Label 1530*/ GIMT_Encode4(61899), // Rule ID 22492 //
22624 /* 61806 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22625 /* 61809 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22626 /* 61816 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22627 /* 61820 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22628 /* 61824 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22629 /* 61828 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22630 /* 61832 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22631 /* 61836 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22632 /* 61840 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22633 /* 61843 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22634 /* 61847 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22635 /* 61854 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22636 /* 61858 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22637 /* 61863 */ // MIs[0] dst
22638 /* 61863 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22639 /* 61868 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22640 /* 61870 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22641 /* 61877 */ // (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)
22642 /* 61877 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mr),
22643 /* 61880 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22644 /* 61884 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
22645 /* 61888 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22646 /* 61891 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22647 /* 61897 */ GIR_RootConstrainSelectedInstOperands,
22648 /* 61898 */ // GIR_Coverage, 22492,
22649 /* 61898 */ GIR_EraseRootFromParent_Done,
22650 /* 61899 */ // Label 1530: @61899
22651 /* 61899 */ GIM_Try, /*On fail goto*//*Label 1531*/ GIMT_Encode4(61997), // Rule ID 26084 //
22652 /* 61904 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22653 /* 61907 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22654 /* 61914 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22655 /* 61918 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22656 /* 61922 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22657 /* 61926 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22658 /* 61930 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22659 /* 61935 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22660 /* 61939 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22661 /* 61943 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22662 /* 61946 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22663 /* 61950 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22664 /* 61957 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22665 /* 61961 */ // MIs[0] dst
22666 /* 61961 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22667 /* 61966 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22668 /* 61968 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22669 /* 61975 */ // (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)
22670 /* 61975 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mr),
22671 /* 61978 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22672 /* 61982 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
22673 /* 61986 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22674 /* 61989 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22675 /* 61995 */ GIR_RootConstrainSelectedInstOperands,
22676 /* 61996 */ // GIR_Coverage, 26084,
22677 /* 61996 */ GIR_EraseRootFromParent_Done,
22678 /* 61997 */ // Label 1531: @61997
22679 /* 61997 */ GIM_Try, /*On fail goto*//*Label 1532*/ GIMT_Encode4(62095), // Rule ID 22500 //
22680 /* 62002 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22681 /* 62005 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22682 /* 62012 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22683 /* 62016 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
22684 /* 62020 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22685 /* 62024 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22686 /* 62028 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22687 /* 62032 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22688 /* 62036 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22689 /* 62039 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22690 /* 62043 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22691 /* 62050 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22692 /* 62054 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22693 /* 62059 */ // MIs[0] dst
22694 /* 62059 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22695 /* 62064 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22696 /* 62066 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22697 /* 62073 */ // (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)
22698 /* 62073 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mr),
22699 /* 62076 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22700 /* 62080 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
22701 /* 62084 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22702 /* 62087 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22703 /* 62093 */ GIR_RootConstrainSelectedInstOperands,
22704 /* 62094 */ // GIR_Coverage, 22500,
22705 /* 62094 */ GIR_EraseRootFromParent_Done,
22706 /* 62095 */ // Label 1532: @62095
22707 /* 62095 */ GIM_Try, /*On fail goto*//*Label 1533*/ GIMT_Encode4(62193), // Rule ID 26088 //
22708 /* 62100 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22709 /* 62103 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22710 /* 62110 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22711 /* 62114 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
22712 /* 62118 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22713 /* 62122 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22714 /* 62126 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22715 /* 62131 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22716 /* 62135 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22717 /* 62139 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22718 /* 62142 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22719 /* 62146 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22720 /* 62153 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22721 /* 62157 */ // MIs[0] dst
22722 /* 62157 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22723 /* 62162 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22724 /* 62164 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22725 /* 62171 */ // (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)
22726 /* 62171 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mr),
22727 /* 62174 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22728 /* 62178 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
22729 /* 62182 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22730 /* 62185 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22731 /* 62191 */ GIR_RootConstrainSelectedInstOperands,
22732 /* 62192 */ // GIR_Coverage, 26088,
22733 /* 62192 */ GIR_EraseRootFromParent_Done,
22734 /* 62193 */ // Label 1533: @62193
22735 /* 62193 */ GIM_Try, /*On fail goto*//*Label 1534*/ GIMT_Encode4(62291), // Rule ID 22508 //
22736 /* 62198 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22737 /* 62201 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22738 /* 62208 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22739 /* 62212 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
22740 /* 62216 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22741 /* 62220 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22742 /* 62224 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22743 /* 62228 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22744 /* 62232 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22745 /* 62235 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22746 /* 62239 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22747 /* 62246 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22748 /* 62250 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22749 /* 62255 */ // MIs[0] dst
22750 /* 62255 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22751 /* 62260 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22752 /* 62262 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22753 /* 62269 */ // (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)
22754 /* 62269 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mr),
22755 /* 62272 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22756 /* 62276 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
22757 /* 62280 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22758 /* 62283 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22759 /* 62289 */ GIR_RootConstrainSelectedInstOperands,
22760 /* 62290 */ // GIR_Coverage, 22508,
22761 /* 62290 */ GIR_EraseRootFromParent_Done,
22762 /* 62291 */ // Label 1534: @62291
22763 /* 62291 */ GIM_Try, /*On fail goto*//*Label 1535*/ GIMT_Encode4(62389), // Rule ID 26092 //
22764 /* 62296 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22765 /* 62299 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22766 /* 62306 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22767 /* 62310 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
22768 /* 62314 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22769 /* 62318 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22770 /* 62322 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22771 /* 62327 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22772 /* 62331 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22773 /* 62335 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22774 /* 62338 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22775 /* 62342 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22776 /* 62349 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22777 /* 62353 */ // MIs[0] dst
22778 /* 62353 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22779 /* 62358 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22780 /* 62360 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22781 /* 62367 */ // (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)
22782 /* 62367 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mr),
22783 /* 62370 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22784 /* 62374 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
22785 /* 62378 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22786 /* 62381 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22787 /* 62387 */ GIR_RootConstrainSelectedInstOperands,
22788 /* 62388 */ // GIR_Coverage, 26092,
22789 /* 62388 */ GIR_EraseRootFromParent_Done,
22790 /* 62389 */ // Label 1535: @62389
22791 /* 62389 */ GIM_Try, /*On fail goto*//*Label 1536*/ GIMT_Encode4(62487), // Rule ID 22524 //
22792 /* 62394 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22793 /* 62397 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22794 /* 62404 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22795 /* 62408 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
22796 /* 62412 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22797 /* 62416 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22798 /* 62420 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22799 /* 62424 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22800 /* 62428 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22801 /* 62431 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22802 /* 62435 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22803 /* 62442 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22804 /* 62446 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22805 /* 62451 */ // MIs[0] dst
22806 /* 62451 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22807 /* 62456 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22808 /* 62458 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22809 /* 62465 */ // (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)
22810 /* 62465 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8mr),
22811 /* 62468 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22812 /* 62472 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
22813 /* 62476 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22814 /* 62479 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22815 /* 62485 */ GIR_RootConstrainSelectedInstOperands,
22816 /* 62486 */ // GIR_Coverage, 22524,
22817 /* 62486 */ GIR_EraseRootFromParent_Done,
22818 /* 62487 */ // Label 1536: @62487
22819 /* 62487 */ GIM_Try, /*On fail goto*//*Label 1537*/ GIMT_Encode4(62585), // Rule ID 22516 //
22820 /* 62492 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22821 /* 62495 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22822 /* 62502 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22823 /* 62506 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
22824 /* 62510 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22825 /* 62514 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22826 /* 62518 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22827 /* 62522 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22828 /* 62526 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22829 /* 62529 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22830 /* 62533 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22831 /* 62540 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22832 /* 62544 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22833 /* 62549 */ // MIs[0] dst
22834 /* 62549 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22835 /* 62554 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22836 /* 62556 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22837 /* 62563 */ // (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)
22838 /* 62563 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mr),
22839 /* 62566 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22840 /* 62570 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
22841 /* 62574 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22842 /* 62577 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22843 /* 62583 */ GIR_RootConstrainSelectedInstOperands,
22844 /* 62584 */ // GIR_Coverage, 22516,
22845 /* 62584 */ GIR_EraseRootFromParent_Done,
22846 /* 62585 */ // Label 1537: @62585
22847 /* 62585 */ GIM_Try, /*On fail goto*//*Label 1538*/ GIMT_Encode4(62683), // Rule ID 26096 //
22848 /* 62590 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22849 /* 62593 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22850 /* 62600 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22851 /* 62604 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
22852 /* 62608 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22853 /* 62612 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22854 /* 62616 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22855 /* 62621 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22856 /* 62625 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22857 /* 62629 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22858 /* 62632 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22859 /* 62636 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22860 /* 62643 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22861 /* 62647 */ // MIs[0] dst
22862 /* 62647 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22863 /* 62652 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22864 /* 62654 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22865 /* 62661 */ // (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)
22866 /* 62661 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mr),
22867 /* 62664 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22868 /* 62668 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
22869 /* 62672 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22870 /* 62675 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22871 /* 62681 */ GIR_RootConstrainSelectedInstOperands,
22872 /* 62682 */ // GIR_Coverage, 26096,
22873 /* 62682 */ GIR_EraseRootFromParent_Done,
22874 /* 62683 */ // Label 1538: @62683
22875 /* 62683 */ GIM_Try, /*On fail goto*//*Label 1539*/ GIMT_Encode4(62771), // Rule ID 407 //
22876 /* 62688 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22877 /* 62691 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22878 /* 62695 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22879 /* 62699 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22880 /* 62703 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22881 /* 62707 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22882 /* 62711 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22883 /* 62715 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22884 /* 62719 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22885 /* 62722 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22886 /* 62726 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22887 /* 62730 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22888 /* 62735 */ // MIs[0] src1
22889 /* 62735 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22890 /* 62740 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22891 /* 62742 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22892 /* 62749 */ // (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)
22893 /* 62749 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mr),
22894 /* 62752 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22895 /* 62756 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
22896 /* 62760 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22897 /* 62763 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22898 /* 62769 */ GIR_RootConstrainSelectedInstOperands,
22899 /* 62770 */ // GIR_Coverage, 407,
22900 /* 62770 */ GIR_EraseRootFromParent_Done,
22901 /* 62771 */ // Label 1539: @62771
22902 /* 62771 */ GIM_Try, /*On fail goto*//*Label 1540*/ GIMT_Encode4(62859), // Rule ID 23304 //
22903 /* 62776 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22904 /* 62779 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22905 /* 62783 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22906 /* 62787 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22907 /* 62791 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22908 /* 62795 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22909 /* 62799 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22910 /* 62804 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22911 /* 62808 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22912 /* 62812 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22913 /* 62815 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22914 /* 62819 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22915 /* 62823 */ // MIs[0] src1
22916 /* 62823 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22917 /* 62828 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22918 /* 62830 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22919 /* 62837 */ // (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)
22920 /* 62837 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mr),
22921 /* 62840 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22922 /* 62844 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
22923 /* 62848 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22924 /* 62851 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22925 /* 62857 */ GIR_RootConstrainSelectedInstOperands,
22926 /* 62858 */ // GIR_Coverage, 23304,
22927 /* 62858 */ GIR_EraseRootFromParent_Done,
22928 /* 62859 */ // Label 1540: @62859
22929 /* 62859 */ GIM_Try, /*On fail goto*//*Label 1541*/ GIMT_Encode4(62947), // Rule ID 299 //
22930 /* 62864 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22931 /* 62867 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22932 /* 62871 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22933 /* 62875 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
22934 /* 62879 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22935 /* 62883 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22936 /* 62887 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22937 /* 62891 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22938 /* 62895 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22939 /* 62898 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22940 /* 62902 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22941 /* 62906 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22942 /* 62911 */ // MIs[0] src1
22943 /* 62911 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22944 /* 62916 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22945 /* 62918 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22946 /* 62925 */ // (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)
22947 /* 62925 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mr),
22948 /* 62928 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22949 /* 62932 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
22950 /* 62936 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22951 /* 62939 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22952 /* 62945 */ GIR_RootConstrainSelectedInstOperands,
22953 /* 62946 */ // GIR_Coverage, 299,
22954 /* 62946 */ GIR_EraseRootFromParent_Done,
22955 /* 62947 */ // Label 1541: @62947
22956 /* 62947 */ GIM_Try, /*On fail goto*//*Label 1542*/ GIMT_Encode4(63035), // Rule ID 23268 //
22957 /* 62952 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22958 /* 62955 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22959 /* 62959 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22960 /* 62963 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
22961 /* 62967 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22962 /* 62971 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22963 /* 62975 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22964 /* 62980 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22965 /* 62984 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22966 /* 62988 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22967 /* 62991 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22968 /* 62995 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22969 /* 62999 */ // MIs[0] src1
22970 /* 62999 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22971 /* 63004 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22972 /* 63006 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22973 /* 63013 */ // (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)
22974 /* 63013 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mr),
22975 /* 63016 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22976 /* 63020 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
22977 /* 63024 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22978 /* 63027 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22979 /* 63033 */ GIR_RootConstrainSelectedInstOperands,
22980 /* 63034 */ // GIR_Coverage, 23268,
22981 /* 63034 */ GIR_EraseRootFromParent_Done,
22982 /* 63035 */ // Label 1542: @63035
22983 /* 63035 */ GIM_Try, /*On fail goto*//*Label 1543*/ GIMT_Encode4(63133), // Rule ID 749 //
22984 /* 63040 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22985 /* 63043 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22986 /* 63047 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22987 /* 63051 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
22988 /* 63055 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22989 /* 63059 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22990 /* 63063 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22991 /* 63067 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22992 /* 63071 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22993 /* 63074 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22994 /* 63078 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22995 /* 63082 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
22996 /* 63087 */ // MIs[0] src1
22997 /* 63087 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22998 /* 63092 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22999 /* 63094 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23000 /* 63101 */ // (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)
23001 /* 63101 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
23002 /* 63105 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23003 /* 63111 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
23004 /* 63115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8mCL),
23005 /* 63118 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23006 /* 63122 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23007 /* 63125 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23008 /* 63131 */ GIR_RootConstrainSelectedInstOperands,
23009 /* 63132 */ // GIR_Coverage, 749,
23010 /* 63132 */ GIR_EraseRootFromParent_Done,
23011 /* 63133 */ // Label 1543: @63133
23012 /* 63133 */ GIM_Try, /*On fail goto*//*Label 1544*/ GIMT_Encode4(63231), // Rule ID 717 //
23013 /* 63138 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23014 /* 63141 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23015 /* 63145 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23016 /* 63149 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
23017 /* 63153 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23018 /* 63157 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23019 /* 63161 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23020 /* 63165 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23021 /* 63169 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23022 /* 63172 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23023 /* 63176 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
23024 /* 63180 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
23025 /* 63185 */ // MIs[0] src1
23026 /* 63185 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23027 /* 63190 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23028 /* 63192 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23029 /* 63199 */ // (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)
23030 /* 63199 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
23031 /* 63203 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23032 /* 63209 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
23033 /* 63213 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8mCL),
23034 /* 63216 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23035 /* 63220 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23036 /* 63223 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23037 /* 63229 */ GIR_RootConstrainSelectedInstOperands,
23038 /* 63230 */ // GIR_Coverage, 717,
23039 /* 63230 */ GIR_EraseRootFromParent_Done,
23040 /* 63231 */ // Label 1544: @63231
23041 /* 63231 */ GIM_Try, /*On fail goto*//*Label 1545*/ GIMT_Encode4(63319), // Rule ID 335 //
23042 /* 63236 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23043 /* 63239 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23044 /* 63243 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23045 /* 63247 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
23046 /* 63251 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23047 /* 63255 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23048 /* 63259 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23049 /* 63263 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23050 /* 63267 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23051 /* 63270 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23052 /* 63274 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23053 /* 63278 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23054 /* 63283 */ // MIs[0] src1
23055 /* 63283 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23056 /* 63288 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23057 /* 63290 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23058 /* 63297 */ // (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)
23059 /* 63297 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mr),
23060 /* 63300 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23061 /* 63304 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
23062 /* 63308 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23063 /* 63311 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23064 /* 63317 */ GIR_RootConstrainSelectedInstOperands,
23065 /* 63318 */ // GIR_Coverage, 335,
23066 /* 63318 */ GIR_EraseRootFromParent_Done,
23067 /* 63319 */ // Label 1545: @63319
23068 /* 63319 */ GIM_Try, /*On fail goto*//*Label 1546*/ GIMT_Encode4(63407), // Rule ID 23280 //
23069 /* 63324 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23070 /* 63327 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23071 /* 63331 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23072 /* 63335 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
23073 /* 63339 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23074 /* 63343 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23075 /* 63347 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23076 /* 63352 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23077 /* 63356 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23078 /* 63360 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23079 /* 63363 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23080 /* 63367 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23081 /* 63371 */ // MIs[0] src1
23082 /* 63371 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23083 /* 63376 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23084 /* 63378 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23085 /* 63385 */ // (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)
23086 /* 63385 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mr),
23087 /* 63388 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23088 /* 63392 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
23089 /* 63396 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23090 /* 63399 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23091 /* 63405 */ GIR_RootConstrainSelectedInstOperands,
23092 /* 63406 */ // GIR_Coverage, 23280,
23093 /* 63406 */ GIR_EraseRootFromParent_Done,
23094 /* 63407 */ // Label 1546: @63407
23095 /* 63407 */ GIM_Try, /*On fail goto*//*Label 1547*/ GIMT_Encode4(63505), // Rule ID 781 //
23096 /* 63412 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23097 /* 63415 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23098 /* 63419 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23099 /* 63423 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
23100 /* 63427 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23101 /* 63431 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23102 /* 63435 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23103 /* 63439 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23104 /* 63443 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23105 /* 63446 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23106 /* 63450 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
23107 /* 63454 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
23108 /* 63459 */ // MIs[0] src1
23109 /* 63459 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23110 /* 63464 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23111 /* 63466 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23112 /* 63473 */ // (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)
23113 /* 63473 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
23114 /* 63477 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23115 /* 63483 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
23116 /* 63487 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8mCL),
23117 /* 63490 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23118 /* 63494 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23119 /* 63497 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23120 /* 63503 */ GIR_RootConstrainSelectedInstOperands,
23121 /* 63504 */ // GIR_Coverage, 781,
23122 /* 63504 */ GIR_EraseRootFromParent_Done,
23123 /* 63505 */ // Label 1547: @63505
23124 /* 63505 */ GIM_Try, /*On fail goto*//*Label 1548*/ GIMT_Encode4(63603), // Rule ID 813 //
23125 /* 63510 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23126 /* 63513 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23127 /* 63517 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23128 /* 63521 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
23129 /* 63525 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23130 /* 63529 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23131 /* 63533 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23132 /* 63537 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23133 /* 63541 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23134 /* 63544 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23135 /* 63548 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
23136 /* 63552 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
23137 /* 63557 */ // MIs[0] src1
23138 /* 63557 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23139 /* 63562 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23140 /* 63564 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23141 /* 63571 */ // (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)
23142 /* 63571 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
23143 /* 63575 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23144 /* 63581 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
23145 /* 63585 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8mCL),
23146 /* 63588 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23147 /* 63592 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23148 /* 63595 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23149 /* 63601 */ GIR_RootConstrainSelectedInstOperands,
23150 /* 63602 */ // GIR_Coverage, 813,
23151 /* 63602 */ GIR_EraseRootFromParent_Done,
23152 /* 63603 */ // Label 1548: @63603
23153 /* 63603 */ GIM_Try, /*On fail goto*//*Label 1549*/ GIMT_Encode4(63701), // Rule ID 685 //
23154 /* 63608 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23155 /* 63611 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23156 /* 63615 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23157 /* 63619 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
23158 /* 63623 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23159 /* 63627 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23160 /* 63631 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23161 /* 63635 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23162 /* 63639 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23163 /* 63642 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23164 /* 63646 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
23165 /* 63650 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
23166 /* 63655 */ // MIs[0] src1
23167 /* 63655 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23168 /* 63660 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23169 /* 63662 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23170 /* 63669 */ // (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)
23171 /* 63669 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
23172 /* 63673 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23173 /* 63679 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
23174 /* 63683 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8mCL),
23175 /* 63686 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23176 /* 63690 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23177 /* 63693 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23178 /* 63699 */ GIR_RootConstrainSelectedInstOperands,
23179 /* 63700 */ // GIR_Coverage, 685,
23180 /* 63700 */ GIR_EraseRootFromParent_Done,
23181 /* 63701 */ // Label 1549: @63701
23182 /* 63701 */ GIM_Try, /*On fail goto*//*Label 1550*/ GIMT_Encode4(63789), // Rule ID 443 //
23183 /* 63706 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23184 /* 63709 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23185 /* 63713 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23186 /* 63717 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
23187 /* 63721 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23188 /* 63725 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23189 /* 63729 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23190 /* 63733 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23191 /* 63737 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23192 /* 63740 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23193 /* 63744 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23194 /* 63748 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23195 /* 63753 */ // MIs[0] src1
23196 /* 63753 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23197 /* 63758 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23198 /* 63760 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23199 /* 63767 */ // (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)
23200 /* 63767 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8mr),
23201 /* 63770 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23202 /* 63774 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
23203 /* 63778 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23204 /* 63781 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23205 /* 63787 */ GIR_RootConstrainSelectedInstOperands,
23206 /* 63788 */ // GIR_Coverage, 443,
23207 /* 63788 */ GIR_EraseRootFromParent_Done,
23208 /* 63789 */ // Label 1550: @63789
23209 /* 63789 */ GIM_Try, /*On fail goto*//*Label 1551*/ GIMT_Encode4(63877), // Rule ID 371 //
23210 /* 63794 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23211 /* 63797 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23212 /* 63801 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23213 /* 63805 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23214 /* 63809 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23215 /* 63813 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23216 /* 63817 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23217 /* 63821 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23218 /* 63825 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23219 /* 63828 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23220 /* 63832 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23221 /* 63836 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23222 /* 63841 */ // MIs[0] src1
23223 /* 63841 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23224 /* 63846 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23225 /* 63848 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23226 /* 63855 */ // (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)
23227 /* 63855 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mr),
23228 /* 63858 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23229 /* 63862 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
23230 /* 63866 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23231 /* 63869 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23232 /* 63875 */ GIR_RootConstrainSelectedInstOperands,
23233 /* 63876 */ // GIR_Coverage, 371,
23234 /* 63876 */ GIR_EraseRootFromParent_Done,
23235 /* 63877 */ // Label 1551: @63877
23236 /* 63877 */ GIM_Try, /*On fail goto*//*Label 1552*/ GIMT_Encode4(63965), // Rule ID 23292 //
23237 /* 63882 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23238 /* 63885 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23239 /* 63889 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23240 /* 63893 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23241 /* 63897 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23242 /* 63901 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23243 /* 63905 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23244 /* 63910 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23245 /* 63914 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23246 /* 63918 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23247 /* 63921 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23248 /* 63925 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23249 /* 63929 */ // MIs[0] src1
23250 /* 63929 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23251 /* 63934 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23252 /* 63936 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23253 /* 63943 */ // (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)
23254 /* 63943 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mr),
23255 /* 63946 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23256 /* 63950 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
23257 /* 63954 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23258 /* 63957 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23259 /* 63963 */ GIR_RootConstrainSelectedInstOperands,
23260 /* 63964 */ // GIR_Coverage, 23292,
23261 /* 63964 */ GIR_EraseRootFromParent_Done,
23262 /* 63965 */ // Label 1552: @63965
23263 /* 63965 */ GIM_Try, /*On fail goto*//*Label 1553*/ GIMT_Encode4(64019), // Rule ID 24 //
23264 /* 63970 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23265 /* 63973 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23266 /* 63977 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23267 /* 63981 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23268 /* 63985 */ // MIs[1] Operand 1
23269 /* 63985 */ // No operand predicates
23270 /* 63985 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
23271 /* 63989 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
23272 /* 63993 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23273 /* 63995 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23274 /* 64002 */ // (st (imm:{ *:[i8] })<<P:Predicate_imm_su>>:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV8mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
23275 /* 64002 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8mi),
23276 /* 64005 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23277 /* 64009 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
23278 /* 64012 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
23279 /* 64017 */ GIR_RootConstrainSelectedInstOperands,
23280 /* 64018 */ // GIR_Coverage, 24,
23281 /* 64018 */ GIR_EraseRootFromParent_Done,
23282 /* 64019 */ // Label 1553: @64019
23283 /* 64019 */ GIM_Try, /*On fail goto*//*Label 1554*/ GIMT_Encode4(64072), // Rule ID 22568 //
23284 /* 64024 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23285 /* 64027 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23286 /* 64034 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23287 /* 64038 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23288 /* 64042 */ // MIs[1] Operand 1
23289 /* 64042 */ // No operand predicates
23290 /* 64042 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
23291 /* 64046 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23292 /* 64048 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23293 /* 64055 */ // (atomic_store (imm:{ *:[i8] }):$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (MOV8mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
23294 /* 64055 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8mi),
23295 /* 64058 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23296 /* 64062 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
23297 /* 64065 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
23298 /* 64070 */ GIR_RootConstrainSelectedInstOperands,
23299 /* 64071 */ // GIR_Coverage, 22568,
23300 /* 64071 */ GIR_EraseRootFromParent_Done,
23301 /* 64072 */ // Label 1554: @64072
23302 /* 64072 */ GIM_Try, /*On fail goto*//*Label 1555*/ GIMT_Encode4(64117), // Rule ID 22572 //
23303 /* 64077 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23304 /* 64080 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23305 /* 64087 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23306 /* 64091 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
23307 /* 64095 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23308 /* 64102 */ // (atomic_store GR8:{ *:[i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (MOV8mr addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
23309 /* 64102 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8mr),
23310 /* 64105 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23311 /* 64109 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
23312 /* 64111 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
23313 /* 64115 */ GIR_RootConstrainSelectedInstOperands,
23314 /* 64116 */ // GIR_Coverage, 22572,
23315 /* 64116 */ GIR_EraseRootFromParent_Done,
23316 /* 64117 */ // Label 1555: @64117
23317 /* 64117 */ GIM_Try, /*On fail goto*//*Label 1556*/ GIMT_Encode4(64159), // Rule ID 32 //
23318 /* 64122 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23319 /* 64125 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23320 /* 64129 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23321 /* 64133 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
23322 /* 64137 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23323 /* 64144 */ // (st GR8:{ *:[i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV8mr addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
23324 /* 64144 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8mr),
23325 /* 64147 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23326 /* 64151 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
23327 /* 64153 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
23328 /* 64157 */ GIR_RootConstrainSelectedInstOperands,
23329 /* 64158 */ // GIR_Coverage, 32,
23330 /* 64158 */ GIR_EraseRootFromParent_Done,
23331 /* 64159 */ // Label 1556: @64159
23332 /* 64159 */ GIM_Reject,
23333 /* 64160 */ // Label 1483: @64160
23334 /* 64160 */ GIM_Try, /*On fail goto*//*Label 1557*/ GIMT_Encode4(64256), // Rule ID 22553 //
23335 /* 64165 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
23336 /* 64168 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23337 /* 64171 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23338 /* 64178 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23339 /* 64182 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23340 /* 64186 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23341 /* 64190 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23342 /* 64194 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23343 /* 64198 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23344 /* 64202 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23345 /* 64205 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23346 /* 64209 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23347 /* 64216 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23348 /* 64220 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
23349 /* 64224 */ // MIs[0] dst
23350 /* 64224 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23351 /* 64229 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23352 /* 64231 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23353 /* 64238 */ // (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)
23354 /* 64238 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16m),
23355 /* 64241 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23356 /* 64245 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23357 /* 64248 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23358 /* 64254 */ GIR_RootConstrainSelectedInstOperands,
23359 /* 64255 */ // GIR_Coverage, 22553,
23360 /* 64255 */ GIR_EraseRootFromParent_Done,
23361 /* 64256 */ // Label 1557: @64256
23362 /* 64256 */ GIM_Try, /*On fail goto*//*Label 1558*/ GIMT_Encode4(64352), // Rule ID 22557 //
23363 /* 64261 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
23364 /* 64264 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23365 /* 64267 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23366 /* 64274 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23367 /* 64278 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23368 /* 64282 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23369 /* 64286 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23370 /* 64290 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23371 /* 64294 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23372 /* 64298 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23373 /* 64301 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23374 /* 64305 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23375 /* 64312 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23376 /* 64316 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
23377 /* 64320 */ // MIs[0] dst
23378 /* 64320 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23379 /* 64325 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23380 /* 64327 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23381 /* 64334 */ // (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)
23382 /* 64334 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC16m),
23383 /* 64337 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23384 /* 64341 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23385 /* 64344 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23386 /* 64350 */ GIR_RootConstrainSelectedInstOperands,
23387 /* 64351 */ // GIR_Coverage, 22557,
23388 /* 64351 */ GIR_EraseRootFromParent_Done,
23389 /* 64352 */ // Label 1558: @64352
23390 /* 64352 */ GIM_Try, /*On fail goto*//*Label 1559*/ GIMT_Encode4(64445), // Rule ID 22561 //
23391 /* 64357 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23392 /* 64360 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23393 /* 64367 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23394 /* 64371 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
23395 /* 64375 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23396 /* 64379 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23397 /* 64383 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
23398 /* 64387 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23399 /* 64391 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23400 /* 64395 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23401 /* 64398 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23402 /* 64402 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23403 /* 64409 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23404 /* 64413 */ // MIs[0] dst
23405 /* 64413 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23406 /* 64418 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23407 /* 64420 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23408 /* 64427 */ // (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)
23409 /* 64427 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16m),
23410 /* 64430 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23411 /* 64434 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23412 /* 64437 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23413 /* 64443 */ GIR_RootConstrainSelectedInstOperands,
23414 /* 64444 */ // GIR_Coverage, 22561,
23415 /* 64444 */ GIR_EraseRootFromParent_Done,
23416 /* 64445 */ // Label 1559: @64445
23417 /* 64445 */ GIM_Try, /*On fail goto*//*Label 1560*/ GIMT_Encode4(64535), // Rule ID 22565 //
23418 /* 64450 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23419 /* 64453 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23420 /* 64460 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23421 /* 64464 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23422 /* 64468 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23423 /* 64472 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23424 /* 64476 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23425 /* 64480 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23426 /* 64484 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23427 /* 64487 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23428 /* 64491 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23429 /* 64498 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23430 /* 64502 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
23431 /* 64506 */ // MIs[0] dst
23432 /* 64506 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23433 /* 64511 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23434 /* 64513 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23435 /* 64520 */ // (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)
23436 /* 64520 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT16m),
23437 /* 64523 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23438 /* 64527 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23439 /* 64533 */ GIR_RootConstrainSelectedInstOperands,
23440 /* 64534 */ // GIR_Coverage, 22565,
23441 /* 64534 */ GIR_EraseRootFromParent_Done,
23442 /* 64535 */ // Label 1560: @64535
23443 /* 64535 */ GIM_Try, /*On fail goto*//*Label 1561*/ GIMT_Encode4(64621), // Rule ID 224 //
23444 /* 64540 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
23445 /* 64543 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23446 /* 64546 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23447 /* 64550 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23448 /* 64554 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23449 /* 64558 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23450 /* 64562 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23451 /* 64566 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23452 /* 64570 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23453 /* 64574 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23454 /* 64577 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23455 /* 64581 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23456 /* 64585 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
23457 /* 64589 */ // MIs[0] src1
23458 /* 64589 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23459 /* 64594 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23460 /* 64596 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23461 /* 64603 */ // (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)
23462 /* 64603 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16m),
23463 /* 64606 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23464 /* 64610 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23465 /* 64613 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23466 /* 64619 */ GIR_RootConstrainSelectedInstOperands,
23467 /* 64620 */ // GIR_Coverage, 224,
23468 /* 64620 */ GIR_EraseRootFromParent_Done,
23469 /* 64621 */ // Label 1561: @64621
23470 /* 64621 */ GIM_Try, /*On fail goto*//*Label 1562*/ GIMT_Encode4(64707), // Rule ID 227 //
23471 /* 64626 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
23472 /* 64629 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23473 /* 64632 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23474 /* 64636 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23475 /* 64640 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23476 /* 64644 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23477 /* 64648 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23478 /* 64652 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23479 /* 64656 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23480 /* 64660 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23481 /* 64663 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23482 /* 64667 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23483 /* 64671 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
23484 /* 64675 */ // MIs[0] src1
23485 /* 64675 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23486 /* 64680 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23487 /* 64682 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23488 /* 64689 */ // (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)
23489 /* 64689 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC16m),
23490 /* 64692 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23491 /* 64696 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23492 /* 64699 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23493 /* 64705 */ GIR_RootConstrainSelectedInstOperands,
23494 /* 64706 */ // GIR_Coverage, 227,
23495 /* 64706 */ GIR_EraseRootFromParent_Done,
23496 /* 64707 */ // Label 1562: @64707
23497 /* 64707 */ GIM_Try, /*On fail goto*//*Label 1563*/ GIMT_Encode4(64800), // Rule ID 22696 //
23498 /* 64712 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23499 /* 64715 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23500 /* 64719 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23501 /* 64723 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23502 /* 64727 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23503 /* 64731 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23504 /* 64735 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23505 /* 64739 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23506 /* 64743 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23507 /* 64746 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23508 /* 64750 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23509 /* 64754 */ GIM_CheckConstantInt, /*MI*/1, /*Op*/2, GIMT_Encode8(128),
23510 /* 64765 */ // MIs[0] dst
23511 /* 64765 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23512 /* 64770 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23513 /* 64772 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23514 /* 64779 */ // (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] })
23515 /* 64779 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mi),
23516 /* 64782 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23517 /* 64786 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
23518 /* 64789 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23519 /* 64792 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23520 /* 64798 */ GIR_RootConstrainSelectedInstOperands,
23521 /* 64799 */ // GIR_Coverage, 22696,
23522 /* 64799 */ GIR_EraseRootFromParent_Done,
23523 /* 64800 */ // Label 1563: @64800
23524 /* 64800 */ GIM_Try, /*On fail goto*//*Label 1564*/ GIMT_Encode4(64883), // Rule ID 17603 //
23525 /* 64805 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23526 /* 64808 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23527 /* 64812 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23528 /* 64816 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
23529 /* 64820 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23530 /* 64824 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23531 /* 64828 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23532 /* 64832 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23533 /* 64836 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23534 /* 64839 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23535 /* 64843 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23536 /* 64847 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 15,
23537 /* 64851 */ // MIs[0] dst
23538 /* 64851 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23539 /* 64856 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23540 /* 64858 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23541 /* 64865 */ // (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)
23542 /* 64865 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16m1),
23543 /* 64868 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23544 /* 64872 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23545 /* 64875 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23546 /* 64881 */ GIR_RootConstrainSelectedInstOperands,
23547 /* 64882 */ // GIR_Coverage, 17603,
23548 /* 64882 */ GIR_EraseRootFromParent_Done,
23549 /* 64883 */ // Label 1564: @64883
23550 /* 64883 */ GIM_Try, /*On fail goto*//*Label 1565*/ GIMT_Encode4(64966), // Rule ID 17607 //
23551 /* 64888 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23552 /* 64891 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23553 /* 64895 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23554 /* 64899 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
23555 /* 64903 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23556 /* 64907 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23557 /* 64911 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23558 /* 64915 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23559 /* 64919 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23560 /* 64922 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23561 /* 64926 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23562 /* 64930 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 15,
23563 /* 64934 */ // MIs[0] dst
23564 /* 64934 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23565 /* 64939 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23566 /* 64941 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23567 /* 64948 */ // (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)
23568 /* 64948 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16m1),
23569 /* 64951 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23570 /* 64955 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23571 /* 64958 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23572 /* 64964 */ GIR_RootConstrainSelectedInstOperands,
23573 /* 64965 */ // GIR_Coverage, 17607,
23574 /* 64965 */ GIR_EraseRootFromParent_Done,
23575 /* 64966 */ // Label 1565: @64966
23576 /* 64966 */ GIM_Try, /*On fail goto*//*Label 1566*/ GIMT_Encode4(65049), // Rule ID 260 //
23577 /* 64971 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23578 /* 64974 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23579 /* 64978 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23580 /* 64982 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
23581 /* 64986 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23582 /* 64990 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23583 /* 64994 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
23584 /* 64998 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23585 /* 65002 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23586 /* 65006 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23587 /* 65009 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23588 /* 65013 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23589 /* 65017 */ // MIs[0] src1
23590 /* 65017 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23591 /* 65022 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23592 /* 65024 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23593 /* 65031 */ // (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)
23594 /* 65031 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16m),
23595 /* 65034 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23596 /* 65038 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23597 /* 65041 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23598 /* 65047 */ GIR_RootConstrainSelectedInstOperands,
23599 /* 65048 */ // GIR_Coverage, 260,
23600 /* 65048 */ GIR_EraseRootFromParent_Done,
23601 /* 65049 */ // Label 1566: @65049
23602 /* 65049 */ GIM_Try, /*On fail goto*//*Label 1567*/ GIMT_Encode4(65129), // Rule ID 268 //
23603 /* 65054 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23604 /* 65057 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23605 /* 65061 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23606 /* 65065 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23607 /* 65069 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23608 /* 65073 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23609 /* 65077 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23610 /* 65081 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23611 /* 65085 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23612 /* 65088 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23613 /* 65092 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23614 /* 65096 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
23615 /* 65100 */ // MIs[0] src1
23616 /* 65100 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23617 /* 65105 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23618 /* 65107 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23619 /* 65114 */ // (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)
23620 /* 65114 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT16m),
23621 /* 65117 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23622 /* 65121 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23623 /* 65127 */ GIR_RootConstrainSelectedInstOperands,
23624 /* 65128 */ // GIR_Coverage, 268,
23625 /* 65128 */ GIR_EraseRootFromParent_Done,
23626 /* 65129 */ // Label 1567: @65129
23627 /* 65129 */ GIM_Try, /*On fail goto*//*Label 1568*/ GIMT_Encode4(65224), // Rule ID 412 //
23628 /* 65134 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23629 /* 65137 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23630 /* 65141 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23631 /* 65145 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23632 /* 65149 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23633 /* 65153 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23634 /* 65157 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23635 /* 65161 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23636 /* 65165 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23637 /* 65168 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23638 /* 65172 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23639 /* 65176 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23640 /* 65180 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23641 /* 65184 */ // MIs[3] Operand 1
23642 /* 65184 */ // No operand predicates
23643 /* 65184 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
23644 /* 65188 */ // MIs[0] src1
23645 /* 65188 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23646 /* 65193 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23647 /* 65195 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23648 /* 65202 */ // (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)
23649 /* 65202 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mi),
23650 /* 65205 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23651 /* 65209 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23652 /* 65212 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23653 /* 65215 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23654 /* 65222 */ GIR_RootConstrainSelectedInstOperands,
23655 /* 65223 */ // GIR_Coverage, 412,
23656 /* 65223 */ GIR_EraseRootFromParent_Done,
23657 /* 65224 */ // Label 1568: @65224
23658 /* 65224 */ GIM_Try, /*On fail goto*//*Label 1569*/ GIMT_Encode4(65319), // Rule ID 304 //
23659 /* 65229 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23660 /* 65232 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23661 /* 65236 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23662 /* 65240 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
23663 /* 65244 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23664 /* 65248 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23665 /* 65252 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23666 /* 65256 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23667 /* 65260 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23668 /* 65263 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23669 /* 65267 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23670 /* 65271 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23671 /* 65275 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23672 /* 65279 */ // MIs[3] Operand 1
23673 /* 65279 */ // No operand predicates
23674 /* 65279 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
23675 /* 65283 */ // MIs[0] src1
23676 /* 65283 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23677 /* 65288 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23678 /* 65290 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23679 /* 65297 */ // (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)
23680 /* 65297 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mi),
23681 /* 65300 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23682 /* 65304 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23683 /* 65307 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23684 /* 65310 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23685 /* 65317 */ GIR_RootConstrainSelectedInstOperands,
23686 /* 65318 */ // GIR_Coverage, 304,
23687 /* 65318 */ GIR_EraseRootFromParent_Done,
23688 /* 65319 */ // Label 1569: @65319
23689 /* 65319 */ GIM_Try, /*On fail goto*//*Label 1570*/ GIMT_Encode4(65414), // Rule ID 340 //
23690 /* 65324 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23691 /* 65327 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23692 /* 65331 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23693 /* 65335 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
23694 /* 65339 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23695 /* 65343 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23696 /* 65347 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23697 /* 65351 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23698 /* 65355 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23699 /* 65358 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23700 /* 65362 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23701 /* 65366 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23702 /* 65370 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23703 /* 65374 */ // MIs[3] Operand 1
23704 /* 65374 */ // No operand predicates
23705 /* 65374 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
23706 /* 65378 */ // MIs[0] src1
23707 /* 65378 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23708 /* 65383 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23709 /* 65385 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23710 /* 65392 */ // (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)
23711 /* 65392 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mi),
23712 /* 65395 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23713 /* 65399 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23714 /* 65402 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23715 /* 65405 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23716 /* 65412 */ GIR_RootConstrainSelectedInstOperands,
23717 /* 65413 */ // GIR_Coverage, 340,
23718 /* 65413 */ GIR_EraseRootFromParent_Done,
23719 /* 65414 */ // Label 1570: @65414
23720 /* 65414 */ GIM_Try, /*On fail goto*//*Label 1571*/ GIMT_Encode4(65509), // Rule ID 452 //
23721 /* 65419 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23722 /* 65422 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23723 /* 65426 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23724 /* 65430 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
23725 /* 65434 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23726 /* 65438 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23727 /* 65442 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23728 /* 65446 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23729 /* 65450 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23730 /* 65453 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23731 /* 65457 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23732 /* 65461 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23733 /* 65465 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23734 /* 65469 */ // MIs[3] Operand 1
23735 /* 65469 */ // No operand predicates
23736 /* 65469 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
23737 /* 65473 */ // MIs[0] src1
23738 /* 65473 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23739 /* 65478 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23740 /* 65480 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23741 /* 65487 */ // (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)
23742 /* 65487 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mi),
23743 /* 65490 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23744 /* 65494 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23745 /* 65497 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23746 /* 65500 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23747 /* 65507 */ GIR_RootConstrainSelectedInstOperands,
23748 /* 65508 */ // GIR_Coverage, 452,
23749 /* 65508 */ GIR_EraseRootFromParent_Done,
23750 /* 65509 */ // Label 1571: @65509
23751 /* 65509 */ GIM_Try, /*On fail goto*//*Label 1572*/ GIMT_Encode4(65604), // Rule ID 376 //
23752 /* 65514 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23753 /* 65517 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23754 /* 65521 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23755 /* 65525 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23756 /* 65529 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23757 /* 65533 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23758 /* 65537 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23759 /* 65541 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23760 /* 65545 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23761 /* 65548 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23762 /* 65552 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23763 /* 65556 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23764 /* 65560 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23765 /* 65564 */ // MIs[3] Operand 1
23766 /* 65564 */ // No operand predicates
23767 /* 65564 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
23768 /* 65568 */ // MIs[0] src1
23769 /* 65568 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23770 /* 65573 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23771 /* 65575 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23772 /* 65582 */ // (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)
23773 /* 65582 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mi),
23774 /* 65585 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23775 /* 65589 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23776 /* 65592 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23777 /* 65595 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23778 /* 65602 */ GIR_RootConstrainSelectedInstOperands,
23779 /* 65603 */ // GIR_Coverage, 376,
23780 /* 65603 */ GIR_EraseRootFromParent_Done,
23781 /* 65604 */ // Label 1572: @65604
23782 /* 65604 */ GIM_Try, /*On fail goto*//*Label 1573*/ GIMT_Encode4(65705), // Rule ID 22489 //
23783 /* 65609 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23784 /* 65612 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23785 /* 65619 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23786 /* 65623 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23787 /* 65627 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23788 /* 65631 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23789 /* 65635 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23790 /* 65639 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23791 /* 65643 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23792 /* 65646 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23793 /* 65650 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23794 /* 65657 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23795 /* 65661 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23796 /* 65665 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23797 /* 65669 */ // MIs[3] Operand 1
23798 /* 65669 */ // No operand predicates
23799 /* 65669 */ // MIs[0] dst
23800 /* 65669 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23801 /* 65674 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23802 /* 65676 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23803 /* 65683 */ // (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)
23804 /* 65683 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mi),
23805 /* 65686 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23806 /* 65690 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
23807 /* 65693 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23808 /* 65696 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23809 /* 65703 */ GIR_RootConstrainSelectedInstOperands,
23810 /* 65704 */ // GIR_Coverage, 22489,
23811 /* 65704 */ GIR_EraseRootFromParent_Done,
23812 /* 65705 */ // Label 1573: @65705
23813 /* 65705 */ GIM_Try, /*On fail goto*//*Label 1574*/ GIMT_Encode4(65806), // Rule ID 22497 //
23814 /* 65710 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23815 /* 65713 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23816 /* 65720 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23817 /* 65724 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
23818 /* 65728 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23819 /* 65732 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23820 /* 65736 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23821 /* 65740 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23822 /* 65744 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23823 /* 65747 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23824 /* 65751 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23825 /* 65758 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23826 /* 65762 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23827 /* 65766 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23828 /* 65770 */ // MIs[3] Operand 1
23829 /* 65770 */ // No operand predicates
23830 /* 65770 */ // MIs[0] dst
23831 /* 65770 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23832 /* 65775 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23833 /* 65777 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23834 /* 65784 */ // (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)
23835 /* 65784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mi),
23836 /* 65787 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23837 /* 65791 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
23838 /* 65794 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23839 /* 65797 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23840 /* 65804 */ GIR_RootConstrainSelectedInstOperands,
23841 /* 65805 */ // GIR_Coverage, 22497,
23842 /* 65805 */ GIR_EraseRootFromParent_Done,
23843 /* 65806 */ // Label 1574: @65806
23844 /* 65806 */ GIM_Try, /*On fail goto*//*Label 1575*/ GIMT_Encode4(65907), // Rule ID 22505 //
23845 /* 65811 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23846 /* 65814 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23847 /* 65821 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23848 /* 65825 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
23849 /* 65829 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23850 /* 65833 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23851 /* 65837 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23852 /* 65841 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23853 /* 65845 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23854 /* 65848 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23855 /* 65852 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23856 /* 65859 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23857 /* 65863 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23858 /* 65867 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23859 /* 65871 */ // MIs[3] Operand 1
23860 /* 65871 */ // No operand predicates
23861 /* 65871 */ // MIs[0] dst
23862 /* 65871 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23863 /* 65876 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23864 /* 65878 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23865 /* 65885 */ // (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)
23866 /* 65885 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mi),
23867 /* 65888 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23868 /* 65892 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
23869 /* 65895 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23870 /* 65898 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23871 /* 65905 */ GIR_RootConstrainSelectedInstOperands,
23872 /* 65906 */ // GIR_Coverage, 22505,
23873 /* 65906 */ GIR_EraseRootFromParent_Done,
23874 /* 65907 */ // Label 1575: @65907
23875 /* 65907 */ GIM_Try, /*On fail goto*//*Label 1576*/ GIMT_Encode4(66008), // Rule ID 22521 //
23876 /* 65912 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23877 /* 65915 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23878 /* 65922 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23879 /* 65926 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
23880 /* 65930 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23881 /* 65934 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23882 /* 65938 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23883 /* 65942 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23884 /* 65946 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23885 /* 65949 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23886 /* 65953 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23887 /* 65960 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23888 /* 65964 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23889 /* 65968 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23890 /* 65972 */ // MIs[3] Operand 1
23891 /* 65972 */ // No operand predicates
23892 /* 65972 */ // MIs[0] dst
23893 /* 65972 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23894 /* 65977 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23895 /* 65979 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23896 /* 65986 */ // (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)
23897 /* 65986 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mi),
23898 /* 65989 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23899 /* 65993 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
23900 /* 65996 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23901 /* 65999 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23902 /* 66006 */ GIR_RootConstrainSelectedInstOperands,
23903 /* 66007 */ // GIR_Coverage, 22521,
23904 /* 66007 */ GIR_EraseRootFromParent_Done,
23905 /* 66008 */ // Label 1576: @66008
23906 /* 66008 */ GIM_Try, /*On fail goto*//*Label 1577*/ GIMT_Encode4(66109), // Rule ID 22513 //
23907 /* 66013 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23908 /* 66016 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23909 /* 66023 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23910 /* 66027 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23911 /* 66031 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23912 /* 66035 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23913 /* 66039 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23914 /* 66043 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23915 /* 66047 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23916 /* 66050 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23917 /* 66054 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23918 /* 66061 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23919 /* 66065 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23920 /* 66069 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23921 /* 66073 */ // MIs[3] Operand 1
23922 /* 66073 */ // No operand predicates
23923 /* 66073 */ // MIs[0] dst
23924 /* 66073 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23925 /* 66078 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23926 /* 66080 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23927 /* 66087 */ // (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)
23928 /* 66087 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mi),
23929 /* 66090 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23930 /* 66094 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
23931 /* 66097 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23932 /* 66100 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23933 /* 66107 */ GIR_RootConstrainSelectedInstOperands,
23934 /* 66108 */ // GIR_Coverage, 22513,
23935 /* 66108 */ GIR_EraseRootFromParent_Done,
23936 /* 66109 */ // Label 1577: @66109
23937 /* 66109 */ GIM_Try, /*On fail goto*//*Label 1578*/ GIMT_Encode4(66200), // Rule ID 734 //
23938 /* 66114 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23939 /* 66117 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23940 /* 66121 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23941 /* 66125 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
23942 /* 66129 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23943 /* 66133 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23944 /* 66137 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23945 /* 66141 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23946 /* 66145 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23947 /* 66148 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23948 /* 66152 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23949 /* 66156 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23950 /* 66160 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23951 /* 66164 */ // MIs[3] Operand 1
23952 /* 66164 */ // No operand predicates
23953 /* 66164 */ // MIs[0] src1
23954 /* 66164 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23955 /* 66169 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23956 /* 66171 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23957 /* 66178 */ // (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)
23958 /* 66178 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16mi),
23959 /* 66181 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23960 /* 66185 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23961 /* 66188 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23962 /* 66191 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23963 /* 66198 */ GIR_RootConstrainSelectedInstOperands,
23964 /* 66199 */ // GIR_Coverage, 734,
23965 /* 66199 */ GIR_EraseRootFromParent_Done,
23966 /* 66200 */ // Label 1578: @66200
23967 /* 66200 */ GIM_Try, /*On fail goto*//*Label 1579*/ GIMT_Encode4(66291), // Rule ID 702 //
23968 /* 66205 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23969 /* 66208 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23970 /* 66212 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23971 /* 66216 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
23972 /* 66220 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23973 /* 66224 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23974 /* 66228 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23975 /* 66232 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23976 /* 66236 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23977 /* 66239 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23978 /* 66243 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23979 /* 66247 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23980 /* 66251 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23981 /* 66255 */ // MIs[3] Operand 1
23982 /* 66255 */ // No operand predicates
23983 /* 66255 */ // MIs[0] src1
23984 /* 66255 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23985 /* 66260 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23986 /* 66262 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23987 /* 66269 */ // (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)
23988 /* 66269 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16mi),
23989 /* 66272 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23990 /* 66276 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23991 /* 66279 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23992 /* 66282 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23993 /* 66289 */ GIR_RootConstrainSelectedInstOperands,
23994 /* 66290 */ // GIR_Coverage, 702,
23995 /* 66290 */ GIR_EraseRootFromParent_Done,
23996 /* 66291 */ // Label 1579: @66291
23997 /* 66291 */ GIM_Try, /*On fail goto*//*Label 1580*/ GIMT_Encode4(66382), // Rule ID 766 //
23998 /* 66296 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23999 /* 66299 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24000 /* 66303 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24001 /* 66307 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
24002 /* 66311 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24003 /* 66315 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24004 /* 66319 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24005 /* 66323 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24006 /* 66327 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24007 /* 66330 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24008 /* 66334 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24009 /* 66338 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24010 /* 66342 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24011 /* 66346 */ // MIs[3] Operand 1
24012 /* 66346 */ // No operand predicates
24013 /* 66346 */ // MIs[0] src1
24014 /* 66346 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24015 /* 66351 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24016 /* 66353 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24017 /* 66360 */ // (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)
24018 /* 66360 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16mi),
24019 /* 66363 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24020 /* 66367 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24021 /* 66370 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24022 /* 66373 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24023 /* 66380 */ GIR_RootConstrainSelectedInstOperands,
24024 /* 66381 */ // GIR_Coverage, 766,
24025 /* 66381 */ GIR_EraseRootFromParent_Done,
24026 /* 66382 */ // Label 1580: @66382
24027 /* 66382 */ GIM_Try, /*On fail goto*//*Label 1581*/ GIMT_Encode4(66473), // Rule ID 798 //
24028 /* 66387 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24029 /* 66390 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24030 /* 66394 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24031 /* 66398 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
24032 /* 66402 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24033 /* 66406 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24034 /* 66410 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24035 /* 66414 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24036 /* 66418 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24037 /* 66421 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24038 /* 66425 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24039 /* 66429 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24040 /* 66433 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24041 /* 66437 */ // MIs[3] Operand 1
24042 /* 66437 */ // No operand predicates
24043 /* 66437 */ // MIs[0] src1
24044 /* 66437 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24045 /* 66442 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24046 /* 66444 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24047 /* 66451 */ // (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)
24048 /* 66451 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16mi),
24049 /* 66454 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24050 /* 66458 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24051 /* 66461 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24052 /* 66464 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24053 /* 66471 */ GIR_RootConstrainSelectedInstOperands,
24054 /* 66472 */ // GIR_Coverage, 798,
24055 /* 66472 */ GIR_EraseRootFromParent_Done,
24056 /* 66473 */ // Label 1581: @66473
24057 /* 66473 */ GIM_Try, /*On fail goto*//*Label 1582*/ GIMT_Encode4(66564), // Rule ID 670 //
24058 /* 66478 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24059 /* 66481 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24060 /* 66485 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24061 /* 66489 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
24062 /* 66493 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24063 /* 66497 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24064 /* 66501 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24065 /* 66505 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24066 /* 66509 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24067 /* 66512 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24068 /* 66516 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24069 /* 66520 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24070 /* 66524 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24071 /* 66528 */ // MIs[3] Operand 1
24072 /* 66528 */ // No operand predicates
24073 /* 66528 */ // MIs[0] src1
24074 /* 66528 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24075 /* 66533 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24076 /* 66535 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24077 /* 66542 */ // (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)
24078 /* 66542 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16mi),
24079 /* 66545 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24080 /* 66549 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24081 /* 66552 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24082 /* 66555 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24083 /* 66562 */ GIR_RootConstrainSelectedInstOperands,
24084 /* 66563 */ // GIR_Coverage, 670,
24085 /* 66563 */ GIR_EraseRootFromParent_Done,
24086 /* 66564 */ // Label 1582: @66564
24087 /* 66564 */ GIM_Try, /*On fail goto*//*Label 1583*/ GIMT_Encode4(66662), // Rule ID 22493 //
24088 /* 66569 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24089 /* 66572 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24090 /* 66579 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24091 /* 66583 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24092 /* 66587 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24093 /* 66591 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24094 /* 66595 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24095 /* 66599 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24096 /* 66603 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24097 /* 66606 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24098 /* 66610 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24099 /* 66617 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24100 /* 66621 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24101 /* 66626 */ // MIs[0] dst
24102 /* 66626 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24103 /* 66631 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24104 /* 66633 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24105 /* 66640 */ // (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)
24106 /* 66640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mr),
24107 /* 66643 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24108 /* 66647 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
24109 /* 66651 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24110 /* 66654 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24111 /* 66660 */ GIR_RootConstrainSelectedInstOperands,
24112 /* 66661 */ // GIR_Coverage, 22493,
24113 /* 66661 */ GIR_EraseRootFromParent_Done,
24114 /* 66662 */ // Label 1583: @66662
24115 /* 66662 */ GIM_Try, /*On fail goto*//*Label 1584*/ GIMT_Encode4(66760), // Rule ID 26085 //
24116 /* 66667 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24117 /* 66670 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24118 /* 66677 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24119 /* 66681 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24120 /* 66685 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24121 /* 66689 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24122 /* 66693 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24123 /* 66698 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24124 /* 66702 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24125 /* 66706 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24126 /* 66709 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24127 /* 66713 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24128 /* 66720 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24129 /* 66724 */ // MIs[0] dst
24130 /* 66724 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24131 /* 66729 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24132 /* 66731 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24133 /* 66738 */ // (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)
24134 /* 66738 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mr),
24135 /* 66741 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24136 /* 66745 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
24137 /* 66749 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24138 /* 66752 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24139 /* 66758 */ GIR_RootConstrainSelectedInstOperands,
24140 /* 66759 */ // GIR_Coverage, 26085,
24141 /* 66759 */ GIR_EraseRootFromParent_Done,
24142 /* 66760 */ // Label 1584: @66760
24143 /* 66760 */ GIM_Try, /*On fail goto*//*Label 1585*/ GIMT_Encode4(66858), // Rule ID 22501 //
24144 /* 66765 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24145 /* 66768 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24146 /* 66775 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24147 /* 66779 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
24148 /* 66783 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24149 /* 66787 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24150 /* 66791 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24151 /* 66795 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24152 /* 66799 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24153 /* 66802 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24154 /* 66806 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24155 /* 66813 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24156 /* 66817 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24157 /* 66822 */ // MIs[0] dst
24158 /* 66822 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24159 /* 66827 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24160 /* 66829 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24161 /* 66836 */ // (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)
24162 /* 66836 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mr),
24163 /* 66839 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24164 /* 66843 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
24165 /* 66847 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24166 /* 66850 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24167 /* 66856 */ GIR_RootConstrainSelectedInstOperands,
24168 /* 66857 */ // GIR_Coverage, 22501,
24169 /* 66857 */ GIR_EraseRootFromParent_Done,
24170 /* 66858 */ // Label 1585: @66858
24171 /* 66858 */ GIM_Try, /*On fail goto*//*Label 1586*/ GIMT_Encode4(66956), // Rule ID 26089 //
24172 /* 66863 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24173 /* 66866 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24174 /* 66873 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24175 /* 66877 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
24176 /* 66881 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24177 /* 66885 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24178 /* 66889 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24179 /* 66894 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24180 /* 66898 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24181 /* 66902 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24182 /* 66905 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24183 /* 66909 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24184 /* 66916 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24185 /* 66920 */ // MIs[0] dst
24186 /* 66920 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24187 /* 66925 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24188 /* 66927 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24189 /* 66934 */ // (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)
24190 /* 66934 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mr),
24191 /* 66937 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24192 /* 66941 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
24193 /* 66945 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24194 /* 66948 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24195 /* 66954 */ GIR_RootConstrainSelectedInstOperands,
24196 /* 66955 */ // GIR_Coverage, 26089,
24197 /* 66955 */ GIR_EraseRootFromParent_Done,
24198 /* 66956 */ // Label 1586: @66956
24199 /* 66956 */ GIM_Try, /*On fail goto*//*Label 1587*/ GIMT_Encode4(67054), // Rule ID 22509 //
24200 /* 66961 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24201 /* 66964 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24202 /* 66971 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24203 /* 66975 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
24204 /* 66979 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24205 /* 66983 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24206 /* 66987 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24207 /* 66991 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24208 /* 66995 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24209 /* 66998 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24210 /* 67002 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24211 /* 67009 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24212 /* 67013 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24213 /* 67018 */ // MIs[0] dst
24214 /* 67018 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24215 /* 67023 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24216 /* 67025 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24217 /* 67032 */ // (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)
24218 /* 67032 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mr),
24219 /* 67035 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24220 /* 67039 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
24221 /* 67043 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24222 /* 67046 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24223 /* 67052 */ GIR_RootConstrainSelectedInstOperands,
24224 /* 67053 */ // GIR_Coverage, 22509,
24225 /* 67053 */ GIR_EraseRootFromParent_Done,
24226 /* 67054 */ // Label 1587: @67054
24227 /* 67054 */ GIM_Try, /*On fail goto*//*Label 1588*/ GIMT_Encode4(67152), // Rule ID 26093 //
24228 /* 67059 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24229 /* 67062 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24230 /* 67069 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24231 /* 67073 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
24232 /* 67077 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24233 /* 67081 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24234 /* 67085 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24235 /* 67090 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24236 /* 67094 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24237 /* 67098 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24238 /* 67101 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24239 /* 67105 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24240 /* 67112 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24241 /* 67116 */ // MIs[0] dst
24242 /* 67116 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24243 /* 67121 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24244 /* 67123 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24245 /* 67130 */ // (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)
24246 /* 67130 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mr),
24247 /* 67133 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24248 /* 67137 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
24249 /* 67141 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24250 /* 67144 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24251 /* 67150 */ GIR_RootConstrainSelectedInstOperands,
24252 /* 67151 */ // GIR_Coverage, 26093,
24253 /* 67151 */ GIR_EraseRootFromParent_Done,
24254 /* 67152 */ // Label 1588: @67152
24255 /* 67152 */ GIM_Try, /*On fail goto*//*Label 1589*/ GIMT_Encode4(67250), // Rule ID 22525 //
24256 /* 67157 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24257 /* 67160 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24258 /* 67167 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24259 /* 67171 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
24260 /* 67175 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24261 /* 67179 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24262 /* 67183 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24263 /* 67187 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24264 /* 67191 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24265 /* 67194 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24266 /* 67198 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24267 /* 67205 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24268 /* 67209 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24269 /* 67214 */ // MIs[0] dst
24270 /* 67214 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24271 /* 67219 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24272 /* 67221 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24273 /* 67228 */ // (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)
24274 /* 67228 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mr),
24275 /* 67231 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24276 /* 67235 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
24277 /* 67239 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24278 /* 67242 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24279 /* 67248 */ GIR_RootConstrainSelectedInstOperands,
24280 /* 67249 */ // GIR_Coverage, 22525,
24281 /* 67249 */ GIR_EraseRootFromParent_Done,
24282 /* 67250 */ // Label 1589: @67250
24283 /* 67250 */ GIM_Try, /*On fail goto*//*Label 1590*/ GIMT_Encode4(67348), // Rule ID 22517 //
24284 /* 67255 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24285 /* 67258 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24286 /* 67265 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24287 /* 67269 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24288 /* 67273 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24289 /* 67277 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24290 /* 67281 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24291 /* 67285 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24292 /* 67289 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24293 /* 67292 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24294 /* 67296 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24295 /* 67303 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24296 /* 67307 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24297 /* 67312 */ // MIs[0] dst
24298 /* 67312 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24299 /* 67317 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24300 /* 67319 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24301 /* 67326 */ // (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)
24302 /* 67326 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mr),
24303 /* 67329 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24304 /* 67333 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
24305 /* 67337 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24306 /* 67340 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24307 /* 67346 */ GIR_RootConstrainSelectedInstOperands,
24308 /* 67347 */ // GIR_Coverage, 22517,
24309 /* 67347 */ GIR_EraseRootFromParent_Done,
24310 /* 67348 */ // Label 1590: @67348
24311 /* 67348 */ GIM_Try, /*On fail goto*//*Label 1591*/ GIMT_Encode4(67446), // Rule ID 26097 //
24312 /* 67353 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24313 /* 67356 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24314 /* 67363 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24315 /* 67367 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24316 /* 67371 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24317 /* 67375 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24318 /* 67379 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24319 /* 67384 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24320 /* 67388 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24321 /* 67392 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24322 /* 67395 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24323 /* 67399 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24324 /* 67406 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24325 /* 67410 */ // MIs[0] dst
24326 /* 67410 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24327 /* 67415 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24328 /* 67417 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24329 /* 67424 */ // (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)
24330 /* 67424 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mr),
24331 /* 67427 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24332 /* 67431 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
24333 /* 67435 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24334 /* 67438 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24335 /* 67444 */ GIR_RootConstrainSelectedInstOperands,
24336 /* 67445 */ // GIR_Coverage, 26097,
24337 /* 67445 */ GIR_EraseRootFromParent_Done,
24338 /* 67446 */ // Label 1591: @67446
24339 /* 67446 */ GIM_Try, /*On fail goto*//*Label 1592*/ GIMT_Encode4(67534), // Rule ID 408 //
24340 /* 67451 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24341 /* 67454 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24342 /* 67458 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24343 /* 67462 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24344 /* 67466 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24345 /* 67470 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24346 /* 67474 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24347 /* 67478 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24348 /* 67482 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24349 /* 67485 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24350 /* 67489 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24351 /* 67493 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24352 /* 67498 */ // MIs[0] src1
24353 /* 67498 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24354 /* 67503 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24355 /* 67505 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24356 /* 67512 */ // (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)
24357 /* 67512 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mr),
24358 /* 67515 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24359 /* 67519 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
24360 /* 67523 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24361 /* 67526 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24362 /* 67532 */ GIR_RootConstrainSelectedInstOperands,
24363 /* 67533 */ // GIR_Coverage, 408,
24364 /* 67533 */ GIR_EraseRootFromParent_Done,
24365 /* 67534 */ // Label 1592: @67534
24366 /* 67534 */ GIM_Try, /*On fail goto*//*Label 1593*/ GIMT_Encode4(67622), // Rule ID 23305 //
24367 /* 67539 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24368 /* 67542 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24369 /* 67546 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24370 /* 67550 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24371 /* 67554 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24372 /* 67558 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24373 /* 67562 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24374 /* 67567 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24375 /* 67571 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24376 /* 67575 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24377 /* 67578 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24378 /* 67582 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24379 /* 67586 */ // MIs[0] src1
24380 /* 67586 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24381 /* 67591 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24382 /* 67593 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24383 /* 67600 */ // (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)
24384 /* 67600 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mr),
24385 /* 67603 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24386 /* 67607 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
24387 /* 67611 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24388 /* 67614 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24389 /* 67620 */ GIR_RootConstrainSelectedInstOperands,
24390 /* 67621 */ // GIR_Coverage, 23305,
24391 /* 67621 */ GIR_EraseRootFromParent_Done,
24392 /* 67622 */ // Label 1593: @67622
24393 /* 67622 */ GIM_Try, /*On fail goto*//*Label 1594*/ GIMT_Encode4(67710), // Rule ID 300 //
24394 /* 67627 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24395 /* 67630 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24396 /* 67634 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24397 /* 67638 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
24398 /* 67642 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24399 /* 67646 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24400 /* 67650 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24401 /* 67654 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24402 /* 67658 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24403 /* 67661 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24404 /* 67665 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24405 /* 67669 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24406 /* 67674 */ // MIs[0] src1
24407 /* 67674 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24408 /* 67679 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24409 /* 67681 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24410 /* 67688 */ // (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)
24411 /* 67688 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mr),
24412 /* 67691 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24413 /* 67695 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
24414 /* 67699 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24415 /* 67702 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24416 /* 67708 */ GIR_RootConstrainSelectedInstOperands,
24417 /* 67709 */ // GIR_Coverage, 300,
24418 /* 67709 */ GIR_EraseRootFromParent_Done,
24419 /* 67710 */ // Label 1594: @67710
24420 /* 67710 */ GIM_Try, /*On fail goto*//*Label 1595*/ GIMT_Encode4(67798), // Rule ID 23269 //
24421 /* 67715 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24422 /* 67718 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24423 /* 67722 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24424 /* 67726 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
24425 /* 67730 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24426 /* 67734 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24427 /* 67738 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24428 /* 67743 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24429 /* 67747 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24430 /* 67751 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24431 /* 67754 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24432 /* 67758 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24433 /* 67762 */ // MIs[0] src1
24434 /* 67762 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24435 /* 67767 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24436 /* 67769 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24437 /* 67776 */ // (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)
24438 /* 67776 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mr),
24439 /* 67779 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24440 /* 67783 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
24441 /* 67787 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24442 /* 67790 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24443 /* 67796 */ GIR_RootConstrainSelectedInstOperands,
24444 /* 67797 */ // GIR_Coverage, 23269,
24445 /* 67797 */ GIR_EraseRootFromParent_Done,
24446 /* 67798 */ // Label 1595: @67798
24447 /* 67798 */ GIM_Try, /*On fail goto*//*Label 1596*/ GIMT_Encode4(67896), // Rule ID 750 //
24448 /* 67803 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24449 /* 67806 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24450 /* 67810 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24451 /* 67814 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
24452 /* 67818 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24453 /* 67822 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24454 /* 67826 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24455 /* 67830 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24456 /* 67834 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24457 /* 67837 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24458 /* 67841 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24459 /* 67845 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
24460 /* 67850 */ // MIs[0] src1
24461 /* 67850 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24462 /* 67855 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24463 /* 67857 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24464 /* 67864 */ // (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)
24465 /* 67864 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24466 /* 67868 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24467 /* 67874 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
24468 /* 67878 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16mCL),
24469 /* 67881 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24470 /* 67885 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24471 /* 67888 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24472 /* 67894 */ GIR_RootConstrainSelectedInstOperands,
24473 /* 67895 */ // GIR_Coverage, 750,
24474 /* 67895 */ GIR_EraseRootFromParent_Done,
24475 /* 67896 */ // Label 1596: @67896
24476 /* 67896 */ GIM_Try, /*On fail goto*//*Label 1597*/ GIMT_Encode4(67994), // Rule ID 718 //
24477 /* 67901 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24478 /* 67904 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24479 /* 67908 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24480 /* 67912 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
24481 /* 67916 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24482 /* 67920 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24483 /* 67924 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24484 /* 67928 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24485 /* 67932 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24486 /* 67935 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24487 /* 67939 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24488 /* 67943 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
24489 /* 67948 */ // MIs[0] src1
24490 /* 67948 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24491 /* 67953 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24492 /* 67955 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24493 /* 67962 */ // (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)
24494 /* 67962 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24495 /* 67966 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24496 /* 67972 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
24497 /* 67976 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16mCL),
24498 /* 67979 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24499 /* 67983 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24500 /* 67986 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24501 /* 67992 */ GIR_RootConstrainSelectedInstOperands,
24502 /* 67993 */ // GIR_Coverage, 718,
24503 /* 67993 */ GIR_EraseRootFromParent_Done,
24504 /* 67994 */ // Label 1597: @67994
24505 /* 67994 */ GIM_Try, /*On fail goto*//*Label 1598*/ GIMT_Encode4(68082), // Rule ID 336 //
24506 /* 67999 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24507 /* 68002 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24508 /* 68006 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24509 /* 68010 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
24510 /* 68014 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24511 /* 68018 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24512 /* 68022 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24513 /* 68026 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24514 /* 68030 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24515 /* 68033 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24516 /* 68037 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24517 /* 68041 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24518 /* 68046 */ // MIs[0] src1
24519 /* 68046 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24520 /* 68051 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24521 /* 68053 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24522 /* 68060 */ // (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)
24523 /* 68060 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mr),
24524 /* 68063 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24525 /* 68067 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
24526 /* 68071 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24527 /* 68074 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24528 /* 68080 */ GIR_RootConstrainSelectedInstOperands,
24529 /* 68081 */ // GIR_Coverage, 336,
24530 /* 68081 */ GIR_EraseRootFromParent_Done,
24531 /* 68082 */ // Label 1598: @68082
24532 /* 68082 */ GIM_Try, /*On fail goto*//*Label 1599*/ GIMT_Encode4(68170), // Rule ID 23281 //
24533 /* 68087 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24534 /* 68090 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24535 /* 68094 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24536 /* 68098 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
24537 /* 68102 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24538 /* 68106 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24539 /* 68110 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24540 /* 68115 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24541 /* 68119 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24542 /* 68123 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24543 /* 68126 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24544 /* 68130 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24545 /* 68134 */ // MIs[0] src1
24546 /* 68134 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24547 /* 68139 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24548 /* 68141 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24549 /* 68148 */ // (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)
24550 /* 68148 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mr),
24551 /* 68151 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24552 /* 68155 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
24553 /* 68159 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24554 /* 68162 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24555 /* 68168 */ GIR_RootConstrainSelectedInstOperands,
24556 /* 68169 */ // GIR_Coverage, 23281,
24557 /* 68169 */ GIR_EraseRootFromParent_Done,
24558 /* 68170 */ // Label 1599: @68170
24559 /* 68170 */ GIM_Try, /*On fail goto*//*Label 1600*/ GIMT_Encode4(68268), // Rule ID 782 //
24560 /* 68175 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24561 /* 68178 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24562 /* 68182 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24563 /* 68186 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
24564 /* 68190 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24565 /* 68194 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24566 /* 68198 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24567 /* 68202 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24568 /* 68206 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24569 /* 68209 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24570 /* 68213 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24571 /* 68217 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
24572 /* 68222 */ // MIs[0] src1
24573 /* 68222 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24574 /* 68227 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24575 /* 68229 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24576 /* 68236 */ // (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)
24577 /* 68236 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24578 /* 68240 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24579 /* 68246 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
24580 /* 68250 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16mCL),
24581 /* 68253 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24582 /* 68257 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24583 /* 68260 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24584 /* 68266 */ GIR_RootConstrainSelectedInstOperands,
24585 /* 68267 */ // GIR_Coverage, 782,
24586 /* 68267 */ GIR_EraseRootFromParent_Done,
24587 /* 68268 */ // Label 1600: @68268
24588 /* 68268 */ GIM_Try, /*On fail goto*//*Label 1601*/ GIMT_Encode4(68366), // Rule ID 814 //
24589 /* 68273 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24590 /* 68276 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24591 /* 68280 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24592 /* 68284 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
24593 /* 68288 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24594 /* 68292 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24595 /* 68296 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24596 /* 68300 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24597 /* 68304 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24598 /* 68307 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24599 /* 68311 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24600 /* 68315 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
24601 /* 68320 */ // MIs[0] src1
24602 /* 68320 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24603 /* 68325 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24604 /* 68327 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24605 /* 68334 */ // (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)
24606 /* 68334 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24607 /* 68338 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24608 /* 68344 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
24609 /* 68348 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16mCL),
24610 /* 68351 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24611 /* 68355 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24612 /* 68358 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24613 /* 68364 */ GIR_RootConstrainSelectedInstOperands,
24614 /* 68365 */ // GIR_Coverage, 814,
24615 /* 68365 */ GIR_EraseRootFromParent_Done,
24616 /* 68366 */ // Label 1601: @68366
24617 /* 68366 */ GIM_Try, /*On fail goto*//*Label 1602*/ GIMT_Encode4(68464), // Rule ID 686 //
24618 /* 68371 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24619 /* 68374 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24620 /* 68378 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24621 /* 68382 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
24622 /* 68386 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24623 /* 68390 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24624 /* 68394 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24625 /* 68398 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24626 /* 68402 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24627 /* 68405 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24628 /* 68409 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24629 /* 68413 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
24630 /* 68418 */ // MIs[0] src1
24631 /* 68418 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24632 /* 68423 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24633 /* 68425 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24634 /* 68432 */ // (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)
24635 /* 68432 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24636 /* 68436 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24637 /* 68442 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
24638 /* 68446 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16mCL),
24639 /* 68449 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24640 /* 68453 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24641 /* 68456 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24642 /* 68462 */ GIR_RootConstrainSelectedInstOperands,
24643 /* 68463 */ // GIR_Coverage, 686,
24644 /* 68463 */ GIR_EraseRootFromParent_Done,
24645 /* 68464 */ // Label 1602: @68464
24646 /* 68464 */ GIM_Try, /*On fail goto*//*Label 1603*/ GIMT_Encode4(68552), // Rule ID 444 //
24647 /* 68469 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24648 /* 68472 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24649 /* 68476 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24650 /* 68480 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
24651 /* 68484 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24652 /* 68488 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24653 /* 68492 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24654 /* 68496 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24655 /* 68500 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24656 /* 68503 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24657 /* 68507 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24658 /* 68511 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24659 /* 68516 */ // MIs[0] src1
24660 /* 68516 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24661 /* 68521 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24662 /* 68523 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24663 /* 68530 */ // (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)
24664 /* 68530 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mr),
24665 /* 68533 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24666 /* 68537 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
24667 /* 68541 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24668 /* 68544 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24669 /* 68550 */ GIR_RootConstrainSelectedInstOperands,
24670 /* 68551 */ // GIR_Coverage, 444,
24671 /* 68551 */ GIR_EraseRootFromParent_Done,
24672 /* 68552 */ // Label 1603: @68552
24673 /* 68552 */ GIM_Try, /*On fail goto*//*Label 1604*/ GIMT_Encode4(68640), // Rule ID 372 //
24674 /* 68557 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24675 /* 68560 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24676 /* 68564 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24677 /* 68568 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24678 /* 68572 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24679 /* 68576 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24680 /* 68580 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24681 /* 68584 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24682 /* 68588 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24683 /* 68591 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24684 /* 68595 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24685 /* 68599 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24686 /* 68604 */ // MIs[0] src1
24687 /* 68604 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24688 /* 68609 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24689 /* 68611 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24690 /* 68618 */ // (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)
24691 /* 68618 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mr),
24692 /* 68621 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24693 /* 68625 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
24694 /* 68629 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24695 /* 68632 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24696 /* 68638 */ GIR_RootConstrainSelectedInstOperands,
24697 /* 68639 */ // GIR_Coverage, 372,
24698 /* 68639 */ GIR_EraseRootFromParent_Done,
24699 /* 68640 */ // Label 1604: @68640
24700 /* 68640 */ GIM_Try, /*On fail goto*//*Label 1605*/ GIMT_Encode4(68728), // Rule ID 23293 //
24701 /* 68645 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24702 /* 68648 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24703 /* 68652 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24704 /* 68656 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24705 /* 68660 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24706 /* 68664 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24707 /* 68668 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24708 /* 68673 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24709 /* 68677 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24710 /* 68681 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24711 /* 68684 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24712 /* 68688 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24713 /* 68692 */ // MIs[0] src1
24714 /* 68692 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24715 /* 68697 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24716 /* 68699 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24717 /* 68706 */ // (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)
24718 /* 68706 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mr),
24719 /* 68709 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24720 /* 68713 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
24721 /* 68717 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24722 /* 68720 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24723 /* 68726 */ GIR_RootConstrainSelectedInstOperands,
24724 /* 68727 */ // GIR_Coverage, 23293,
24725 /* 68727 */ GIR_EraseRootFromParent_Done,
24726 /* 68728 */ // Label 1605: @68728
24727 /* 68728 */ GIM_Try, /*On fail goto*//*Label 1606*/ GIMT_Encode4(68782), // Rule ID 25 //
24728 /* 68733 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24729 /* 68736 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24730 /* 68740 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24731 /* 68744 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24732 /* 68748 */ // MIs[1] Operand 1
24733 /* 68748 */ // No operand predicates
24734 /* 68748 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
24735 /* 68752 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
24736 /* 68756 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24737 /* 68758 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24738 /* 68765 */ // (st (imm:{ *:[i16] })<<P:Predicate_imm_su>>:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV16mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i16] }):$src)
24739 /* 68765 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mi),
24740 /* 68768 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24741 /* 68772 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
24742 /* 68775 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
24743 /* 68780 */ GIR_RootConstrainSelectedInstOperands,
24744 /* 68781 */ // GIR_Coverage, 25,
24745 /* 68781 */ GIR_EraseRootFromParent_Done,
24746 /* 68782 */ // Label 1606: @68782
24747 /* 68782 */ GIM_Try, /*On fail goto*//*Label 1607*/ GIMT_Encode4(68835), // Rule ID 22569 //
24748 /* 68787 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24749 /* 68790 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24750 /* 68797 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24751 /* 68801 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24752 /* 68805 */ // MIs[1] Operand 1
24753 /* 68805 */ // No operand predicates
24754 /* 68805 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
24755 /* 68809 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24756 /* 68811 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24757 /* 68818 */ // (atomic_store (imm:{ *:[i16] }):$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (MOV16mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i16] }):$src)
24758 /* 68818 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mi),
24759 /* 68821 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24760 /* 68825 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
24761 /* 68828 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
24762 /* 68833 */ GIR_RootConstrainSelectedInstOperands,
24763 /* 68834 */ // GIR_Coverage, 22569,
24764 /* 68834 */ GIR_EraseRootFromParent_Done,
24765 /* 68835 */ // Label 1607: @68835
24766 /* 68835 */ GIM_Try, /*On fail goto*//*Label 1608*/ GIMT_Encode4(68898), // Rule ID 50 //
24767 /* 68840 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR),
24768 /* 68843 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24769 /* 68846 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24770 /* 68850 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24771 /* 68854 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
24772 /* 68858 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24773 /* 68862 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24774 /* 68867 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
24775 /* 68871 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24776 /* 68873 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24777 /* 68880 */ // (st (bswap:{ *:[i16] } GR16:{ *:[i16] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE16mr addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src1)
24778 /* 68880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE16mr),
24779 /* 68883 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24780 /* 68887 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
24781 /* 68891 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
24782 /* 68896 */ GIR_RootConstrainSelectedInstOperands,
24783 /* 68897 */ // GIR_Coverage, 50,
24784 /* 68897 */ GIR_EraseRootFromParent_Done,
24785 /* 68898 */ // Label 1608: @68898
24786 /* 68898 */ GIM_Try, /*On fail goto*//*Label 1609*/ GIMT_Encode4(68961), // Rule ID 56 //
24787 /* 68903 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode),
24788 /* 68906 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24789 /* 68909 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24790 /* 68913 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24791 /* 68917 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
24792 /* 68921 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24793 /* 68925 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24794 /* 68930 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
24795 /* 68934 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24796 /* 68936 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24797 /* 68943 */ // (st (bswap:{ *:[i16] } GR16:{ *:[i16] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE16mr_EVEX addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src1)
24798 /* 68943 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE16mr_EVEX),
24799 /* 68946 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24800 /* 68950 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
24801 /* 68954 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
24802 /* 68959 */ GIR_RootConstrainSelectedInstOperands,
24803 /* 68960 */ // GIR_Coverage, 56,
24804 /* 68960 */ GIR_EraseRootFromParent_Done,
24805 /* 68961 */ // Label 1609: @68961
24806 /* 68961 */ GIM_Try, /*On fail goto*//*Label 1610*/ GIMT_Encode4(69006), // Rule ID 22573 //
24807 /* 68966 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24808 /* 68969 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24809 /* 68976 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24810 /* 68980 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
24811 /* 68984 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24812 /* 68991 */ // (atomic_store GR16:{ *:[i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (MOV16mr addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
24813 /* 68991 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mr),
24814 /* 68994 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24815 /* 68998 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
24816 /* 69000 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
24817 /* 69004 */ GIR_RootConstrainSelectedInstOperands,
24818 /* 69005 */ // GIR_Coverage, 22573,
24819 /* 69005 */ GIR_EraseRootFromParent_Done,
24820 /* 69006 */ // Label 1610: @69006
24821 /* 69006 */ GIM_Try, /*On fail goto*//*Label 1611*/ GIMT_Encode4(69048), // Rule ID 33 //
24822 /* 69011 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24823 /* 69014 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24824 /* 69018 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24825 /* 69022 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
24826 /* 69026 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24827 /* 69033 */ // (st GR16:{ *:[i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV16mr addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
24828 /* 69033 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mr),
24829 /* 69036 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24830 /* 69040 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
24831 /* 69042 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
24832 /* 69046 */ GIR_RootConstrainSelectedInstOperands,
24833 /* 69047 */ // GIR_Coverage, 33,
24834 /* 69047 */ GIR_EraseRootFromParent_Done,
24835 /* 69048 */ // Label 1611: @69048
24836 /* 69048 */ GIM_Try, /*On fail goto*//*Label 1612*/ GIMT_Encode4(69093), // Rule ID 4626 //
24837 /* 69053 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
24838 /* 69056 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24839 /* 69059 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24840 /* 69063 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
24841 /* 69067 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
24842 /* 69071 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24843 /* 69078 */ // (st FR16X:{ *:[f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSHZmr addr:{ *:[iPTR] }:$dst, FR16X:{ *:[f16] }:$src)
24844 /* 69078 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSHZmr),
24845 /* 69081 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24846 /* 69085 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
24847 /* 69087 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
24848 /* 69091 */ GIR_RootConstrainSelectedInstOperands,
24849 /* 69092 */ // GIR_Coverage, 4626,
24850 /* 69092 */ GIR_EraseRootFromParent_Done,
24851 /* 69093 */ // Label 1612: @69093
24852 /* 69093 */ GIM_Try, /*On fail goto*//*Label 1613*/ GIMT_Encode4(69159), // Rule ID 18537 //
24853 /* 69098 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
24854 /* 69101 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24855 /* 69104 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24856 /* 69108 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
24857 /* 69112 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24858 /* 69119 */ // (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] })
24859 /* 69119 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
24860 /* 69122 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24861 /* 69126 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24862 /* 69131 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/0, // src
24863 /* 69135 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
24864 /* 69140 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PEXTRWmri),
24865 /* 69143 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24866 /* 69147 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
24867 /* 69150 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
24868 /* 69153 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
24869 /* 69157 */ GIR_RootConstrainSelectedInstOperands,
24870 /* 69158 */ // GIR_Coverage, 18537,
24871 /* 69158 */ GIR_EraseRootFromParent_Done,
24872 /* 69159 */ // Label 1613: @69159
24873 /* 69159 */ GIM_Try, /*On fail goto*//*Label 1614*/ GIMT_Encode4(69225), // Rule ID 18538 //
24874 /* 69164 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoBWI),
24875 /* 69167 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24876 /* 69170 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24877 /* 69174 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
24878 /* 69178 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24879 /* 69185 */ // (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] })
24880 /* 69185 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
24881 /* 69188 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24882 /* 69192 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24883 /* 69197 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/0, // src
24884 /* 69201 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
24885 /* 69206 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPEXTRWmri),
24886 /* 69209 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24887 /* 69213 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
24888 /* 69216 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
24889 /* 69219 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
24890 /* 69223 */ GIR_RootConstrainSelectedInstOperands,
24891 /* 69224 */ // GIR_Coverage, 18538,
24892 /* 69224 */ GIR_EraseRootFromParent_Done,
24893 /* 69225 */ // Label 1614: @69225
24894 /* 69225 */ GIM_Try, /*On fail goto*//*Label 1615*/ GIMT_Encode4(69337), // Rule ID 18326 //
24895 /* 69230 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
24896 /* 69233 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24897 /* 69236 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24898 /* 69240 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
24899 /* 69244 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24900 /* 69251 */ // (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] }))
24901 /* 69251 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s16,
24902 /* 69254 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24903 /* 69258 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24904 /* 69263 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/0, // src
24905 /* 69267 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
24906 /* 69272 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
24907 /* 69275 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(X86::PEXTRWrri),
24908 /* 69279 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24909 /* 69284 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
24910 /* 69287 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/0,
24911 /* 69290 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
24912 /* 69292 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
24913 /* 69295 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24914 /* 69299 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24915 /* 69304 */ GIR_AddTempSubRegister, /*InsnID*/1, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
24916 /* 69311 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
24917 /* 69316 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
24918 /* 69321 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mr),
24919 /* 69324 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24920 /* 69328 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
24921 /* 69331 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
24922 /* 69335 */ GIR_RootConstrainSelectedInstOperands,
24923 /* 69336 */ // GIR_Coverage, 18326,
24924 /* 69336 */ GIR_EraseRootFromParent_Done,
24925 /* 69337 */ // Label 1615: @69337
24926 /* 69337 */ GIM_Try, /*On fail goto*//*Label 1616*/ GIMT_Encode4(69403), // Rule ID 21851 //
24927 /* 69342 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
24928 /* 69345 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24929 /* 69348 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24930 /* 69352 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
24931 /* 69356 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24932 /* 69363 */ // (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] })
24933 /* 69363 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
24934 /* 69366 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24935 /* 69370 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24936 /* 69375 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/0, // src
24937 /* 69379 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
24938 /* 69384 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPEXTRWZmri),
24939 /* 69387 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24940 /* 69391 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
24941 /* 69394 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
24942 /* 69397 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
24943 /* 69401 */ GIR_RootConstrainSelectedInstOperands,
24944 /* 69402 */ // GIR_Coverage, 21851,
24945 /* 69402 */ GIR_EraseRootFromParent_Done,
24946 /* 69403 */ // Label 1616: @69403
24947 /* 69403 */ GIM_Reject,
24948 /* 69404 */ // Label 1484: @69404
24949 /* 69404 */ GIM_Try, /*On fail goto*//*Label 1617*/ GIMT_Encode4(69500), // Rule ID 22554 //
24950 /* 69409 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
24951 /* 69412 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24952 /* 69415 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
24953 /* 69422 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24954 /* 69426 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24955 /* 69430 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24956 /* 69434 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24957 /* 69438 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24958 /* 69442 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24959 /* 69446 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24960 /* 69449 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24961 /* 69453 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
24962 /* 69460 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24963 /* 69464 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
24964 /* 69468 */ // MIs[0] dst
24965 /* 69468 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24966 /* 69473 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24967 /* 69475 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24968 /* 69482 */ // (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)
24969 /* 69482 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32m),
24970 /* 69485 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24971 /* 69489 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24972 /* 69492 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24973 /* 69498 */ GIR_RootConstrainSelectedInstOperands,
24974 /* 69499 */ // GIR_Coverage, 22554,
24975 /* 69499 */ GIR_EraseRootFromParent_Done,
24976 /* 69500 */ // Label 1617: @69500
24977 /* 69500 */ GIM_Try, /*On fail goto*//*Label 1618*/ GIMT_Encode4(69596), // Rule ID 22558 //
24978 /* 69505 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
24979 /* 69508 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24980 /* 69511 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
24981 /* 69518 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24982 /* 69522 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24983 /* 69526 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24984 /* 69530 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24985 /* 69534 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24986 /* 69538 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24987 /* 69542 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24988 /* 69545 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24989 /* 69549 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
24990 /* 69556 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24991 /* 69560 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
24992 /* 69564 */ // MIs[0] dst
24993 /* 69564 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24994 /* 69569 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24995 /* 69571 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24996 /* 69578 */ // (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)
24997 /* 69578 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC32m),
24998 /* 69581 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24999 /* 69585 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25000 /* 69588 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25001 /* 69594 */ GIR_RootConstrainSelectedInstOperands,
25002 /* 69595 */ // GIR_Coverage, 22558,
25003 /* 69595 */ GIR_EraseRootFromParent_Done,
25004 /* 69596 */ // Label 1618: @69596
25005 /* 69596 */ GIM_Try, /*On fail goto*//*Label 1619*/ GIMT_Encode4(69689), // Rule ID 22562 //
25006 /* 69601 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25007 /* 69604 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25008 /* 69611 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25009 /* 69615 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
25010 /* 69619 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25011 /* 69623 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25012 /* 69627 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
25013 /* 69631 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25014 /* 69635 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25015 /* 69639 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25016 /* 69642 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25017 /* 69646 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25018 /* 69653 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25019 /* 69657 */ // MIs[0] dst
25020 /* 69657 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25021 /* 69662 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25022 /* 69664 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25023 /* 69671 */ // (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)
25024 /* 69671 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32m),
25025 /* 69674 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25026 /* 69678 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25027 /* 69681 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25028 /* 69687 */ GIR_RootConstrainSelectedInstOperands,
25029 /* 69688 */ // GIR_Coverage, 22562,
25030 /* 69688 */ GIR_EraseRootFromParent_Done,
25031 /* 69689 */ // Label 1619: @69689
25032 /* 69689 */ GIM_Try, /*On fail goto*//*Label 1620*/ GIMT_Encode4(69779), // Rule ID 22566 //
25033 /* 69694 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25034 /* 69697 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25035 /* 69704 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25036 /* 69708 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
25037 /* 69712 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25038 /* 69716 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25039 /* 69720 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25040 /* 69724 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25041 /* 69728 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25042 /* 69731 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25043 /* 69735 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25044 /* 69742 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25045 /* 69746 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
25046 /* 69750 */ // MIs[0] dst
25047 /* 69750 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25048 /* 69755 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25049 /* 69757 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25050 /* 69764 */ // (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)
25051 /* 69764 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT32m),
25052 /* 69767 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25053 /* 69771 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25054 /* 69777 */ GIR_RootConstrainSelectedInstOperands,
25055 /* 69778 */ // GIR_Coverage, 22566,
25056 /* 69778 */ GIR_EraseRootFromParent_Done,
25057 /* 69779 */ // Label 1620: @69779
25058 /* 69779 */ GIM_Try, /*On fail goto*//*Label 1621*/ GIMT_Encode4(69865), // Rule ID 225 //
25059 /* 69784 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
25060 /* 69787 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25061 /* 69790 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25062 /* 69794 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25063 /* 69798 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25064 /* 69802 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25065 /* 69806 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25066 /* 69810 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25067 /* 69814 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25068 /* 69818 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25069 /* 69821 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25070 /* 69825 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25071 /* 69829 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
25072 /* 69833 */ // MIs[0] src1
25073 /* 69833 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25074 /* 69838 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25075 /* 69840 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25076 /* 69847 */ // (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)
25077 /* 69847 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32m),
25078 /* 69850 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25079 /* 69854 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25080 /* 69857 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25081 /* 69863 */ GIR_RootConstrainSelectedInstOperands,
25082 /* 69864 */ // GIR_Coverage, 225,
25083 /* 69864 */ GIR_EraseRootFromParent_Done,
25084 /* 69865 */ // Label 1621: @69865
25085 /* 69865 */ GIM_Try, /*On fail goto*//*Label 1622*/ GIMT_Encode4(69951), // Rule ID 228 //
25086 /* 69870 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
25087 /* 69873 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25088 /* 69876 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25089 /* 69880 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25090 /* 69884 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25091 /* 69888 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25092 /* 69892 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25093 /* 69896 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25094 /* 69900 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25095 /* 69904 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25096 /* 69907 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25097 /* 69911 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25098 /* 69915 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
25099 /* 69919 */ // MIs[0] src1
25100 /* 69919 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25101 /* 69924 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25102 /* 69926 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25103 /* 69933 */ // (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)
25104 /* 69933 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC32m),
25105 /* 69936 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25106 /* 69940 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25107 /* 69943 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25108 /* 69949 */ GIR_RootConstrainSelectedInstOperands,
25109 /* 69950 */ // GIR_Coverage, 228,
25110 /* 69950 */ GIR_EraseRootFromParent_Done,
25111 /* 69951 */ // Label 1622: @69951
25112 /* 69951 */ GIM_Try, /*On fail goto*//*Label 1623*/ GIMT_Encode4(70044), // Rule ID 22697 //
25113 /* 69956 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25114 /* 69959 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25115 /* 69963 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25116 /* 69967 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25117 /* 69971 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25118 /* 69975 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25119 /* 69979 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25120 /* 69983 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25121 /* 69987 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25122 /* 69990 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25123 /* 69994 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25124 /* 69998 */ GIM_CheckConstantInt, /*MI*/1, /*Op*/2, GIMT_Encode8(128),
25125 /* 70009 */ // MIs[0] dst
25126 /* 70009 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25127 /* 70014 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25128 /* 70016 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25129 /* 70023 */ // (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] })
25130 /* 70023 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mi),
25131 /* 70026 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25132 /* 70030 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
25133 /* 70033 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25134 /* 70036 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25135 /* 70042 */ GIR_RootConstrainSelectedInstOperands,
25136 /* 70043 */ // GIR_Coverage, 22697,
25137 /* 70043 */ GIR_EraseRootFromParent_Done,
25138 /* 70044 */ // Label 1623: @70044
25139 /* 70044 */ GIM_Try, /*On fail goto*//*Label 1624*/ GIMT_Encode4(70127), // Rule ID 17604 //
25140 /* 70049 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25141 /* 70052 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25142 /* 70056 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25143 /* 70060 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
25144 /* 70064 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25145 /* 70068 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25146 /* 70072 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25147 /* 70076 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25148 /* 70080 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25149 /* 70083 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25150 /* 70087 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25151 /* 70091 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 31,
25152 /* 70095 */ // MIs[0] dst
25153 /* 70095 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25154 /* 70100 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25155 /* 70102 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25156 /* 70109 */ // (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)
25157 /* 70109 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32m1),
25158 /* 70112 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25159 /* 70116 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25160 /* 70119 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25161 /* 70125 */ GIR_RootConstrainSelectedInstOperands,
25162 /* 70126 */ // GIR_Coverage, 17604,
25163 /* 70126 */ GIR_EraseRootFromParent_Done,
25164 /* 70127 */ // Label 1624: @70127
25165 /* 70127 */ GIM_Try, /*On fail goto*//*Label 1625*/ GIMT_Encode4(70210), // Rule ID 17608 //
25166 /* 70132 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25167 /* 70135 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25168 /* 70139 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25169 /* 70143 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
25170 /* 70147 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25171 /* 70151 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25172 /* 70155 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25173 /* 70159 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25174 /* 70163 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25175 /* 70166 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25176 /* 70170 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25177 /* 70174 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 31,
25178 /* 70178 */ // MIs[0] dst
25179 /* 70178 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25180 /* 70183 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25181 /* 70185 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25182 /* 70192 */ // (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)
25183 /* 70192 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32m1),
25184 /* 70195 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25185 /* 70199 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25186 /* 70202 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25187 /* 70208 */ GIR_RootConstrainSelectedInstOperands,
25188 /* 70209 */ // GIR_Coverage, 17608,
25189 /* 70209 */ GIR_EraseRootFromParent_Done,
25190 /* 70210 */ // Label 1625: @70210
25191 /* 70210 */ GIM_Try, /*On fail goto*//*Label 1626*/ GIMT_Encode4(70293), // Rule ID 261 //
25192 /* 70215 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25193 /* 70218 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25194 /* 70222 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25195 /* 70226 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
25196 /* 70230 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25197 /* 70234 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25198 /* 70238 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
25199 /* 70242 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25200 /* 70246 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25201 /* 70250 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25202 /* 70253 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25203 /* 70257 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25204 /* 70261 */ // MIs[0] src1
25205 /* 70261 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25206 /* 70266 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25207 /* 70268 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25208 /* 70275 */ // (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)
25209 /* 70275 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32m),
25210 /* 70278 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25211 /* 70282 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25212 /* 70285 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25213 /* 70291 */ GIR_RootConstrainSelectedInstOperands,
25214 /* 70292 */ // GIR_Coverage, 261,
25215 /* 70292 */ GIR_EraseRootFromParent_Done,
25216 /* 70293 */ // Label 1626: @70293
25217 /* 70293 */ GIM_Try, /*On fail goto*//*Label 1627*/ GIMT_Encode4(70373), // Rule ID 269 //
25218 /* 70298 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25219 /* 70301 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25220 /* 70305 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25221 /* 70309 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
25222 /* 70313 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25223 /* 70317 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25224 /* 70321 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25225 /* 70325 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25226 /* 70329 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25227 /* 70332 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25228 /* 70336 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25229 /* 70340 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
25230 /* 70344 */ // MIs[0] src1
25231 /* 70344 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25232 /* 70349 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25233 /* 70351 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25234 /* 70358 */ // (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)
25235 /* 70358 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT32m),
25236 /* 70361 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25237 /* 70365 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25238 /* 70371 */ GIR_RootConstrainSelectedInstOperands,
25239 /* 70372 */ // GIR_Coverage, 269,
25240 /* 70372 */ GIR_EraseRootFromParent_Done,
25241 /* 70373 */ // Label 1627: @70373
25242 /* 70373 */ GIM_Try, /*On fail goto*//*Label 1628*/ GIMT_Encode4(70468), // Rule ID 413 //
25243 /* 70378 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25244 /* 70381 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25245 /* 70385 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25246 /* 70389 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25247 /* 70393 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25248 /* 70397 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25249 /* 70401 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25250 /* 70405 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25251 /* 70409 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25252 /* 70412 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25253 /* 70416 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25254 /* 70420 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25255 /* 70424 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25256 /* 70428 */ // MIs[3] Operand 1
25257 /* 70428 */ // No operand predicates
25258 /* 70428 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
25259 /* 70432 */ // MIs[0] src1
25260 /* 70432 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25261 /* 70437 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25262 /* 70439 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25263 /* 70446 */ // (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)
25264 /* 70446 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mi),
25265 /* 70449 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25266 /* 70453 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25267 /* 70456 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25268 /* 70459 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25269 /* 70466 */ GIR_RootConstrainSelectedInstOperands,
25270 /* 70467 */ // GIR_Coverage, 413,
25271 /* 70467 */ GIR_EraseRootFromParent_Done,
25272 /* 70468 */ // Label 1628: @70468
25273 /* 70468 */ GIM_Try, /*On fail goto*//*Label 1629*/ GIMT_Encode4(70563), // Rule ID 305 //
25274 /* 70473 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25275 /* 70476 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25276 /* 70480 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25277 /* 70484 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
25278 /* 70488 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25279 /* 70492 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25280 /* 70496 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25281 /* 70500 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25282 /* 70504 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25283 /* 70507 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25284 /* 70511 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25285 /* 70515 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25286 /* 70519 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25287 /* 70523 */ // MIs[3] Operand 1
25288 /* 70523 */ // No operand predicates
25289 /* 70523 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
25290 /* 70527 */ // MIs[0] src1
25291 /* 70527 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25292 /* 70532 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25293 /* 70534 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25294 /* 70541 */ // (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)
25295 /* 70541 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mi),
25296 /* 70544 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25297 /* 70548 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25298 /* 70551 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25299 /* 70554 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25300 /* 70561 */ GIR_RootConstrainSelectedInstOperands,
25301 /* 70562 */ // GIR_Coverage, 305,
25302 /* 70562 */ GIR_EraseRootFromParent_Done,
25303 /* 70563 */ // Label 1629: @70563
25304 /* 70563 */ GIM_Try, /*On fail goto*//*Label 1630*/ GIMT_Encode4(70658), // Rule ID 341 //
25305 /* 70568 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25306 /* 70571 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25307 /* 70575 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25308 /* 70579 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
25309 /* 70583 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25310 /* 70587 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25311 /* 70591 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25312 /* 70595 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25313 /* 70599 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25314 /* 70602 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25315 /* 70606 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25316 /* 70610 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25317 /* 70614 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25318 /* 70618 */ // MIs[3] Operand 1
25319 /* 70618 */ // No operand predicates
25320 /* 70618 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
25321 /* 70622 */ // MIs[0] src1
25322 /* 70622 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25323 /* 70627 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25324 /* 70629 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25325 /* 70636 */ // (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)
25326 /* 70636 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mi),
25327 /* 70639 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25328 /* 70643 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25329 /* 70646 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25330 /* 70649 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25331 /* 70656 */ GIR_RootConstrainSelectedInstOperands,
25332 /* 70657 */ // GIR_Coverage, 341,
25333 /* 70657 */ GIR_EraseRootFromParent_Done,
25334 /* 70658 */ // Label 1630: @70658
25335 /* 70658 */ GIM_Try, /*On fail goto*//*Label 1631*/ GIMT_Encode4(70753), // Rule ID 453 //
25336 /* 70663 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25337 /* 70666 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25338 /* 70670 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25339 /* 70674 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
25340 /* 70678 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25341 /* 70682 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25342 /* 70686 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25343 /* 70690 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25344 /* 70694 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25345 /* 70697 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25346 /* 70701 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25347 /* 70705 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25348 /* 70709 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25349 /* 70713 */ // MIs[3] Operand 1
25350 /* 70713 */ // No operand predicates
25351 /* 70713 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
25352 /* 70717 */ // MIs[0] src1
25353 /* 70717 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25354 /* 70722 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25355 /* 70724 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25356 /* 70731 */ // (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)
25357 /* 70731 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mi),
25358 /* 70734 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25359 /* 70738 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25360 /* 70741 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25361 /* 70744 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25362 /* 70751 */ GIR_RootConstrainSelectedInstOperands,
25363 /* 70752 */ // GIR_Coverage, 453,
25364 /* 70752 */ GIR_EraseRootFromParent_Done,
25365 /* 70753 */ // Label 1631: @70753
25366 /* 70753 */ GIM_Try, /*On fail goto*//*Label 1632*/ GIMT_Encode4(70848), // Rule ID 377 //
25367 /* 70758 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25368 /* 70761 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25369 /* 70765 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25370 /* 70769 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
25371 /* 70773 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25372 /* 70777 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25373 /* 70781 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25374 /* 70785 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25375 /* 70789 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25376 /* 70792 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25377 /* 70796 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25378 /* 70800 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25379 /* 70804 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25380 /* 70808 */ // MIs[3] Operand 1
25381 /* 70808 */ // No operand predicates
25382 /* 70808 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
25383 /* 70812 */ // MIs[0] src1
25384 /* 70812 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25385 /* 70817 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25386 /* 70819 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25387 /* 70826 */ // (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)
25388 /* 70826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mi),
25389 /* 70829 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25390 /* 70833 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25391 /* 70836 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25392 /* 70839 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25393 /* 70846 */ GIR_RootConstrainSelectedInstOperands,
25394 /* 70847 */ // GIR_Coverage, 377,
25395 /* 70847 */ GIR_EraseRootFromParent_Done,
25396 /* 70848 */ // Label 1632: @70848
25397 /* 70848 */ GIM_Try, /*On fail goto*//*Label 1633*/ GIMT_Encode4(70949), // Rule ID 22490 //
25398 /* 70853 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25399 /* 70856 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25400 /* 70863 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25401 /* 70867 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25402 /* 70871 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25403 /* 70875 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25404 /* 70879 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25405 /* 70883 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25406 /* 70887 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25407 /* 70890 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25408 /* 70894 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25409 /* 70901 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25410 /* 70905 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25411 /* 70909 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25412 /* 70913 */ // MIs[3] Operand 1
25413 /* 70913 */ // No operand predicates
25414 /* 70913 */ // MIs[0] dst
25415 /* 70913 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25416 /* 70918 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25417 /* 70920 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25418 /* 70927 */ // (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)
25419 /* 70927 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mi),
25420 /* 70930 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25421 /* 70934 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
25422 /* 70937 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25423 /* 70940 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25424 /* 70947 */ GIR_RootConstrainSelectedInstOperands,
25425 /* 70948 */ // GIR_Coverage, 22490,
25426 /* 70948 */ GIR_EraseRootFromParent_Done,
25427 /* 70949 */ // Label 1633: @70949
25428 /* 70949 */ GIM_Try, /*On fail goto*//*Label 1634*/ GIMT_Encode4(71050), // Rule ID 22498 //
25429 /* 70954 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25430 /* 70957 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25431 /* 70964 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25432 /* 70968 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
25433 /* 70972 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25434 /* 70976 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25435 /* 70980 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25436 /* 70984 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25437 /* 70988 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25438 /* 70991 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25439 /* 70995 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25440 /* 71002 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25441 /* 71006 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25442 /* 71010 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25443 /* 71014 */ // MIs[3] Operand 1
25444 /* 71014 */ // No operand predicates
25445 /* 71014 */ // MIs[0] dst
25446 /* 71014 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25447 /* 71019 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25448 /* 71021 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25449 /* 71028 */ // (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)
25450 /* 71028 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mi),
25451 /* 71031 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25452 /* 71035 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
25453 /* 71038 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25454 /* 71041 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25455 /* 71048 */ GIR_RootConstrainSelectedInstOperands,
25456 /* 71049 */ // GIR_Coverage, 22498,
25457 /* 71049 */ GIR_EraseRootFromParent_Done,
25458 /* 71050 */ // Label 1634: @71050
25459 /* 71050 */ GIM_Try, /*On fail goto*//*Label 1635*/ GIMT_Encode4(71151), // Rule ID 22506 //
25460 /* 71055 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25461 /* 71058 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25462 /* 71065 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25463 /* 71069 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
25464 /* 71073 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25465 /* 71077 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25466 /* 71081 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25467 /* 71085 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25468 /* 71089 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25469 /* 71092 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25470 /* 71096 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25471 /* 71103 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25472 /* 71107 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25473 /* 71111 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25474 /* 71115 */ // MIs[3] Operand 1
25475 /* 71115 */ // No operand predicates
25476 /* 71115 */ // MIs[0] dst
25477 /* 71115 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25478 /* 71120 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25479 /* 71122 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25480 /* 71129 */ // (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)
25481 /* 71129 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mi),
25482 /* 71132 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25483 /* 71136 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
25484 /* 71139 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25485 /* 71142 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25486 /* 71149 */ GIR_RootConstrainSelectedInstOperands,
25487 /* 71150 */ // GIR_Coverage, 22506,
25488 /* 71150 */ GIR_EraseRootFromParent_Done,
25489 /* 71151 */ // Label 1635: @71151
25490 /* 71151 */ GIM_Try, /*On fail goto*//*Label 1636*/ GIMT_Encode4(71252), // Rule ID 22522 //
25491 /* 71156 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25492 /* 71159 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25493 /* 71166 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25494 /* 71170 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
25495 /* 71174 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25496 /* 71178 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25497 /* 71182 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25498 /* 71186 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25499 /* 71190 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25500 /* 71193 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25501 /* 71197 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25502 /* 71204 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25503 /* 71208 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25504 /* 71212 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25505 /* 71216 */ // MIs[3] Operand 1
25506 /* 71216 */ // No operand predicates
25507 /* 71216 */ // MIs[0] dst
25508 /* 71216 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25509 /* 71221 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25510 /* 71223 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25511 /* 71230 */ // (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)
25512 /* 71230 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mi),
25513 /* 71233 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25514 /* 71237 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
25515 /* 71240 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25516 /* 71243 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25517 /* 71250 */ GIR_RootConstrainSelectedInstOperands,
25518 /* 71251 */ // GIR_Coverage, 22522,
25519 /* 71251 */ GIR_EraseRootFromParent_Done,
25520 /* 71252 */ // Label 1636: @71252
25521 /* 71252 */ GIM_Try, /*On fail goto*//*Label 1637*/ GIMT_Encode4(71353), // Rule ID 22514 //
25522 /* 71257 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25523 /* 71260 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25524 /* 71267 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25525 /* 71271 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
25526 /* 71275 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25527 /* 71279 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25528 /* 71283 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25529 /* 71287 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25530 /* 71291 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25531 /* 71294 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25532 /* 71298 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25533 /* 71305 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25534 /* 71309 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25535 /* 71313 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25536 /* 71317 */ // MIs[3] Operand 1
25537 /* 71317 */ // No operand predicates
25538 /* 71317 */ // MIs[0] dst
25539 /* 71317 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25540 /* 71322 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25541 /* 71324 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25542 /* 71331 */ // (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)
25543 /* 71331 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mi),
25544 /* 71334 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25545 /* 71338 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
25546 /* 71341 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25547 /* 71344 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25548 /* 71351 */ GIR_RootConstrainSelectedInstOperands,
25549 /* 71352 */ // GIR_Coverage, 22514,
25550 /* 71352 */ GIR_EraseRootFromParent_Done,
25551 /* 71353 */ // Label 1637: @71353
25552 /* 71353 */ GIM_Try, /*On fail goto*//*Label 1638*/ GIMT_Encode4(71457), // Rule ID 834 //
25553 /* 71358 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25554 /* 71361 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25555 /* 71365 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25556 /* 71369 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHL),
25557 /* 71373 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25558 /* 71377 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25559 /* 71381 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
25560 /* 71385 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25561 /* 71389 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25562 /* 71393 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25563 /* 71396 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25564 /* 71400 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25565 /* 71404 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25566 /* 71409 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/3, // MIs[3]
25567 /* 71413 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25568 /* 71417 */ // MIs[3] Operand 1
25569 /* 71417 */ // No operand predicates
25570 /* 71417 */ // MIs[0] src1
25571 /* 71417 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25572 /* 71422 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25573 /* 71424 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25574 /* 71431 */ // (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)
25575 /* 71431 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32mri8),
25576 /* 71434 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25577 /* 71438 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
25578 /* 71442 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src3
25579 /* 71445 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25580 /* 71448 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25581 /* 71455 */ GIR_RootConstrainSelectedInstOperands,
25582 /* 71456 */ // GIR_Coverage, 834,
25583 /* 71456 */ GIR_EraseRootFromParent_Done,
25584 /* 71457 */ // Label 1638: @71457
25585 /* 71457 */ GIM_Try, /*On fail goto*//*Label 1639*/ GIMT_Encode4(71561), // Rule ID 858 //
25586 /* 71462 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25587 /* 71465 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25588 /* 71469 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25589 /* 71473 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHR),
25590 /* 71477 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25591 /* 71481 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25592 /* 71485 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
25593 /* 71489 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25594 /* 71494 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25595 /* 71498 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25596 /* 71502 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25597 /* 71505 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25598 /* 71509 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25599 /* 71513 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/3, // MIs[3]
25600 /* 71517 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25601 /* 71521 */ // MIs[3] Operand 1
25602 /* 71521 */ // No operand predicates
25603 /* 71521 */ // MIs[0] src1
25604 /* 71521 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25605 /* 71526 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25606 /* 71528 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25607 /* 71535 */ // (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)
25608 /* 71535 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32mri8),
25609 /* 71538 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25610 /* 71542 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
25611 /* 71546 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src3
25612 /* 71549 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25613 /* 71552 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25614 /* 71559 */ GIR_RootConstrainSelectedInstOperands,
25615 /* 71560 */ // GIR_Coverage, 858,
25616 /* 71560 */ GIR_EraseRootFromParent_Done,
25617 /* 71561 */ // Label 1639: @71561
25618 /* 71561 */ GIM_Try, /*On fail goto*//*Label 1640*/ GIMT_Encode4(71652), // Rule ID 735 //
25619 /* 71566 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25620 /* 71569 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25621 /* 71573 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25622 /* 71577 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
25623 /* 71581 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25624 /* 71585 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25625 /* 71589 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25626 /* 71593 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25627 /* 71597 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25628 /* 71600 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25629 /* 71604 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25630 /* 71608 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25631 /* 71612 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25632 /* 71616 */ // MIs[3] Operand 1
25633 /* 71616 */ // No operand predicates
25634 /* 71616 */ // MIs[0] src1
25635 /* 71616 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25636 /* 71621 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25637 /* 71623 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25638 /* 71630 */ // (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)
25639 /* 71630 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32mi),
25640 /* 71633 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25641 /* 71637 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25642 /* 71640 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25643 /* 71643 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25644 /* 71650 */ GIR_RootConstrainSelectedInstOperands,
25645 /* 71651 */ // GIR_Coverage, 735,
25646 /* 71651 */ GIR_EraseRootFromParent_Done,
25647 /* 71652 */ // Label 1640: @71652
25648 /* 71652 */ GIM_Try, /*On fail goto*//*Label 1641*/ GIMT_Encode4(71743), // Rule ID 703 //
25649 /* 71657 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25650 /* 71660 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25651 /* 71664 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25652 /* 71668 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
25653 /* 71672 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25654 /* 71676 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25655 /* 71680 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25656 /* 71684 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25657 /* 71688 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25658 /* 71691 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25659 /* 71695 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25660 /* 71699 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25661 /* 71703 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25662 /* 71707 */ // MIs[3] Operand 1
25663 /* 71707 */ // No operand predicates
25664 /* 71707 */ // MIs[0] src1
25665 /* 71707 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25666 /* 71712 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25667 /* 71714 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25668 /* 71721 */ // (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)
25669 /* 71721 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32mi),
25670 /* 71724 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25671 /* 71728 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25672 /* 71731 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25673 /* 71734 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25674 /* 71741 */ GIR_RootConstrainSelectedInstOperands,
25675 /* 71742 */ // GIR_Coverage, 703,
25676 /* 71742 */ GIR_EraseRootFromParent_Done,
25677 /* 71743 */ // Label 1641: @71743
25678 /* 71743 */ GIM_Try, /*On fail goto*//*Label 1642*/ GIMT_Encode4(71834), // Rule ID 767 //
25679 /* 71748 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25680 /* 71751 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25681 /* 71755 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25682 /* 71759 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
25683 /* 71763 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25684 /* 71767 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25685 /* 71771 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25686 /* 71775 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25687 /* 71779 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25688 /* 71782 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25689 /* 71786 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25690 /* 71790 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25691 /* 71794 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25692 /* 71798 */ // MIs[3] Operand 1
25693 /* 71798 */ // No operand predicates
25694 /* 71798 */ // MIs[0] src1
25695 /* 71798 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25696 /* 71803 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25697 /* 71805 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25698 /* 71812 */ // (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)
25699 /* 71812 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32mi),
25700 /* 71815 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25701 /* 71819 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25702 /* 71822 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25703 /* 71825 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25704 /* 71832 */ GIR_RootConstrainSelectedInstOperands,
25705 /* 71833 */ // GIR_Coverage, 767,
25706 /* 71833 */ GIR_EraseRootFromParent_Done,
25707 /* 71834 */ // Label 1642: @71834
25708 /* 71834 */ GIM_Try, /*On fail goto*//*Label 1643*/ GIMT_Encode4(71925), // Rule ID 799 //
25709 /* 71839 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25710 /* 71842 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25711 /* 71846 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25712 /* 71850 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
25713 /* 71854 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25714 /* 71858 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25715 /* 71862 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25716 /* 71866 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25717 /* 71870 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25718 /* 71873 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25719 /* 71877 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25720 /* 71881 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25721 /* 71885 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25722 /* 71889 */ // MIs[3] Operand 1
25723 /* 71889 */ // No operand predicates
25724 /* 71889 */ // MIs[0] src1
25725 /* 71889 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25726 /* 71894 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25727 /* 71896 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25728 /* 71903 */ // (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)
25729 /* 71903 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32mi),
25730 /* 71906 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25731 /* 71910 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25732 /* 71913 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25733 /* 71916 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25734 /* 71923 */ GIR_RootConstrainSelectedInstOperands,
25735 /* 71924 */ // GIR_Coverage, 799,
25736 /* 71924 */ GIR_EraseRootFromParent_Done,
25737 /* 71925 */ // Label 1643: @71925
25738 /* 71925 */ GIM_Try, /*On fail goto*//*Label 1644*/ GIMT_Encode4(72016), // Rule ID 671 //
25739 /* 71930 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25740 /* 71933 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25741 /* 71937 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25742 /* 71941 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
25743 /* 71945 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25744 /* 71949 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25745 /* 71953 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25746 /* 71957 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25747 /* 71961 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25748 /* 71964 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25749 /* 71968 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25750 /* 71972 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25751 /* 71976 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25752 /* 71980 */ // MIs[3] Operand 1
25753 /* 71980 */ // No operand predicates
25754 /* 71980 */ // MIs[0] src1
25755 /* 71980 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25756 /* 71985 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25757 /* 71987 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25758 /* 71994 */ // (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)
25759 /* 71994 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32mi),
25760 /* 71997 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25761 /* 72001 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25762 /* 72004 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25763 /* 72007 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25764 /* 72014 */ GIR_RootConstrainSelectedInstOperands,
25765 /* 72015 */ // GIR_Coverage, 671,
25766 /* 72015 */ GIR_EraseRootFromParent_Done,
25767 /* 72016 */ // Label 1644: @72016
25768 /* 72016 */ GIM_Try, /*On fail goto*//*Label 1645*/ GIMT_Encode4(72114), // Rule ID 22494 //
25769 /* 72021 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25770 /* 72024 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25771 /* 72031 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25772 /* 72035 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25773 /* 72039 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25774 /* 72043 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25775 /* 72047 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25776 /* 72051 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25777 /* 72055 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25778 /* 72058 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25779 /* 72062 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25780 /* 72069 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25781 /* 72073 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25782 /* 72078 */ // MIs[0] dst
25783 /* 72078 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25784 /* 72083 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25785 /* 72085 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25786 /* 72092 */ // (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)
25787 /* 72092 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mr),
25788 /* 72095 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25789 /* 72099 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
25790 /* 72103 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25791 /* 72106 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25792 /* 72112 */ GIR_RootConstrainSelectedInstOperands,
25793 /* 72113 */ // GIR_Coverage, 22494,
25794 /* 72113 */ GIR_EraseRootFromParent_Done,
25795 /* 72114 */ // Label 1645: @72114
25796 /* 72114 */ GIM_Try, /*On fail goto*//*Label 1646*/ GIMT_Encode4(72212), // Rule ID 26086 //
25797 /* 72119 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25798 /* 72122 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25799 /* 72129 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25800 /* 72133 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25801 /* 72137 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25802 /* 72141 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25803 /* 72145 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25804 /* 72150 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25805 /* 72154 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25806 /* 72158 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25807 /* 72161 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25808 /* 72165 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25809 /* 72172 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25810 /* 72176 */ // MIs[0] dst
25811 /* 72176 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25812 /* 72181 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25813 /* 72183 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25814 /* 72190 */ // (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)
25815 /* 72190 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mr),
25816 /* 72193 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25817 /* 72197 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
25818 /* 72201 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25819 /* 72204 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25820 /* 72210 */ GIR_RootConstrainSelectedInstOperands,
25821 /* 72211 */ // GIR_Coverage, 26086,
25822 /* 72211 */ GIR_EraseRootFromParent_Done,
25823 /* 72212 */ // Label 1646: @72212
25824 /* 72212 */ GIM_Try, /*On fail goto*//*Label 1647*/ GIMT_Encode4(72310), // Rule ID 22502 //
25825 /* 72217 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25826 /* 72220 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25827 /* 72227 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25828 /* 72231 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
25829 /* 72235 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25830 /* 72239 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25831 /* 72243 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25832 /* 72247 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25833 /* 72251 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25834 /* 72254 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25835 /* 72258 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25836 /* 72265 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25837 /* 72269 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25838 /* 72274 */ // MIs[0] dst
25839 /* 72274 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25840 /* 72279 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25841 /* 72281 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25842 /* 72288 */ // (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)
25843 /* 72288 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mr),
25844 /* 72291 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25845 /* 72295 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
25846 /* 72299 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25847 /* 72302 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25848 /* 72308 */ GIR_RootConstrainSelectedInstOperands,
25849 /* 72309 */ // GIR_Coverage, 22502,
25850 /* 72309 */ GIR_EraseRootFromParent_Done,
25851 /* 72310 */ // Label 1647: @72310
25852 /* 72310 */ GIM_Try, /*On fail goto*//*Label 1648*/ GIMT_Encode4(72408), // Rule ID 26090 //
25853 /* 72315 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25854 /* 72318 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25855 /* 72325 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25856 /* 72329 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
25857 /* 72333 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25858 /* 72337 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25859 /* 72341 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25860 /* 72346 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25861 /* 72350 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25862 /* 72354 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25863 /* 72357 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25864 /* 72361 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25865 /* 72368 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25866 /* 72372 */ // MIs[0] dst
25867 /* 72372 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25868 /* 72377 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25869 /* 72379 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25870 /* 72386 */ // (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)
25871 /* 72386 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mr),
25872 /* 72389 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25873 /* 72393 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
25874 /* 72397 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25875 /* 72400 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25876 /* 72406 */ GIR_RootConstrainSelectedInstOperands,
25877 /* 72407 */ // GIR_Coverage, 26090,
25878 /* 72407 */ GIR_EraseRootFromParent_Done,
25879 /* 72408 */ // Label 1648: @72408
25880 /* 72408 */ GIM_Try, /*On fail goto*//*Label 1649*/ GIMT_Encode4(72506), // Rule ID 22510 //
25881 /* 72413 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25882 /* 72416 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25883 /* 72423 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25884 /* 72427 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
25885 /* 72431 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25886 /* 72435 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25887 /* 72439 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25888 /* 72443 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25889 /* 72447 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25890 /* 72450 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25891 /* 72454 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25892 /* 72461 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25893 /* 72465 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25894 /* 72470 */ // MIs[0] dst
25895 /* 72470 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25896 /* 72475 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25897 /* 72477 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25898 /* 72484 */ // (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)
25899 /* 72484 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mr),
25900 /* 72487 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25901 /* 72491 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
25902 /* 72495 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25903 /* 72498 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25904 /* 72504 */ GIR_RootConstrainSelectedInstOperands,
25905 /* 72505 */ // GIR_Coverage, 22510,
25906 /* 72505 */ GIR_EraseRootFromParent_Done,
25907 /* 72506 */ // Label 1649: @72506
25908 /* 72506 */ GIM_Try, /*On fail goto*//*Label 1650*/ GIMT_Encode4(72604), // Rule ID 26094 //
25909 /* 72511 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25910 /* 72514 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25911 /* 72521 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25912 /* 72525 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
25913 /* 72529 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25914 /* 72533 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25915 /* 72537 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25916 /* 72542 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25917 /* 72546 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25918 /* 72550 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25919 /* 72553 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25920 /* 72557 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25921 /* 72564 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25922 /* 72568 */ // MIs[0] dst
25923 /* 72568 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25924 /* 72573 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25925 /* 72575 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25926 /* 72582 */ // (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)
25927 /* 72582 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mr),
25928 /* 72585 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25929 /* 72589 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
25930 /* 72593 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25931 /* 72596 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25932 /* 72602 */ GIR_RootConstrainSelectedInstOperands,
25933 /* 72603 */ // GIR_Coverage, 26094,
25934 /* 72603 */ GIR_EraseRootFromParent_Done,
25935 /* 72604 */ // Label 1650: @72604
25936 /* 72604 */ GIM_Try, /*On fail goto*//*Label 1651*/ GIMT_Encode4(72702), // Rule ID 22526 //
25937 /* 72609 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25938 /* 72612 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25939 /* 72619 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25940 /* 72623 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
25941 /* 72627 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25942 /* 72631 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25943 /* 72635 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25944 /* 72639 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25945 /* 72643 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25946 /* 72646 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25947 /* 72650 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25948 /* 72657 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25949 /* 72661 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25950 /* 72666 */ // MIs[0] dst
25951 /* 72666 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25952 /* 72671 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25953 /* 72673 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25954 /* 72680 */ // (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)
25955 /* 72680 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mr),
25956 /* 72683 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25957 /* 72687 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
25958 /* 72691 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25959 /* 72694 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25960 /* 72700 */ GIR_RootConstrainSelectedInstOperands,
25961 /* 72701 */ // GIR_Coverage, 22526,
25962 /* 72701 */ GIR_EraseRootFromParent_Done,
25963 /* 72702 */ // Label 1651: @72702
25964 /* 72702 */ GIM_Try, /*On fail goto*//*Label 1652*/ GIMT_Encode4(72800), // Rule ID 22518 //
25965 /* 72707 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25966 /* 72710 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25967 /* 72717 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25968 /* 72721 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
25969 /* 72725 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25970 /* 72729 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25971 /* 72733 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25972 /* 72737 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25973 /* 72741 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25974 /* 72744 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25975 /* 72748 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25976 /* 72755 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25977 /* 72759 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25978 /* 72764 */ // MIs[0] dst
25979 /* 72764 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25980 /* 72769 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25981 /* 72771 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25982 /* 72778 */ // (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)
25983 /* 72778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mr),
25984 /* 72781 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25985 /* 72785 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
25986 /* 72789 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25987 /* 72792 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25988 /* 72798 */ GIR_RootConstrainSelectedInstOperands,
25989 /* 72799 */ // GIR_Coverage, 22518,
25990 /* 72799 */ GIR_EraseRootFromParent_Done,
25991 /* 72800 */ // Label 1652: @72800
25992 /* 72800 */ GIM_Try, /*On fail goto*//*Label 1653*/ GIMT_Encode4(72898), // Rule ID 26098 //
25993 /* 72805 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25994 /* 72808 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25995 /* 72815 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25996 /* 72819 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
25997 /* 72823 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25998 /* 72827 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25999 /* 72831 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26000 /* 72836 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26001 /* 72840 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26002 /* 72844 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26003 /* 72847 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26004 /* 72851 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26005 /* 72858 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26006 /* 72862 */ // MIs[0] dst
26007 /* 72862 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26008 /* 72867 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26009 /* 72869 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26010 /* 72876 */ // (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)
26011 /* 72876 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mr),
26012 /* 72879 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26013 /* 72883 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
26014 /* 72887 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26015 /* 72890 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26016 /* 72896 */ GIR_RootConstrainSelectedInstOperands,
26017 /* 72897 */ // GIR_Coverage, 26098,
26018 /* 72897 */ GIR_EraseRootFromParent_Done,
26019 /* 72898 */ // Label 1653: @72898
26020 /* 72898 */ GIM_Try, /*On fail goto*//*Label 1654*/ GIMT_Encode4(73009), // Rule ID 837 //
26021 /* 72903 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26022 /* 72906 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26023 /* 72910 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26024 /* 72914 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHL),
26025 /* 72918 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26026 /* 72922 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26027 /* 72926 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
26028 /* 72930 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26029 /* 72934 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26030 /* 72938 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26031 /* 72941 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26032 /* 72945 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26033 /* 72949 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26034 /* 72954 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
26035 /* 72959 */ // MIs[0] src1
26036 /* 72959 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26037 /* 72964 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26038 /* 72966 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26039 /* 72973 */ // (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)
26040 /* 72973 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
26041 /* 72977 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
26042 /* 72983 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // CL
26043 /* 72987 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32mrCL),
26044 /* 72990 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26045 /* 72994 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
26046 /* 72998 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26047 /* 73001 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26048 /* 73007 */ GIR_RootConstrainSelectedInstOperands,
26049 /* 73008 */ // GIR_Coverage, 837,
26050 /* 73008 */ GIR_EraseRootFromParent_Done,
26051 /* 73009 */ // Label 1654: @73009
26052 /* 73009 */ GIM_Try, /*On fail goto*//*Label 1655*/ GIMT_Encode4(73120), // Rule ID 861 //
26053 /* 73014 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26054 /* 73017 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26055 /* 73021 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26056 /* 73025 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHR),
26057 /* 73029 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26058 /* 73033 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26059 /* 73037 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
26060 /* 73041 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26061 /* 73046 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26062 /* 73050 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26063 /* 73054 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26064 /* 73057 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26065 /* 73061 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26066 /* 73065 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
26067 /* 73070 */ // MIs[0] src1
26068 /* 73070 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26069 /* 73075 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26070 /* 73077 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26071 /* 73084 */ // (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)
26072 /* 73084 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
26073 /* 73088 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
26074 /* 73094 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // CL
26075 /* 73098 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32mrCL),
26076 /* 73101 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26077 /* 73105 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
26078 /* 73109 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26079 /* 73112 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26080 /* 73118 */ GIR_RootConstrainSelectedInstOperands,
26081 /* 73119 */ // GIR_Coverage, 861,
26082 /* 73119 */ GIR_EraseRootFromParent_Done,
26083 /* 73120 */ // Label 1655: @73120
26084 /* 73120 */ GIM_Try, /*On fail goto*//*Label 1656*/ GIMT_Encode4(73208), // Rule ID 409 //
26085 /* 73125 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26086 /* 73128 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26087 /* 73132 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26088 /* 73136 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26089 /* 73140 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26090 /* 73144 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26091 /* 73148 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26092 /* 73152 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26093 /* 73156 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26094 /* 73159 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26095 /* 73163 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26096 /* 73167 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26097 /* 73172 */ // MIs[0] src1
26098 /* 73172 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26099 /* 73177 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26100 /* 73179 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26101 /* 73186 */ // (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)
26102 /* 73186 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mr),
26103 /* 73189 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26104 /* 73193 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
26105 /* 73197 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26106 /* 73200 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26107 /* 73206 */ GIR_RootConstrainSelectedInstOperands,
26108 /* 73207 */ // GIR_Coverage, 409,
26109 /* 73207 */ GIR_EraseRootFromParent_Done,
26110 /* 73208 */ // Label 1656: @73208
26111 /* 73208 */ GIM_Try, /*On fail goto*//*Label 1657*/ GIMT_Encode4(73296), // Rule ID 23306 //
26112 /* 73213 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26113 /* 73216 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26114 /* 73220 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26115 /* 73224 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26116 /* 73228 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26117 /* 73232 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26118 /* 73236 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26119 /* 73241 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26120 /* 73245 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26121 /* 73249 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26122 /* 73252 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26123 /* 73256 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26124 /* 73260 */ // MIs[0] src1
26125 /* 73260 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26126 /* 73265 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26127 /* 73267 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26128 /* 73274 */ // (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)
26129 /* 73274 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mr),
26130 /* 73277 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26131 /* 73281 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
26132 /* 73285 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26133 /* 73288 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26134 /* 73294 */ GIR_RootConstrainSelectedInstOperands,
26135 /* 73295 */ // GIR_Coverage, 23306,
26136 /* 73295 */ GIR_EraseRootFromParent_Done,
26137 /* 73296 */ // Label 1657: @73296
26138 /* 73296 */ GIM_Try, /*On fail goto*//*Label 1658*/ GIMT_Encode4(73384), // Rule ID 301 //
26139 /* 73301 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26140 /* 73304 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26141 /* 73308 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26142 /* 73312 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
26143 /* 73316 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26144 /* 73320 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26145 /* 73324 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26146 /* 73328 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26147 /* 73332 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26148 /* 73335 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26149 /* 73339 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26150 /* 73343 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26151 /* 73348 */ // MIs[0] src1
26152 /* 73348 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26153 /* 73353 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26154 /* 73355 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26155 /* 73362 */ // (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)
26156 /* 73362 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mr),
26157 /* 73365 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26158 /* 73369 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
26159 /* 73373 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26160 /* 73376 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26161 /* 73382 */ GIR_RootConstrainSelectedInstOperands,
26162 /* 73383 */ // GIR_Coverage, 301,
26163 /* 73383 */ GIR_EraseRootFromParent_Done,
26164 /* 73384 */ // Label 1658: @73384
26165 /* 73384 */ GIM_Try, /*On fail goto*//*Label 1659*/ GIMT_Encode4(73472), // Rule ID 23270 //
26166 /* 73389 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26167 /* 73392 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26168 /* 73396 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26169 /* 73400 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
26170 /* 73404 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26171 /* 73408 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26172 /* 73412 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26173 /* 73417 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26174 /* 73421 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26175 /* 73425 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26176 /* 73428 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26177 /* 73432 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26178 /* 73436 */ // MIs[0] src1
26179 /* 73436 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26180 /* 73441 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26181 /* 73443 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26182 /* 73450 */ // (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)
26183 /* 73450 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mr),
26184 /* 73453 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26185 /* 73457 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
26186 /* 73461 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26187 /* 73464 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26188 /* 73470 */ GIR_RootConstrainSelectedInstOperands,
26189 /* 73471 */ // GIR_Coverage, 23270,
26190 /* 73471 */ GIR_EraseRootFromParent_Done,
26191 /* 73472 */ // Label 1659: @73472
26192 /* 73472 */ GIM_Try, /*On fail goto*//*Label 1660*/ GIMT_Encode4(73570), // Rule ID 751 //
26193 /* 73477 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26194 /* 73480 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26195 /* 73484 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26196 /* 73488 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
26197 /* 73492 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26198 /* 73496 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26199 /* 73500 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26200 /* 73504 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26201 /* 73508 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26202 /* 73511 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26203 /* 73515 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26204 /* 73519 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
26205 /* 73524 */ // MIs[0] src1
26206 /* 73524 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26207 /* 73529 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26208 /* 73531 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26209 /* 73538 */ // (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)
26210 /* 73538 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
26211 /* 73542 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
26212 /* 73548 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
26213 /* 73552 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32mCL),
26214 /* 73555 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26215 /* 73559 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26216 /* 73562 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26217 /* 73568 */ GIR_RootConstrainSelectedInstOperands,
26218 /* 73569 */ // GIR_Coverage, 751,
26219 /* 73569 */ GIR_EraseRootFromParent_Done,
26220 /* 73570 */ // Label 1660: @73570
26221 /* 73570 */ GIM_Try, /*On fail goto*//*Label 1661*/ GIMT_Encode4(73668), // Rule ID 719 //
26222 /* 73575 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26223 /* 73578 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26224 /* 73582 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26225 /* 73586 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
26226 /* 73590 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26227 /* 73594 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26228 /* 73598 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26229 /* 73602 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26230 /* 73606 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26231 /* 73609 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26232 /* 73613 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26233 /* 73617 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
26234 /* 73622 */ // MIs[0] src1
26235 /* 73622 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26236 /* 73627 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26237 /* 73629 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26238 /* 73636 */ // (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)
26239 /* 73636 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
26240 /* 73640 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
26241 /* 73646 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
26242 /* 73650 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32mCL),
26243 /* 73653 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26244 /* 73657 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26245 /* 73660 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26246 /* 73666 */ GIR_RootConstrainSelectedInstOperands,
26247 /* 73667 */ // GIR_Coverage, 719,
26248 /* 73667 */ GIR_EraseRootFromParent_Done,
26249 /* 73668 */ // Label 1661: @73668
26250 /* 73668 */ GIM_Try, /*On fail goto*//*Label 1662*/ GIMT_Encode4(73756), // Rule ID 337 //
26251 /* 73673 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26252 /* 73676 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26253 /* 73680 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26254 /* 73684 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
26255 /* 73688 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26256 /* 73692 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26257 /* 73696 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26258 /* 73700 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26259 /* 73704 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26260 /* 73707 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26261 /* 73711 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26262 /* 73715 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26263 /* 73720 */ // MIs[0] src1
26264 /* 73720 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26265 /* 73725 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26266 /* 73727 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26267 /* 73734 */ // (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)
26268 /* 73734 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mr),
26269 /* 73737 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26270 /* 73741 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
26271 /* 73745 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26272 /* 73748 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26273 /* 73754 */ GIR_RootConstrainSelectedInstOperands,
26274 /* 73755 */ // GIR_Coverage, 337,
26275 /* 73755 */ GIR_EraseRootFromParent_Done,
26276 /* 73756 */ // Label 1662: @73756
26277 /* 73756 */ GIM_Try, /*On fail goto*//*Label 1663*/ GIMT_Encode4(73844), // Rule ID 23282 //
26278 /* 73761 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26279 /* 73764 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26280 /* 73768 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26281 /* 73772 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
26282 /* 73776 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26283 /* 73780 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26284 /* 73784 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26285 /* 73789 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26286 /* 73793 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26287 /* 73797 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26288 /* 73800 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26289 /* 73804 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26290 /* 73808 */ // MIs[0] src1
26291 /* 73808 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26292 /* 73813 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26293 /* 73815 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26294 /* 73822 */ // (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)
26295 /* 73822 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mr),
26296 /* 73825 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26297 /* 73829 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
26298 /* 73833 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26299 /* 73836 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26300 /* 73842 */ GIR_RootConstrainSelectedInstOperands,
26301 /* 73843 */ // GIR_Coverage, 23282,
26302 /* 73843 */ GIR_EraseRootFromParent_Done,
26303 /* 73844 */ // Label 1663: @73844
26304 /* 73844 */ GIM_Try, /*On fail goto*//*Label 1664*/ GIMT_Encode4(73942), // Rule ID 783 //
26305 /* 73849 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26306 /* 73852 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26307 /* 73856 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26308 /* 73860 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
26309 /* 73864 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26310 /* 73868 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26311 /* 73872 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26312 /* 73876 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26313 /* 73880 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26314 /* 73883 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26315 /* 73887 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26316 /* 73891 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
26317 /* 73896 */ // MIs[0] src1
26318 /* 73896 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26319 /* 73901 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26320 /* 73903 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26321 /* 73910 */ // (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)
26322 /* 73910 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
26323 /* 73914 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
26324 /* 73920 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
26325 /* 73924 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32mCL),
26326 /* 73927 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26327 /* 73931 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26328 /* 73934 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26329 /* 73940 */ GIR_RootConstrainSelectedInstOperands,
26330 /* 73941 */ // GIR_Coverage, 783,
26331 /* 73941 */ GIR_EraseRootFromParent_Done,
26332 /* 73942 */ // Label 1664: @73942
26333 /* 73942 */ GIM_Try, /*On fail goto*//*Label 1665*/ GIMT_Encode4(74040), // Rule ID 815 //
26334 /* 73947 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26335 /* 73950 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26336 /* 73954 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26337 /* 73958 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
26338 /* 73962 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26339 /* 73966 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26340 /* 73970 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26341 /* 73974 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26342 /* 73978 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26343 /* 73981 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26344 /* 73985 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26345 /* 73989 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
26346 /* 73994 */ // MIs[0] src1
26347 /* 73994 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26348 /* 73999 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26349 /* 74001 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26350 /* 74008 */ // (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)
26351 /* 74008 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
26352 /* 74012 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
26353 /* 74018 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
26354 /* 74022 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32mCL),
26355 /* 74025 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26356 /* 74029 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26357 /* 74032 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26358 /* 74038 */ GIR_RootConstrainSelectedInstOperands,
26359 /* 74039 */ // GIR_Coverage, 815,
26360 /* 74039 */ GIR_EraseRootFromParent_Done,
26361 /* 74040 */ // Label 1665: @74040
26362 /* 74040 */ GIM_Try, /*On fail goto*//*Label 1666*/ GIMT_Encode4(74138), // Rule ID 687 //
26363 /* 74045 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26364 /* 74048 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26365 /* 74052 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26366 /* 74056 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
26367 /* 74060 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26368 /* 74064 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26369 /* 74068 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26370 /* 74072 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26371 /* 74076 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26372 /* 74079 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26373 /* 74083 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26374 /* 74087 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
26375 /* 74092 */ // MIs[0] src1
26376 /* 74092 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26377 /* 74097 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26378 /* 74099 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26379 /* 74106 */ // (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)
26380 /* 74106 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
26381 /* 74110 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
26382 /* 74116 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
26383 /* 74120 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32mCL),
26384 /* 74123 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26385 /* 74127 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26386 /* 74130 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26387 /* 74136 */ GIR_RootConstrainSelectedInstOperands,
26388 /* 74137 */ // GIR_Coverage, 687,
26389 /* 74137 */ GIR_EraseRootFromParent_Done,
26390 /* 74138 */ // Label 1666: @74138
26391 /* 74138 */ GIM_Try, /*On fail goto*//*Label 1667*/ GIMT_Encode4(74226), // Rule ID 445 //
26392 /* 74143 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26393 /* 74146 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26394 /* 74150 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26395 /* 74154 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
26396 /* 74158 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26397 /* 74162 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26398 /* 74166 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26399 /* 74170 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26400 /* 74174 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26401 /* 74177 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26402 /* 74181 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26403 /* 74185 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26404 /* 74190 */ // MIs[0] src1
26405 /* 74190 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26406 /* 74195 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26407 /* 74197 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26408 /* 74204 */ // (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)
26409 /* 74204 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mr),
26410 /* 74207 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26411 /* 74211 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
26412 /* 74215 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26413 /* 74218 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26414 /* 74224 */ GIR_RootConstrainSelectedInstOperands,
26415 /* 74225 */ // GIR_Coverage, 445,
26416 /* 74225 */ GIR_EraseRootFromParent_Done,
26417 /* 74226 */ // Label 1667: @74226
26418 /* 74226 */ GIM_Try, /*On fail goto*//*Label 1668*/ GIMT_Encode4(74314), // Rule ID 373 //
26419 /* 74231 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26420 /* 74234 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26421 /* 74238 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26422 /* 74242 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
26423 /* 74246 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26424 /* 74250 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26425 /* 74254 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26426 /* 74258 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26427 /* 74262 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26428 /* 74265 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26429 /* 74269 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26430 /* 74273 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26431 /* 74278 */ // MIs[0] src1
26432 /* 74278 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26433 /* 74283 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26434 /* 74285 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26435 /* 74292 */ // (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)
26436 /* 74292 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mr),
26437 /* 74295 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26438 /* 74299 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
26439 /* 74303 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26440 /* 74306 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26441 /* 74312 */ GIR_RootConstrainSelectedInstOperands,
26442 /* 74313 */ // GIR_Coverage, 373,
26443 /* 74313 */ GIR_EraseRootFromParent_Done,
26444 /* 74314 */ // Label 1668: @74314
26445 /* 74314 */ GIM_Try, /*On fail goto*//*Label 1669*/ GIMT_Encode4(74402), // Rule ID 23294 //
26446 /* 74319 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26447 /* 74322 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26448 /* 74326 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26449 /* 74330 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
26450 /* 74334 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26451 /* 74338 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26452 /* 74342 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26453 /* 74347 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26454 /* 74351 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26455 /* 74355 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26456 /* 74358 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26457 /* 74362 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26458 /* 74366 */ // MIs[0] src1
26459 /* 74366 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26460 /* 74371 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26461 /* 74373 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26462 /* 74380 */ // (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)
26463 /* 74380 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mr),
26464 /* 74383 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26465 /* 74387 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
26466 /* 74391 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26467 /* 74394 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26468 /* 74400 */ GIR_RootConstrainSelectedInstOperands,
26469 /* 74401 */ // GIR_Coverage, 23294,
26470 /* 74401 */ GIR_EraseRootFromParent_Done,
26471 /* 74402 */ // Label 1669: @74402
26472 /* 74402 */ GIM_Try, /*On fail goto*//*Label 1670*/ GIMT_Encode4(74456), // Rule ID 26 //
26473 /* 74407 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26474 /* 74410 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26475 /* 74414 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26476 /* 74418 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26477 /* 74422 */ // MIs[1] Operand 1
26478 /* 74422 */ // No operand predicates
26479 /* 74422 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
26480 /* 74426 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26481 /* 74430 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
26482 /* 74432 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26483 /* 74439 */ // (st (imm:{ *:[i32] })<<P:Predicate_imm_su>>:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV32mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i32] }):$src)
26484 /* 74439 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32mi),
26485 /* 74442 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26486 /* 74446 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
26487 /* 74449 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
26488 /* 74454 */ GIR_RootConstrainSelectedInstOperands,
26489 /* 74455 */ // GIR_Coverage, 26,
26490 /* 74455 */ GIR_EraseRootFromParent_Done,
26491 /* 74456 */ // Label 1670: @74456
26492 /* 74456 */ GIM_Try, /*On fail goto*//*Label 1671*/ GIMT_Encode4(74522), // Rule ID 22586 //
26493 /* 74461 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
26494 /* 74464 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26495 /* 74467 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26496 /* 74474 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26497 /* 74478 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
26498 /* 74482 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26499 /* 74486 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
26500 /* 74491 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26501 /* 74495 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
26502 /* 74497 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26503 /* 74504 */ // (atomic_store (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (MOVSSmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
26504 /* 74504 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSSmr),
26505 /* 74507 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26506 /* 74511 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
26507 /* 74515 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
26508 /* 74520 */ GIR_RootConstrainSelectedInstOperands,
26509 /* 74521 */ // GIR_Coverage, 22586,
26510 /* 74521 */ GIR_EraseRootFromParent_Done,
26511 /* 74522 */ // Label 1671: @74522
26512 /* 74522 */ GIM_Try, /*On fail goto*//*Label 1672*/ GIMT_Encode4(74588), // Rule ID 22587 //
26513 /* 74527 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
26514 /* 74530 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26515 /* 74533 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26516 /* 74540 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26517 /* 74544 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
26518 /* 74548 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26519 /* 74552 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
26520 /* 74557 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26521 /* 74561 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
26522 /* 74563 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26523 /* 74570 */ // (atomic_store (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (VMOVSSmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
26524 /* 74570 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSmr),
26525 /* 74573 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26526 /* 74577 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
26527 /* 74581 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
26528 /* 74586 */ GIR_RootConstrainSelectedInstOperands,
26529 /* 74587 */ // GIR_Coverage, 22587,
26530 /* 74587 */ GIR_EraseRootFromParent_Done,
26531 /* 74588 */ // Label 1672: @74588
26532 /* 74588 */ GIM_Try, /*On fail goto*//*Label 1673*/ GIMT_Encode4(74654), // Rule ID 22588 //
26533 /* 74593 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
26534 /* 74596 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26535 /* 74599 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26536 /* 74606 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26537 /* 74610 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
26538 /* 74614 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26539 /* 74618 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
26540 /* 74623 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26541 /* 74627 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
26542 /* 74629 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26543 /* 74636 */ // (atomic_store (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (VMOVSSZmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
26544 /* 74636 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSZmr),
26545 /* 74639 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26546 /* 74643 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
26547 /* 74647 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
26548 /* 74652 */ GIR_RootConstrainSelectedInstOperands,
26549 /* 74653 */ // GIR_Coverage, 22588,
26550 /* 74653 */ GIR_EraseRootFromParent_Done,
26551 /* 74654 */ // Label 1673: @74654
26552 /* 74654 */ GIM_Try, /*On fail goto*//*Label 1674*/ GIMT_Encode4(74707), // Rule ID 22570 //
26553 /* 74659 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26554 /* 74662 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26555 /* 74669 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26556 /* 74673 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26557 /* 74677 */ // MIs[1] Operand 1
26558 /* 74677 */ // No operand predicates
26559 /* 74677 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26560 /* 74681 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
26561 /* 74683 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26562 /* 74690 */ // (atomic_store (imm:{ *:[i32] }):$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (MOV32mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i32] }):$src)
26563 /* 74690 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32mi),
26564 /* 74693 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26565 /* 74697 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
26566 /* 74700 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
26567 /* 74705 */ GIR_RootConstrainSelectedInstOperands,
26568 /* 74706 */ // GIR_Coverage, 22570,
26569 /* 74706 */ GIR_EraseRootFromParent_Done,
26570 /* 74707 */ // Label 1674: @74707
26571 /* 74707 */ GIM_Try, /*On fail goto*//*Label 1675*/ GIMT_Encode4(74770), // Rule ID 52 //
26572 /* 74712 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR),
26573 /* 74715 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26574 /* 74718 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26575 /* 74722 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26576 /* 74726 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
26577 /* 74730 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26578 /* 74734 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26579 /* 74739 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26580 /* 74743 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
26581 /* 74745 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26582 /* 74752 */ // (st (bswap:{ *:[i32] } GR32:{ *:[i32] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE32mr addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src1)
26583 /* 74752 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE32mr),
26584 /* 74755 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26585 /* 74759 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
26586 /* 74763 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
26587 /* 74768 */ GIR_RootConstrainSelectedInstOperands,
26588 /* 74769 */ // GIR_Coverage, 52,
26589 /* 74769 */ GIR_EraseRootFromParent_Done,
26590 /* 74770 */ // Label 1675: @74770
26591 /* 74770 */ GIM_Try, /*On fail goto*//*Label 1676*/ GIMT_Encode4(74833), // Rule ID 58 //
26592 /* 74775 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode),
26593 /* 74778 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26594 /* 74781 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26595 /* 74785 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26596 /* 74789 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
26597 /* 74793 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26598 /* 74797 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26599 /* 74802 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26600 /* 74806 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
26601 /* 74808 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26602 /* 74815 */ // (st (bswap:{ *:[i32] } GR32:{ *:[i32] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE32mr_EVEX addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src1)
26603 /* 74815 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE32mr_EVEX),
26604 /* 74818 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26605 /* 74822 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
26606 /* 74826 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
26607 /* 74831 */ GIR_RootConstrainSelectedInstOperands,
26608 /* 74832 */ // GIR_Coverage, 58,
26609 /* 74832 */ GIR_EraseRootFromParent_Done,
26610 /* 74833 */ // Label 1676: @74833
26611 /* 74833 */ GIM_Try, /*On fail goto*//*Label 1677*/ GIMT_Encode4(74878), // Rule ID 22574 //
26612 /* 74838 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26613 /* 74841 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26614 /* 74848 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26615 /* 74852 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26616 /* 74856 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26617 /* 74863 */ // (atomic_store GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (MOV32mr addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
26618 /* 74863 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32mr),
26619 /* 74866 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26620 /* 74870 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
26621 /* 74872 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
26622 /* 74876 */ GIR_RootConstrainSelectedInstOperands,
26623 /* 74877 */ // GIR_Coverage, 22574,
26624 /* 74877 */ GIR_EraseRootFromParent_Done,
26625 /* 74878 */ // Label 1677: @74878
26626 /* 74878 */ GIM_Try, /*On fail goto*//*Label 1678*/ GIMT_Encode4(74920), // Rule ID 34 //
26627 /* 74883 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26628 /* 74886 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26629 /* 74890 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26630 /* 74894 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26631 /* 74898 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26632 /* 74905 */ // (st GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV32mr addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
26633 /* 74905 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32mr),
26634 /* 74908 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26635 /* 74912 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
26636 /* 74914 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
26637 /* 74918 */ GIR_RootConstrainSelectedInstOperands,
26638 /* 74919 */ // GIR_Coverage, 34,
26639 /* 74919 */ GIR_EraseRootFromParent_Done,
26640 /* 74920 */ // Label 1678: @74920
26641 /* 74920 */ GIM_Try, /*On fail goto*//*Label 1679*/ GIMT_Encode4(74968), // Rule ID 1095 //
26642 /* 74925 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
26643 /* 74928 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26644 /* 74931 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26645 /* 74935 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
26646 /* 74939 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26647 /* 74943 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26648 /* 74950 */ // (st RFP32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ST_Fp32m:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP32:{ *:[f32] }:$src)
26649 /* 74950 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp32m),
26650 /* 74953 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
26651 /* 74957 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
26652 /* 74959 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
26653 /* 74962 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
26654 /* 74966 */ GIR_RootConstrainSelectedInstOperands,
26655 /* 74967 */ // GIR_Coverage, 1095,
26656 /* 74967 */ GIR_EraseRootFromParent_Done,
26657 /* 74968 */ // Label 1679: @74968
26658 /* 74968 */ GIM_Try, /*On fail goto*//*Label 1680*/ GIMT_Encode4(75013), // Rule ID 1688 //
26659 /* 74973 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
26660 /* 74976 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26661 /* 74979 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26662 /* 74983 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
26663 /* 74987 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26664 /* 74991 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26665 /* 74998 */ // (st FR32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSSmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
26666 /* 74998 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSmr),
26667 /* 75001 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26668 /* 75005 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
26669 /* 75007 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
26670 /* 75011 */ GIR_RootConstrainSelectedInstOperands,
26671 /* 75012 */ // GIR_Coverage, 1688,
26672 /* 75012 */ GIR_EraseRootFromParent_Done,
26673 /* 75013 */ // Label 1680: @75013
26674 /* 75013 */ GIM_Try, /*On fail goto*//*Label 1681*/ GIMT_Encode4(75058), // Rule ID 1690 //
26675 /* 75018 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
26676 /* 75021 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26677 /* 75024 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26678 /* 75028 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
26679 /* 75032 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26680 /* 75036 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26681 /* 75043 */ // (st FR32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVSSmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
26682 /* 75043 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSSmr),
26683 /* 75046 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26684 /* 75050 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
26685 /* 75052 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
26686 /* 75056 */ GIR_RootConstrainSelectedInstOperands,
26687 /* 75057 */ // GIR_Coverage, 1690,
26688 /* 75057 */ GIR_EraseRootFromParent_Done,
26689 /* 75058 */ // Label 1681: @75058
26690 /* 75058 */ GIM_Try, /*On fail goto*//*Label 1682*/ GIMT_Encode4(75103), // Rule ID 4614 //
26691 /* 75063 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
26692 /* 75066 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26693 /* 75069 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26694 /* 75073 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
26695 /* 75077 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26696 /* 75081 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26697 /* 75088 */ // (st FR32X:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSSZmr addr:{ *:[iPTR] }:$dst, FR32X:{ *:[f32] }:$src)
26698 /* 75088 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSZmr),
26699 /* 75091 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26700 /* 75095 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
26701 /* 75097 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
26702 /* 75101 */ GIR_RootConstrainSelectedInstOperands,
26703 /* 75102 */ // GIR_Coverage, 4614,
26704 /* 75102 */ GIR_EraseRootFromParent_Done,
26705 /* 75103 */ // Label 1682: @75103
26706 /* 75103 */ GIM_Reject,
26707 /* 75104 */ // Label 1485: @75104
26708 /* 75104 */ GIM_Try, /*On fail goto*//*Label 1683*/ GIMT_Encode4(75200), // Rule ID 22555 //
26709 /* 75109 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
26710 /* 75112 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26711 /* 75115 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26712 /* 75122 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26713 /* 75126 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26714 /* 75130 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26715 /* 75134 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26716 /* 75138 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26717 /* 75142 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26718 /* 75146 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26719 /* 75149 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26720 /* 75153 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26721 /* 75160 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26722 /* 75164 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
26723 /* 75168 */ // MIs[0] dst
26724 /* 75168 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26725 /* 75173 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26726 /* 75175 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26727 /* 75182 */ // (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)
26728 /* 75182 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64m),
26729 /* 75185 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26730 /* 75189 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26731 /* 75192 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26732 /* 75198 */ GIR_RootConstrainSelectedInstOperands,
26733 /* 75199 */ // GIR_Coverage, 22555,
26734 /* 75199 */ GIR_EraseRootFromParent_Done,
26735 /* 75200 */ // Label 1683: @75200
26736 /* 75200 */ GIM_Try, /*On fail goto*//*Label 1684*/ GIMT_Encode4(75296), // Rule ID 22559 //
26737 /* 75205 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
26738 /* 75208 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26739 /* 75211 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26740 /* 75218 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26741 /* 75222 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26742 /* 75226 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26743 /* 75230 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26744 /* 75234 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26745 /* 75238 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26746 /* 75242 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26747 /* 75245 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26748 /* 75249 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26749 /* 75256 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26750 /* 75260 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
26751 /* 75264 */ // MIs[0] dst
26752 /* 75264 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26753 /* 75269 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26754 /* 75271 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26755 /* 75278 */ // (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)
26756 /* 75278 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC64m),
26757 /* 75281 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26758 /* 75285 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26759 /* 75288 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26760 /* 75294 */ GIR_RootConstrainSelectedInstOperands,
26761 /* 75295 */ // GIR_Coverage, 22559,
26762 /* 75295 */ GIR_EraseRootFromParent_Done,
26763 /* 75296 */ // Label 1684: @75296
26764 /* 75296 */ GIM_Try, /*On fail goto*//*Label 1685*/ GIMT_Encode4(75389), // Rule ID 22563 //
26765 /* 75301 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26766 /* 75304 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26767 /* 75311 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26768 /* 75315 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
26769 /* 75319 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26770 /* 75323 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26771 /* 75327 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
26772 /* 75331 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26773 /* 75335 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26774 /* 75339 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26775 /* 75342 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26776 /* 75346 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26777 /* 75353 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26778 /* 75357 */ // MIs[0] dst
26779 /* 75357 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26780 /* 75362 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26781 /* 75364 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26782 /* 75371 */ // (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)
26783 /* 75371 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64m),
26784 /* 75374 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26785 /* 75378 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26786 /* 75381 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26787 /* 75387 */ GIR_RootConstrainSelectedInstOperands,
26788 /* 75388 */ // GIR_Coverage, 22563,
26789 /* 75388 */ GIR_EraseRootFromParent_Done,
26790 /* 75389 */ // Label 1685: @75389
26791 /* 75389 */ GIM_Try, /*On fail goto*//*Label 1686*/ GIMT_Encode4(75479), // Rule ID 22567 //
26792 /* 75394 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26793 /* 75397 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26794 /* 75404 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26795 /* 75408 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
26796 /* 75412 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26797 /* 75416 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26798 /* 75420 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26799 /* 75424 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26800 /* 75428 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26801 /* 75431 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26802 /* 75435 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26803 /* 75442 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26804 /* 75446 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
26805 /* 75450 */ // MIs[0] dst
26806 /* 75450 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26807 /* 75455 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26808 /* 75457 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26809 /* 75464 */ // (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)
26810 /* 75464 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT64m),
26811 /* 75467 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26812 /* 75471 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26813 /* 75477 */ GIR_RootConstrainSelectedInstOperands,
26814 /* 75478 */ // GIR_Coverage, 22567,
26815 /* 75478 */ GIR_EraseRootFromParent_Done,
26816 /* 75479 */ // Label 1686: @75479
26817 /* 75479 */ GIM_Try, /*On fail goto*//*Label 1687*/ GIMT_Encode4(75565), // Rule ID 229 //
26818 /* 75484 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode_UseIncDec),
26819 /* 75487 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26820 /* 75490 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26821 /* 75494 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26822 /* 75498 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26823 /* 75502 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26824 /* 75506 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26825 /* 75510 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26826 /* 75514 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26827 /* 75518 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26828 /* 75521 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26829 /* 75525 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26830 /* 75529 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
26831 /* 75533 */ // MIs[0] src1
26832 /* 75533 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26833 /* 75538 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26834 /* 75540 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26835 /* 75547 */ // (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)
26836 /* 75547 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64m),
26837 /* 75550 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26838 /* 75554 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26839 /* 75557 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26840 /* 75563 */ GIR_RootConstrainSelectedInstOperands,
26841 /* 75564 */ // GIR_Coverage, 229,
26842 /* 75564 */ GIR_EraseRootFromParent_Done,
26843 /* 75565 */ // Label 1687: @75565
26844 /* 75565 */ GIM_Try, /*On fail goto*//*Label 1688*/ GIMT_Encode4(75651), // Rule ID 230 //
26845 /* 75570 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode_UseIncDec),
26846 /* 75573 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26847 /* 75576 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26848 /* 75580 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26849 /* 75584 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26850 /* 75588 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26851 /* 75592 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26852 /* 75596 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26853 /* 75600 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26854 /* 75604 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26855 /* 75607 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26856 /* 75611 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26857 /* 75615 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
26858 /* 75619 */ // MIs[0] src1
26859 /* 75619 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26860 /* 75624 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26861 /* 75626 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26862 /* 75633 */ // (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)
26863 /* 75633 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC64m),
26864 /* 75636 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26865 /* 75640 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26866 /* 75643 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26867 /* 75649 */ GIR_RootConstrainSelectedInstOperands,
26868 /* 75650 */ // GIR_Coverage, 230,
26869 /* 75650 */ GIR_EraseRootFromParent_Done,
26870 /* 75651 */ // Label 1688: @75651
26871 /* 75651 */ GIM_Try, /*On fail goto*//*Label 1689*/ GIMT_Encode4(75744), // Rule ID 22698 //
26872 /* 75656 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26873 /* 75659 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26874 /* 75663 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26875 /* 75667 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26876 /* 75671 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26877 /* 75675 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26878 /* 75679 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26879 /* 75683 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26880 /* 75687 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26881 /* 75690 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26882 /* 75694 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26883 /* 75698 */ GIM_CheckConstantInt, /*MI*/1, /*Op*/2, GIMT_Encode8(128),
26884 /* 75709 */ // MIs[0] dst
26885 /* 75709 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26886 /* 75714 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26887 /* 75716 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26888 /* 75723 */ // (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] })
26889 /* 75723 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mi32),
26890 /* 75726 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26891 /* 75730 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
26892 /* 75733 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26893 /* 75736 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26894 /* 75742 */ GIR_RootConstrainSelectedInstOperands,
26895 /* 75743 */ // GIR_Coverage, 22698,
26896 /* 75743 */ GIR_EraseRootFromParent_Done,
26897 /* 75744 */ // Label 1689: @75744
26898 /* 75744 */ GIM_Try, /*On fail goto*//*Label 1690*/ GIMT_Encode4(75844), // Rule ID 22706 //
26899 /* 75749 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26900 /* 75752 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26901 /* 75756 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26902 /* 75760 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26903 /* 75764 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26904 /* 75768 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26905 /* 75772 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26906 /* 75776 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26907 /* 75780 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26908 /* 75783 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26909 /* 75787 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26910 /* 75791 */ GIM_CheckConstantInt, /*MI*/1, /*Op*/2, GIMT_Encode8(2147483648),
26911 /* 75802 */ // MIs[0] dst
26912 /* 75802 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26913 /* 75807 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26914 /* 75809 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26915 /* 75816 */ // (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] })
26916 /* 75816 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mi32),
26917 /* 75819 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26918 /* 75823 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(18446744071562067968u),
26919 /* 75833 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26920 /* 75836 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26921 /* 75842 */ GIR_RootConstrainSelectedInstOperands,
26922 /* 75843 */ // GIR_Coverage, 22706,
26923 /* 75843 */ GIR_EraseRootFromParent_Done,
26924 /* 75844 */ // Label 1690: @75844
26925 /* 75844 */ GIM_Try, /*On fail goto*//*Label 1691*/ GIMT_Encode4(75930), // Rule ID 17605 //
26926 /* 75849 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
26927 /* 75852 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26928 /* 75855 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26929 /* 75859 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26930 /* 75863 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
26931 /* 75867 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26932 /* 75871 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26933 /* 75875 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26934 /* 75879 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26935 /* 75883 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26936 /* 75886 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26937 /* 75890 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26938 /* 75894 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 63,
26939 /* 75898 */ // MIs[0] dst
26940 /* 75898 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26941 /* 75903 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26942 /* 75905 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26943 /* 75912 */ // (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)
26944 /* 75912 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64m1),
26945 /* 75915 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26946 /* 75919 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26947 /* 75922 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26948 /* 75928 */ GIR_RootConstrainSelectedInstOperands,
26949 /* 75929 */ // GIR_Coverage, 17605,
26950 /* 75929 */ GIR_EraseRootFromParent_Done,
26951 /* 75930 */ // Label 1691: @75930
26952 /* 75930 */ GIM_Try, /*On fail goto*//*Label 1692*/ GIMT_Encode4(76016), // Rule ID 17609 //
26953 /* 75935 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
26954 /* 75938 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26955 /* 75941 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26956 /* 75945 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26957 /* 75949 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
26958 /* 75953 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26959 /* 75957 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26960 /* 75961 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26961 /* 75965 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26962 /* 75969 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26963 /* 75972 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26964 /* 75976 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26965 /* 75980 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 63,
26966 /* 75984 */ // MIs[0] dst
26967 /* 75984 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26968 /* 75989 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26969 /* 75991 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26970 /* 75998 */ // (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)
26971 /* 75998 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64m1),
26972 /* 76001 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26973 /* 76005 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26974 /* 76008 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26975 /* 76014 */ GIR_RootConstrainSelectedInstOperands,
26976 /* 76015 */ // GIR_Coverage, 17609,
26977 /* 76015 */ GIR_EraseRootFromParent_Done,
26978 /* 76016 */ // Label 1692: @76016
26979 /* 76016 */ GIM_Try, /*On fail goto*//*Label 1693*/ GIMT_Encode4(76102), // Rule ID 262 //
26980 /* 76021 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
26981 /* 76024 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26982 /* 76027 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26983 /* 76031 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26984 /* 76035 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
26985 /* 76039 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26986 /* 76043 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26987 /* 76047 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
26988 /* 76051 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26989 /* 76055 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26990 /* 76059 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26991 /* 76062 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26992 /* 76066 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26993 /* 76070 */ // MIs[0] src1
26994 /* 76070 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26995 /* 76075 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26996 /* 76077 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26997 /* 76084 */ // (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)
26998 /* 76084 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64m),
26999 /* 76087 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27000 /* 76091 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27001 /* 76094 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27002 /* 76100 */ GIR_RootConstrainSelectedInstOperands,
27003 /* 76101 */ // GIR_Coverage, 262,
27004 /* 76101 */ GIR_EraseRootFromParent_Done,
27005 /* 76102 */ // Label 1693: @76102
27006 /* 76102 */ GIM_Try, /*On fail goto*//*Label 1694*/ GIMT_Encode4(76185), // Rule ID 270 //
27007 /* 76107 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
27008 /* 76110 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27009 /* 76113 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27010 /* 76117 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27011 /* 76121 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
27012 /* 76125 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27013 /* 76129 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27014 /* 76133 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27015 /* 76137 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27016 /* 76141 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27017 /* 76144 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27018 /* 76148 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27019 /* 76152 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
27020 /* 76156 */ // MIs[0] src1
27021 /* 76156 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27022 /* 76161 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27023 /* 76163 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27024 /* 76170 */ // (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)
27025 /* 76170 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT64m),
27026 /* 76173 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27027 /* 76177 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27028 /* 76183 */ GIR_RootConstrainSelectedInstOperands,
27029 /* 76184 */ // GIR_Coverage, 270,
27030 /* 76184 */ GIR_EraseRootFromParent_Done,
27031 /* 76185 */ // Label 1694: @76185
27032 /* 76185 */ GIM_Try, /*On fail goto*//*Label 1695*/ GIMT_Encode4(76290), // Rule ID 22491 //
27033 /* 76190 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27034 /* 76193 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27035 /* 76200 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27036 /* 76204 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27037 /* 76208 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27038 /* 76212 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27039 /* 76216 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27040 /* 76220 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27041 /* 76224 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27042 /* 76227 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27043 /* 76231 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27044 /* 76238 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27045 /* 76242 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27046 /* 76246 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27047 /* 76250 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
27048 /* 76254 */ // MIs[3] Operand 1
27049 /* 76254 */ // No operand predicates
27050 /* 76254 */ // MIs[0] dst
27051 /* 76254 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27052 /* 76259 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27053 /* 76261 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27054 /* 76268 */ // (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)
27055 /* 76268 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mi32),
27056 /* 76271 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27057 /* 76275 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
27058 /* 76278 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27059 /* 76281 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27060 /* 76288 */ GIR_RootConstrainSelectedInstOperands,
27061 /* 76289 */ // GIR_Coverage, 22491,
27062 /* 76289 */ GIR_EraseRootFromParent_Done,
27063 /* 76290 */ // Label 1695: @76290
27064 /* 76290 */ GIM_Try, /*On fail goto*//*Label 1696*/ GIMT_Encode4(76395), // Rule ID 22499 //
27065 /* 76295 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27066 /* 76298 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27067 /* 76305 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27068 /* 76309 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
27069 /* 76313 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27070 /* 76317 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27071 /* 76321 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27072 /* 76325 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27073 /* 76329 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27074 /* 76332 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27075 /* 76336 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27076 /* 76343 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27077 /* 76347 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27078 /* 76351 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27079 /* 76355 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
27080 /* 76359 */ // MIs[3] Operand 1
27081 /* 76359 */ // No operand predicates
27082 /* 76359 */ // MIs[0] dst
27083 /* 76359 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27084 /* 76364 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27085 /* 76366 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27086 /* 76373 */ // (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)
27087 /* 76373 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mi32),
27088 /* 76376 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27089 /* 76380 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
27090 /* 76383 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27091 /* 76386 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27092 /* 76393 */ GIR_RootConstrainSelectedInstOperands,
27093 /* 76394 */ // GIR_Coverage, 22499,
27094 /* 76394 */ GIR_EraseRootFromParent_Done,
27095 /* 76395 */ // Label 1696: @76395
27096 /* 76395 */ GIM_Try, /*On fail goto*//*Label 1697*/ GIMT_Encode4(76500), // Rule ID 22507 //
27097 /* 76400 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27098 /* 76403 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27099 /* 76410 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27100 /* 76414 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
27101 /* 76418 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27102 /* 76422 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27103 /* 76426 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27104 /* 76430 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27105 /* 76434 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27106 /* 76437 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27107 /* 76441 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27108 /* 76448 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27109 /* 76452 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27110 /* 76456 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27111 /* 76460 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
27112 /* 76464 */ // MIs[3] Operand 1
27113 /* 76464 */ // No operand predicates
27114 /* 76464 */ // MIs[0] dst
27115 /* 76464 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27116 /* 76469 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27117 /* 76471 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27118 /* 76478 */ // (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)
27119 /* 76478 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mi32),
27120 /* 76481 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27121 /* 76485 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
27122 /* 76488 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27123 /* 76491 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27124 /* 76498 */ GIR_RootConstrainSelectedInstOperands,
27125 /* 76499 */ // GIR_Coverage, 22507,
27126 /* 76499 */ GIR_EraseRootFromParent_Done,
27127 /* 76500 */ // Label 1697: @76500
27128 /* 76500 */ GIM_Try, /*On fail goto*//*Label 1698*/ GIMT_Encode4(76605), // Rule ID 22523 //
27129 /* 76505 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27130 /* 76508 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27131 /* 76515 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27132 /* 76519 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
27133 /* 76523 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27134 /* 76527 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27135 /* 76531 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27136 /* 76535 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27137 /* 76539 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27138 /* 76542 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27139 /* 76546 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27140 /* 76553 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27141 /* 76557 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27142 /* 76561 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27143 /* 76565 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
27144 /* 76569 */ // MIs[3] Operand 1
27145 /* 76569 */ // No operand predicates
27146 /* 76569 */ // MIs[0] dst
27147 /* 76569 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27148 /* 76574 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27149 /* 76576 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27150 /* 76583 */ // (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)
27151 /* 76583 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mi32),
27152 /* 76586 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27153 /* 76590 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
27154 /* 76593 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27155 /* 76596 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27156 /* 76603 */ GIR_RootConstrainSelectedInstOperands,
27157 /* 76604 */ // GIR_Coverage, 22523,
27158 /* 76604 */ GIR_EraseRootFromParent_Done,
27159 /* 76605 */ // Label 1698: @76605
27160 /* 76605 */ GIM_Try, /*On fail goto*//*Label 1699*/ GIMT_Encode4(76710), // Rule ID 22515 //
27161 /* 76610 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27162 /* 76613 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27163 /* 76620 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27164 /* 76624 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
27165 /* 76628 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27166 /* 76632 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27167 /* 76636 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27168 /* 76640 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27169 /* 76644 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27170 /* 76647 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27171 /* 76651 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27172 /* 76658 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27173 /* 76662 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27174 /* 76666 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27175 /* 76670 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
27176 /* 76674 */ // MIs[3] Operand 1
27177 /* 76674 */ // No operand predicates
27178 /* 76674 */ // MIs[0] dst
27179 /* 76674 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27180 /* 76679 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27181 /* 76681 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27182 /* 76688 */ // (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)
27183 /* 76688 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mi32),
27184 /* 76691 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27185 /* 76695 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
27186 /* 76698 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27187 /* 76701 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27188 /* 76708 */ GIR_RootConstrainSelectedInstOperands,
27189 /* 76709 */ // GIR_Coverage, 22515,
27190 /* 76709 */ GIR_EraseRootFromParent_Done,
27191 /* 76710 */ // Label 1699: @76710
27192 /* 76710 */ GIM_Try, /*On fail goto*//*Label 1700*/ GIMT_Encode4(76814), // Rule ID 835 //
27193 /* 76715 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27194 /* 76718 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27195 /* 76722 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27196 /* 76726 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHL),
27197 /* 76730 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27198 /* 76734 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27199 /* 76738 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
27200 /* 76742 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27201 /* 76746 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27202 /* 76750 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27203 /* 76753 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27204 /* 76757 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27205 /* 76761 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27206 /* 76766 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/3, // MIs[3]
27207 /* 76770 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27208 /* 76774 */ // MIs[3] Operand 1
27209 /* 76774 */ // No operand predicates
27210 /* 76774 */ // MIs[0] src1
27211 /* 76774 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27212 /* 76779 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27213 /* 76781 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27214 /* 76788 */ // (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)
27215 /* 76788 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64mri8),
27216 /* 76791 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27217 /* 76795 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
27218 /* 76799 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src3
27219 /* 76802 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27220 /* 76805 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27221 /* 76812 */ GIR_RootConstrainSelectedInstOperands,
27222 /* 76813 */ // GIR_Coverage, 835,
27223 /* 76813 */ GIR_EraseRootFromParent_Done,
27224 /* 76814 */ // Label 1700: @76814
27225 /* 76814 */ GIM_Try, /*On fail goto*//*Label 1701*/ GIMT_Encode4(76918), // Rule ID 859 //
27226 /* 76819 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27227 /* 76822 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27228 /* 76826 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27229 /* 76830 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHR),
27230 /* 76834 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27231 /* 76838 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27232 /* 76842 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
27233 /* 76846 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27234 /* 76851 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27235 /* 76855 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27236 /* 76859 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27237 /* 76862 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27238 /* 76866 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27239 /* 76870 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/3, // MIs[3]
27240 /* 76874 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27241 /* 76878 */ // MIs[3] Operand 1
27242 /* 76878 */ // No operand predicates
27243 /* 76878 */ // MIs[0] src1
27244 /* 76878 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27245 /* 76883 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27246 /* 76885 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27247 /* 76892 */ // (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)
27248 /* 76892 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64mri8),
27249 /* 76895 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27250 /* 76899 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
27251 /* 76903 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src3
27252 /* 76906 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27253 /* 76909 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27254 /* 76916 */ GIR_RootConstrainSelectedInstOperands,
27255 /* 76917 */ // GIR_Coverage, 859,
27256 /* 76917 */ GIR_EraseRootFromParent_Done,
27257 /* 76918 */ // Label 1701: @76918
27258 /* 76918 */ GIM_Try, /*On fail goto*//*Label 1702*/ GIMT_Encode4(77012), // Rule ID 736 //
27259 /* 76923 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
27260 /* 76926 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27261 /* 76929 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27262 /* 76933 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27263 /* 76937 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
27264 /* 76941 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27265 /* 76945 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27266 /* 76949 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27267 /* 76953 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27268 /* 76957 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27269 /* 76960 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27270 /* 76964 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27271 /* 76968 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27272 /* 76972 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27273 /* 76976 */ // MIs[3] Operand 1
27274 /* 76976 */ // No operand predicates
27275 /* 76976 */ // MIs[0] src1
27276 /* 76976 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27277 /* 76981 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27278 /* 76983 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27279 /* 76990 */ // (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)
27280 /* 76990 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64mi),
27281 /* 76993 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27282 /* 76997 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
27283 /* 77000 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27284 /* 77003 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27285 /* 77010 */ GIR_RootConstrainSelectedInstOperands,
27286 /* 77011 */ // GIR_Coverage, 736,
27287 /* 77011 */ GIR_EraseRootFromParent_Done,
27288 /* 77012 */ // Label 1702: @77012
27289 /* 77012 */ GIM_Try, /*On fail goto*//*Label 1703*/ GIMT_Encode4(77106), // Rule ID 704 //
27290 /* 77017 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
27291 /* 77020 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27292 /* 77023 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27293 /* 77027 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27294 /* 77031 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
27295 /* 77035 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27296 /* 77039 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27297 /* 77043 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27298 /* 77047 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27299 /* 77051 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27300 /* 77054 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27301 /* 77058 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27302 /* 77062 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27303 /* 77066 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27304 /* 77070 */ // MIs[3] Operand 1
27305 /* 77070 */ // No operand predicates
27306 /* 77070 */ // MIs[0] src1
27307 /* 77070 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27308 /* 77075 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27309 /* 77077 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27310 /* 77084 */ // (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)
27311 /* 77084 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64mi),
27312 /* 77087 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27313 /* 77091 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
27314 /* 77094 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27315 /* 77097 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27316 /* 77104 */ GIR_RootConstrainSelectedInstOperands,
27317 /* 77105 */ // GIR_Coverage, 704,
27318 /* 77105 */ GIR_EraseRootFromParent_Done,
27319 /* 77106 */ // Label 1703: @77106
27320 /* 77106 */ GIM_Try, /*On fail goto*//*Label 1704*/ GIMT_Encode4(77200), // Rule ID 768 //
27321 /* 77111 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
27322 /* 77114 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27323 /* 77117 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27324 /* 77121 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27325 /* 77125 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
27326 /* 77129 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27327 /* 77133 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27328 /* 77137 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27329 /* 77141 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27330 /* 77145 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27331 /* 77148 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27332 /* 77152 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27333 /* 77156 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27334 /* 77160 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27335 /* 77164 */ // MIs[3] Operand 1
27336 /* 77164 */ // No operand predicates
27337 /* 77164 */ // MIs[0] src1
27338 /* 77164 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27339 /* 77169 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27340 /* 77171 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27341 /* 77178 */ // (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)
27342 /* 77178 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64mi),
27343 /* 77181 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27344 /* 77185 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
27345 /* 77188 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27346 /* 77191 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27347 /* 77198 */ GIR_RootConstrainSelectedInstOperands,
27348 /* 77199 */ // GIR_Coverage, 768,
27349 /* 77199 */ GIR_EraseRootFromParent_Done,
27350 /* 77200 */ // Label 1704: @77200
27351 /* 77200 */ GIM_Try, /*On fail goto*//*Label 1705*/ GIMT_Encode4(77294), // Rule ID 800 //
27352 /* 77205 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
27353 /* 77208 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27354 /* 77211 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27355 /* 77215 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27356 /* 77219 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
27357 /* 77223 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27358 /* 77227 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27359 /* 77231 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27360 /* 77235 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27361 /* 77239 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27362 /* 77242 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27363 /* 77246 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27364 /* 77250 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27365 /* 77254 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27366 /* 77258 */ // MIs[3] Operand 1
27367 /* 77258 */ // No operand predicates
27368 /* 77258 */ // MIs[0] src1
27369 /* 77258 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27370 /* 77263 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27371 /* 77265 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27372 /* 77272 */ // (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)
27373 /* 77272 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64mi),
27374 /* 77275 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27375 /* 77279 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
27376 /* 77282 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27377 /* 77285 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27378 /* 77292 */ GIR_RootConstrainSelectedInstOperands,
27379 /* 77293 */ // GIR_Coverage, 800,
27380 /* 77293 */ GIR_EraseRootFromParent_Done,
27381 /* 77294 */ // Label 1705: @77294
27382 /* 77294 */ GIM_Try, /*On fail goto*//*Label 1706*/ GIMT_Encode4(77388), // Rule ID 672 //
27383 /* 77299 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
27384 /* 77302 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27385 /* 77305 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27386 /* 77309 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27387 /* 77313 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
27388 /* 77317 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27389 /* 77321 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27390 /* 77325 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27391 /* 77329 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27392 /* 77333 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27393 /* 77336 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27394 /* 77340 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27395 /* 77344 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27396 /* 77348 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27397 /* 77352 */ // MIs[3] Operand 1
27398 /* 77352 */ // No operand predicates
27399 /* 77352 */ // MIs[0] src1
27400 /* 77352 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27401 /* 77357 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27402 /* 77359 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27403 /* 77366 */ // (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)
27404 /* 77366 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64mi),
27405 /* 77369 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27406 /* 77373 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
27407 /* 77376 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27408 /* 77379 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27409 /* 77386 */ GIR_RootConstrainSelectedInstOperands,
27410 /* 77387 */ // GIR_Coverage, 672,
27411 /* 77387 */ GIR_EraseRootFromParent_Done,
27412 /* 77388 */ // Label 1706: @77388
27413 /* 77388 */ GIM_Try, /*On fail goto*//*Label 1707*/ GIMT_Encode4(77486), // Rule ID 22495 //
27414 /* 77393 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27415 /* 77396 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27416 /* 77403 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27417 /* 77407 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27418 /* 77411 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27419 /* 77415 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27420 /* 77419 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27421 /* 77423 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27422 /* 77427 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27423 /* 77430 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27424 /* 77434 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27425 /* 77441 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27426 /* 77445 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27427 /* 77450 */ // MIs[0] dst
27428 /* 77450 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27429 /* 77455 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27430 /* 77457 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27431 /* 77464 */ // (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)
27432 /* 77464 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mr),
27433 /* 77467 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27434 /* 77471 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
27435 /* 77475 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27436 /* 77478 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27437 /* 77484 */ GIR_RootConstrainSelectedInstOperands,
27438 /* 77485 */ // GIR_Coverage, 22495,
27439 /* 77485 */ GIR_EraseRootFromParent_Done,
27440 /* 77486 */ // Label 1707: @77486
27441 /* 77486 */ GIM_Try, /*On fail goto*//*Label 1708*/ GIMT_Encode4(77584), // Rule ID 26087 //
27442 /* 77491 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27443 /* 77494 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27444 /* 77501 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27445 /* 77505 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27446 /* 77509 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27447 /* 77513 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27448 /* 77517 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27449 /* 77522 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27450 /* 77526 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27451 /* 77530 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27452 /* 77533 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27453 /* 77537 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27454 /* 77544 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27455 /* 77548 */ // MIs[0] dst
27456 /* 77548 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27457 /* 77553 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27458 /* 77555 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27459 /* 77562 */ // (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)
27460 /* 77562 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mr),
27461 /* 77565 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27462 /* 77569 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
27463 /* 77573 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27464 /* 77576 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27465 /* 77582 */ GIR_RootConstrainSelectedInstOperands,
27466 /* 77583 */ // GIR_Coverage, 26087,
27467 /* 77583 */ GIR_EraseRootFromParent_Done,
27468 /* 77584 */ // Label 1708: @77584
27469 /* 77584 */ GIM_Try, /*On fail goto*//*Label 1709*/ GIMT_Encode4(77682), // Rule ID 22503 //
27470 /* 77589 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27471 /* 77592 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27472 /* 77599 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27473 /* 77603 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
27474 /* 77607 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27475 /* 77611 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27476 /* 77615 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27477 /* 77619 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27478 /* 77623 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27479 /* 77626 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27480 /* 77630 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27481 /* 77637 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27482 /* 77641 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27483 /* 77646 */ // MIs[0] dst
27484 /* 77646 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27485 /* 77651 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27486 /* 77653 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27487 /* 77660 */ // (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)
27488 /* 77660 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mr),
27489 /* 77663 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27490 /* 77667 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
27491 /* 77671 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27492 /* 77674 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27493 /* 77680 */ GIR_RootConstrainSelectedInstOperands,
27494 /* 77681 */ // GIR_Coverage, 22503,
27495 /* 77681 */ GIR_EraseRootFromParent_Done,
27496 /* 77682 */ // Label 1709: @77682
27497 /* 77682 */ GIM_Try, /*On fail goto*//*Label 1710*/ GIMT_Encode4(77780), // Rule ID 26091 //
27498 /* 77687 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27499 /* 77690 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27500 /* 77697 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27501 /* 77701 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
27502 /* 77705 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27503 /* 77709 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27504 /* 77713 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27505 /* 77718 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27506 /* 77722 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27507 /* 77726 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27508 /* 77729 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27509 /* 77733 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27510 /* 77740 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27511 /* 77744 */ // MIs[0] dst
27512 /* 77744 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27513 /* 77749 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27514 /* 77751 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27515 /* 77758 */ // (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)
27516 /* 77758 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mr),
27517 /* 77761 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27518 /* 77765 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
27519 /* 77769 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27520 /* 77772 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27521 /* 77778 */ GIR_RootConstrainSelectedInstOperands,
27522 /* 77779 */ // GIR_Coverage, 26091,
27523 /* 77779 */ GIR_EraseRootFromParent_Done,
27524 /* 77780 */ // Label 1710: @77780
27525 /* 77780 */ GIM_Try, /*On fail goto*//*Label 1711*/ GIMT_Encode4(77878), // Rule ID 22511 //
27526 /* 77785 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27527 /* 77788 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27528 /* 77795 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27529 /* 77799 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
27530 /* 77803 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27531 /* 77807 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27532 /* 77811 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27533 /* 77815 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27534 /* 77819 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27535 /* 77822 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27536 /* 77826 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27537 /* 77833 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27538 /* 77837 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27539 /* 77842 */ // MIs[0] dst
27540 /* 77842 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27541 /* 77847 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27542 /* 77849 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27543 /* 77856 */ // (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)
27544 /* 77856 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mr),
27545 /* 77859 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27546 /* 77863 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
27547 /* 77867 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27548 /* 77870 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27549 /* 77876 */ GIR_RootConstrainSelectedInstOperands,
27550 /* 77877 */ // GIR_Coverage, 22511,
27551 /* 77877 */ GIR_EraseRootFromParent_Done,
27552 /* 77878 */ // Label 1711: @77878
27553 /* 77878 */ GIM_Try, /*On fail goto*//*Label 1712*/ GIMT_Encode4(77976), // Rule ID 26095 //
27554 /* 77883 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27555 /* 77886 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27556 /* 77893 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27557 /* 77897 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
27558 /* 77901 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27559 /* 77905 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27560 /* 77909 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27561 /* 77914 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27562 /* 77918 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27563 /* 77922 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27564 /* 77925 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27565 /* 77929 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27566 /* 77936 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27567 /* 77940 */ // MIs[0] dst
27568 /* 77940 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27569 /* 77945 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27570 /* 77947 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27571 /* 77954 */ // (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)
27572 /* 77954 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mr),
27573 /* 77957 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27574 /* 77961 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
27575 /* 77965 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27576 /* 77968 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27577 /* 77974 */ GIR_RootConstrainSelectedInstOperands,
27578 /* 77975 */ // GIR_Coverage, 26095,
27579 /* 77975 */ GIR_EraseRootFromParent_Done,
27580 /* 77976 */ // Label 1712: @77976
27581 /* 77976 */ GIM_Try, /*On fail goto*//*Label 1713*/ GIMT_Encode4(78074), // Rule ID 22527 //
27582 /* 77981 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27583 /* 77984 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27584 /* 77991 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27585 /* 77995 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
27586 /* 77999 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27587 /* 78003 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27588 /* 78007 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27589 /* 78011 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27590 /* 78015 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27591 /* 78018 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27592 /* 78022 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27593 /* 78029 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27594 /* 78033 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27595 /* 78038 */ // MIs[0] dst
27596 /* 78038 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27597 /* 78043 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27598 /* 78045 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27599 /* 78052 */ // (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)
27600 /* 78052 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mr),
27601 /* 78055 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27602 /* 78059 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
27603 /* 78063 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27604 /* 78066 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27605 /* 78072 */ GIR_RootConstrainSelectedInstOperands,
27606 /* 78073 */ // GIR_Coverage, 22527,
27607 /* 78073 */ GIR_EraseRootFromParent_Done,
27608 /* 78074 */ // Label 1713: @78074
27609 /* 78074 */ GIM_Try, /*On fail goto*//*Label 1714*/ GIMT_Encode4(78172), // Rule ID 22519 //
27610 /* 78079 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27611 /* 78082 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27612 /* 78089 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27613 /* 78093 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
27614 /* 78097 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27615 /* 78101 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27616 /* 78105 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27617 /* 78109 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27618 /* 78113 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27619 /* 78116 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27620 /* 78120 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27621 /* 78127 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27622 /* 78131 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27623 /* 78136 */ // MIs[0] dst
27624 /* 78136 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27625 /* 78141 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27626 /* 78143 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27627 /* 78150 */ // (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)
27628 /* 78150 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mr),
27629 /* 78153 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27630 /* 78157 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
27631 /* 78161 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27632 /* 78164 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27633 /* 78170 */ GIR_RootConstrainSelectedInstOperands,
27634 /* 78171 */ // GIR_Coverage, 22519,
27635 /* 78171 */ GIR_EraseRootFromParent_Done,
27636 /* 78172 */ // Label 1714: @78172
27637 /* 78172 */ GIM_Try, /*On fail goto*//*Label 1715*/ GIMT_Encode4(78270), // Rule ID 26099 //
27638 /* 78177 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27639 /* 78180 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27640 /* 78187 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27641 /* 78191 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
27642 /* 78195 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27643 /* 78199 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27644 /* 78203 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27645 /* 78208 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27646 /* 78212 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27647 /* 78216 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27648 /* 78219 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27649 /* 78223 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27650 /* 78230 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27651 /* 78234 */ // MIs[0] dst
27652 /* 78234 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27653 /* 78239 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27654 /* 78241 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27655 /* 78248 */ // (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)
27656 /* 78248 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mr),
27657 /* 78251 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27658 /* 78255 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
27659 /* 78259 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27660 /* 78262 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27661 /* 78268 */ GIR_RootConstrainSelectedInstOperands,
27662 /* 78269 */ // GIR_Coverage, 26099,
27663 /* 78269 */ GIR_EraseRootFromParent_Done,
27664 /* 78270 */ // Label 1715: @78270
27665 /* 78270 */ GIM_Try, /*On fail goto*//*Label 1716*/ GIMT_Encode4(78381), // Rule ID 838 //
27666 /* 78275 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27667 /* 78278 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27668 /* 78282 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27669 /* 78286 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHL),
27670 /* 78290 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27671 /* 78294 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27672 /* 78298 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
27673 /* 78302 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27674 /* 78306 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27675 /* 78310 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27676 /* 78313 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27677 /* 78317 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27678 /* 78321 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27679 /* 78326 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
27680 /* 78331 */ // MIs[0] src1
27681 /* 78331 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27682 /* 78336 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27683 /* 78338 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27684 /* 78345 */ // (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)
27685 /* 78345 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
27686 /* 78349 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
27687 /* 78355 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // CL
27688 /* 78359 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64mrCL),
27689 /* 78362 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27690 /* 78366 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
27691 /* 78370 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27692 /* 78373 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27693 /* 78379 */ GIR_RootConstrainSelectedInstOperands,
27694 /* 78380 */ // GIR_Coverage, 838,
27695 /* 78380 */ GIR_EraseRootFromParent_Done,
27696 /* 78381 */ // Label 1716: @78381
27697 /* 78381 */ GIM_Try, /*On fail goto*//*Label 1717*/ GIMT_Encode4(78492), // Rule ID 862 //
27698 /* 78386 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27699 /* 78389 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27700 /* 78393 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27701 /* 78397 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHR),
27702 /* 78401 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27703 /* 78405 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27704 /* 78409 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
27705 /* 78413 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27706 /* 78418 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27707 /* 78422 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27708 /* 78426 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27709 /* 78429 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27710 /* 78433 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27711 /* 78437 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
27712 /* 78442 */ // MIs[0] src1
27713 /* 78442 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27714 /* 78447 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27715 /* 78449 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27716 /* 78456 */ // (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)
27717 /* 78456 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
27718 /* 78460 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
27719 /* 78466 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // CL
27720 /* 78470 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64mrCL),
27721 /* 78473 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27722 /* 78477 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
27723 /* 78481 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27724 /* 78484 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27725 /* 78490 */ GIR_RootConstrainSelectedInstOperands,
27726 /* 78491 */ // GIR_Coverage, 862,
27727 /* 78491 */ GIR_EraseRootFromParent_Done,
27728 /* 78492 */ // Label 1717: @78492
27729 /* 78492 */ GIM_Try, /*On fail goto*//*Label 1718*/ GIMT_Encode4(78580), // Rule ID 410 //
27730 /* 78497 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27731 /* 78500 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27732 /* 78504 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27733 /* 78508 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27734 /* 78512 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27735 /* 78516 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27736 /* 78520 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27737 /* 78524 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27738 /* 78528 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27739 /* 78531 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27740 /* 78535 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27741 /* 78539 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27742 /* 78544 */ // MIs[0] src1
27743 /* 78544 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27744 /* 78549 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27745 /* 78551 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27746 /* 78558 */ // (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)
27747 /* 78558 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mr),
27748 /* 78561 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27749 /* 78565 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
27750 /* 78569 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27751 /* 78572 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27752 /* 78578 */ GIR_RootConstrainSelectedInstOperands,
27753 /* 78579 */ // GIR_Coverage, 410,
27754 /* 78579 */ GIR_EraseRootFromParent_Done,
27755 /* 78580 */ // Label 1718: @78580
27756 /* 78580 */ GIM_Try, /*On fail goto*//*Label 1719*/ GIMT_Encode4(78668), // Rule ID 23307 //
27757 /* 78585 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27758 /* 78588 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27759 /* 78592 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27760 /* 78596 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27761 /* 78600 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27762 /* 78604 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27763 /* 78608 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27764 /* 78613 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27765 /* 78617 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27766 /* 78621 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27767 /* 78624 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27768 /* 78628 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27769 /* 78632 */ // MIs[0] src1
27770 /* 78632 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27771 /* 78637 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27772 /* 78639 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27773 /* 78646 */ // (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)
27774 /* 78646 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mr),
27775 /* 78649 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27776 /* 78653 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
27777 /* 78657 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27778 /* 78660 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27779 /* 78666 */ GIR_RootConstrainSelectedInstOperands,
27780 /* 78667 */ // GIR_Coverage, 23307,
27781 /* 78667 */ GIR_EraseRootFromParent_Done,
27782 /* 78668 */ // Label 1719: @78668
27783 /* 78668 */ GIM_Try, /*On fail goto*//*Label 1720*/ GIMT_Encode4(78756), // Rule ID 302 //
27784 /* 78673 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27785 /* 78676 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27786 /* 78680 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27787 /* 78684 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
27788 /* 78688 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27789 /* 78692 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27790 /* 78696 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27791 /* 78700 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27792 /* 78704 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27793 /* 78707 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27794 /* 78711 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27795 /* 78715 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27796 /* 78720 */ // MIs[0] src1
27797 /* 78720 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27798 /* 78725 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27799 /* 78727 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27800 /* 78734 */ // (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)
27801 /* 78734 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mr),
27802 /* 78737 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27803 /* 78741 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
27804 /* 78745 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27805 /* 78748 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27806 /* 78754 */ GIR_RootConstrainSelectedInstOperands,
27807 /* 78755 */ // GIR_Coverage, 302,
27808 /* 78755 */ GIR_EraseRootFromParent_Done,
27809 /* 78756 */ // Label 1720: @78756
27810 /* 78756 */ GIM_Try, /*On fail goto*//*Label 1721*/ GIMT_Encode4(78844), // Rule ID 23271 //
27811 /* 78761 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27812 /* 78764 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27813 /* 78768 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27814 /* 78772 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
27815 /* 78776 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27816 /* 78780 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27817 /* 78784 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27818 /* 78789 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27819 /* 78793 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27820 /* 78797 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27821 /* 78800 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27822 /* 78804 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27823 /* 78808 */ // MIs[0] src1
27824 /* 78808 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27825 /* 78813 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27826 /* 78815 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27827 /* 78822 */ // (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)
27828 /* 78822 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mr),
27829 /* 78825 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27830 /* 78829 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
27831 /* 78833 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27832 /* 78836 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27833 /* 78842 */ GIR_RootConstrainSelectedInstOperands,
27834 /* 78843 */ // GIR_Coverage, 23271,
27835 /* 78843 */ GIR_EraseRootFromParent_Done,
27836 /* 78844 */ // Label 1721: @78844
27837 /* 78844 */ GIM_Try, /*On fail goto*//*Label 1722*/ GIMT_Encode4(78945), // Rule ID 752 //
27838 /* 78849 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
27839 /* 78852 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27840 /* 78855 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27841 /* 78859 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27842 /* 78863 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
27843 /* 78867 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27844 /* 78871 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27845 /* 78875 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27846 /* 78879 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27847 /* 78883 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27848 /* 78886 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27849 /* 78890 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27850 /* 78894 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
27851 /* 78899 */ // MIs[0] src1
27852 /* 78899 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27853 /* 78904 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27854 /* 78906 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27855 /* 78913 */ // (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)
27856 /* 78913 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
27857 /* 78917 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
27858 /* 78923 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
27859 /* 78927 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64mCL),
27860 /* 78930 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27861 /* 78934 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27862 /* 78937 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27863 /* 78943 */ GIR_RootConstrainSelectedInstOperands,
27864 /* 78944 */ // GIR_Coverage, 752,
27865 /* 78944 */ GIR_EraseRootFromParent_Done,
27866 /* 78945 */ // Label 1722: @78945
27867 /* 78945 */ GIM_Try, /*On fail goto*//*Label 1723*/ GIMT_Encode4(79046), // Rule ID 720 //
27868 /* 78950 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
27869 /* 78953 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27870 /* 78956 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27871 /* 78960 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27872 /* 78964 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
27873 /* 78968 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27874 /* 78972 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27875 /* 78976 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27876 /* 78980 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27877 /* 78984 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27878 /* 78987 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27879 /* 78991 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27880 /* 78995 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
27881 /* 79000 */ // MIs[0] src1
27882 /* 79000 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27883 /* 79005 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27884 /* 79007 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27885 /* 79014 */ // (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)
27886 /* 79014 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
27887 /* 79018 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
27888 /* 79024 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
27889 /* 79028 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64mCL),
27890 /* 79031 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27891 /* 79035 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27892 /* 79038 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27893 /* 79044 */ GIR_RootConstrainSelectedInstOperands,
27894 /* 79045 */ // GIR_Coverage, 720,
27895 /* 79045 */ GIR_EraseRootFromParent_Done,
27896 /* 79046 */ // Label 1723: @79046
27897 /* 79046 */ GIM_Try, /*On fail goto*//*Label 1724*/ GIMT_Encode4(79134), // Rule ID 338 //
27898 /* 79051 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27899 /* 79054 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27900 /* 79058 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27901 /* 79062 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
27902 /* 79066 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27903 /* 79070 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27904 /* 79074 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27905 /* 79078 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27906 /* 79082 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27907 /* 79085 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27908 /* 79089 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27909 /* 79093 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27910 /* 79098 */ // MIs[0] src1
27911 /* 79098 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27912 /* 79103 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27913 /* 79105 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27914 /* 79112 */ // (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)
27915 /* 79112 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mr),
27916 /* 79115 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27917 /* 79119 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
27918 /* 79123 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27919 /* 79126 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27920 /* 79132 */ GIR_RootConstrainSelectedInstOperands,
27921 /* 79133 */ // GIR_Coverage, 338,
27922 /* 79133 */ GIR_EraseRootFromParent_Done,
27923 /* 79134 */ // Label 1724: @79134
27924 /* 79134 */ GIM_Try, /*On fail goto*//*Label 1725*/ GIMT_Encode4(79222), // Rule ID 23283 //
27925 /* 79139 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27926 /* 79142 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27927 /* 79146 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27928 /* 79150 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
27929 /* 79154 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27930 /* 79158 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27931 /* 79162 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27932 /* 79167 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27933 /* 79171 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27934 /* 79175 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27935 /* 79178 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27936 /* 79182 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27937 /* 79186 */ // MIs[0] src1
27938 /* 79186 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27939 /* 79191 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27940 /* 79193 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27941 /* 79200 */ // (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)
27942 /* 79200 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mr),
27943 /* 79203 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27944 /* 79207 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
27945 /* 79211 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27946 /* 79214 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27947 /* 79220 */ GIR_RootConstrainSelectedInstOperands,
27948 /* 79221 */ // GIR_Coverage, 23283,
27949 /* 79221 */ GIR_EraseRootFromParent_Done,
27950 /* 79222 */ // Label 1725: @79222
27951 /* 79222 */ GIM_Try, /*On fail goto*//*Label 1726*/ GIMT_Encode4(79323), // Rule ID 784 //
27952 /* 79227 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
27953 /* 79230 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27954 /* 79233 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27955 /* 79237 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27956 /* 79241 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
27957 /* 79245 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27958 /* 79249 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27959 /* 79253 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27960 /* 79257 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27961 /* 79261 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27962 /* 79264 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27963 /* 79268 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27964 /* 79272 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
27965 /* 79277 */ // MIs[0] src1
27966 /* 79277 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27967 /* 79282 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27968 /* 79284 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27969 /* 79291 */ // (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)
27970 /* 79291 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
27971 /* 79295 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
27972 /* 79301 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
27973 /* 79305 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64mCL),
27974 /* 79308 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27975 /* 79312 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27976 /* 79315 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27977 /* 79321 */ GIR_RootConstrainSelectedInstOperands,
27978 /* 79322 */ // GIR_Coverage, 784,
27979 /* 79322 */ GIR_EraseRootFromParent_Done,
27980 /* 79323 */ // Label 1726: @79323
27981 /* 79323 */ GIM_Try, /*On fail goto*//*Label 1727*/ GIMT_Encode4(79424), // Rule ID 816 //
27982 /* 79328 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
27983 /* 79331 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27984 /* 79334 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27985 /* 79338 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27986 /* 79342 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
27987 /* 79346 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27988 /* 79350 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27989 /* 79354 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27990 /* 79358 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27991 /* 79362 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27992 /* 79365 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27993 /* 79369 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27994 /* 79373 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
27995 /* 79378 */ // MIs[0] src1
27996 /* 79378 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27997 /* 79383 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27998 /* 79385 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27999 /* 79392 */ // (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)
28000 /* 79392 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
28001 /* 79396 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
28002 /* 79402 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
28003 /* 79406 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64mCL),
28004 /* 79409 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28005 /* 79413 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28006 /* 79416 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28007 /* 79422 */ GIR_RootConstrainSelectedInstOperands,
28008 /* 79423 */ // GIR_Coverage, 816,
28009 /* 79423 */ GIR_EraseRootFromParent_Done,
28010 /* 79424 */ // Label 1727: @79424
28011 /* 79424 */ GIM_Try, /*On fail goto*//*Label 1728*/ GIMT_Encode4(79525), // Rule ID 688 //
28012 /* 79429 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
28013 /* 79432 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28014 /* 79435 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28015 /* 79439 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28016 /* 79443 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
28017 /* 79447 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28018 /* 79451 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
28019 /* 79455 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28020 /* 79459 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28021 /* 79463 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28022 /* 79466 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28023 /* 79470 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28024 /* 79474 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
28025 /* 79479 */ // MIs[0] src1
28026 /* 79479 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28027 /* 79484 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28028 /* 79486 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28029 /* 79493 */ // (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)
28030 /* 79493 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
28031 /* 79497 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
28032 /* 79503 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
28033 /* 79507 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64mCL),
28034 /* 79510 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28035 /* 79514 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28036 /* 79517 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28037 /* 79523 */ GIR_RootConstrainSelectedInstOperands,
28038 /* 79524 */ // GIR_Coverage, 688,
28039 /* 79524 */ GIR_EraseRootFromParent_Done,
28040 /* 79525 */ // Label 1728: @79525
28041 /* 79525 */ GIM_Try, /*On fail goto*//*Label 1729*/ GIMT_Encode4(79613), // Rule ID 446 //
28042 /* 79530 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28043 /* 79533 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28044 /* 79537 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28045 /* 79541 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
28046 /* 79545 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28047 /* 79549 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28048 /* 79553 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28049 /* 79557 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28050 /* 79561 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28051 /* 79564 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28052 /* 79568 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28053 /* 79572 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28054 /* 79577 */ // MIs[0] src1
28055 /* 79577 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28056 /* 79582 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28057 /* 79584 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28058 /* 79591 */ // (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)
28059 /* 79591 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mr),
28060 /* 79594 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28061 /* 79598 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
28062 /* 79602 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28063 /* 79605 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28064 /* 79611 */ GIR_RootConstrainSelectedInstOperands,
28065 /* 79612 */ // GIR_Coverage, 446,
28066 /* 79612 */ GIR_EraseRootFromParent_Done,
28067 /* 79613 */ // Label 1729: @79613
28068 /* 79613 */ GIM_Try, /*On fail goto*//*Label 1730*/ GIMT_Encode4(79701), // Rule ID 374 //
28069 /* 79618 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28070 /* 79621 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28071 /* 79625 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28072 /* 79629 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
28073 /* 79633 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28074 /* 79637 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28075 /* 79641 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28076 /* 79645 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28077 /* 79649 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28078 /* 79652 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28079 /* 79656 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28080 /* 79660 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28081 /* 79665 */ // MIs[0] src1
28082 /* 79665 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28083 /* 79670 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28084 /* 79672 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28085 /* 79679 */ // (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)
28086 /* 79679 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mr),
28087 /* 79682 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28088 /* 79686 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
28089 /* 79690 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28090 /* 79693 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28091 /* 79699 */ GIR_RootConstrainSelectedInstOperands,
28092 /* 79700 */ // GIR_Coverage, 374,
28093 /* 79700 */ GIR_EraseRootFromParent_Done,
28094 /* 79701 */ // Label 1730: @79701
28095 /* 79701 */ GIM_Try, /*On fail goto*//*Label 1731*/ GIMT_Encode4(79789), // Rule ID 23295 //
28096 /* 79706 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28097 /* 79709 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28098 /* 79713 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28099 /* 79717 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
28100 /* 79721 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28101 /* 79725 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28102 /* 79729 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28103 /* 79734 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
28104 /* 79738 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28105 /* 79742 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28106 /* 79745 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28107 /* 79749 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28108 /* 79753 */ // MIs[0] src1
28109 /* 79753 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28110 /* 79758 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28111 /* 79760 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28112 /* 79767 */ // (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)
28113 /* 79767 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mr),
28114 /* 79770 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28115 /* 79774 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
28116 /* 79778 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28117 /* 79781 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28118 /* 79787 */ GIR_RootConstrainSelectedInstOperands,
28119 /* 79788 */ // GIR_Coverage, 23295,
28120 /* 79788 */ GIR_EraseRootFromParent_Done,
28121 /* 79789 */ // Label 1731: @79789
28122 /* 79789 */ GIM_Try, /*On fail goto*//*Label 1732*/ GIMT_Encode4(79846), // Rule ID 22571 //
28123 /* 79794 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28124 /* 79797 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28125 /* 79804 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28126 /* 79808 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
28127 /* 79812 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
28128 /* 79816 */ // MIs[1] Operand 1
28129 /* 79816 */ // No operand predicates
28130 /* 79816 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28131 /* 79820 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28132 /* 79822 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28133 /* 79829 */ // (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)
28134 /* 79829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64mi32),
28135 /* 79832 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28136 /* 79836 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
28137 /* 79839 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
28138 /* 79844 */ GIR_RootConstrainSelectedInstOperands,
28139 /* 79845 */ // GIR_Coverage, 22571,
28140 /* 79845 */ GIR_EraseRootFromParent_Done,
28141 /* 79846 */ // Label 1732: @79846
28142 /* 79846 */ GIM_Try, /*On fail goto*//*Label 1733*/ GIMT_Encode4(79912), // Rule ID 22589 //
28143 /* 79851 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
28144 /* 79854 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28145 /* 79857 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28146 /* 79864 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28147 /* 79868 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
28148 /* 79872 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28149 /* 79876 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
28150 /* 79881 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28151 /* 79885 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28152 /* 79887 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28153 /* 79894 */ // (atomic_store (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (MOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
28154 /* 79894 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSDmr),
28155 /* 79897 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28156 /* 79901 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
28157 /* 79905 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
28158 /* 79910 */ GIR_RootConstrainSelectedInstOperands,
28159 /* 79911 */ // GIR_Coverage, 22589,
28160 /* 79911 */ GIR_EraseRootFromParent_Done,
28161 /* 79912 */ // Label 1733: @79912
28162 /* 79912 */ GIM_Try, /*On fail goto*//*Label 1734*/ GIMT_Encode4(79978), // Rule ID 22590 //
28163 /* 79917 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
28164 /* 79920 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28165 /* 79923 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28166 /* 79930 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28167 /* 79934 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
28168 /* 79938 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28169 /* 79942 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
28170 /* 79947 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28171 /* 79951 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28172 /* 79953 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28173 /* 79960 */ // (atomic_store (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (VMOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
28174 /* 79960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDmr),
28175 /* 79963 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28176 /* 79967 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
28177 /* 79971 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
28178 /* 79976 */ GIR_RootConstrainSelectedInstOperands,
28179 /* 79977 */ // GIR_Coverage, 22590,
28180 /* 79977 */ GIR_EraseRootFromParent_Done,
28181 /* 79978 */ // Label 1734: @79978
28182 /* 79978 */ GIM_Try, /*On fail goto*//*Label 1735*/ GIMT_Encode4(80044), // Rule ID 22591 //
28183 /* 79983 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
28184 /* 79986 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28185 /* 79989 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28186 /* 79996 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28187 /* 80000 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
28188 /* 80004 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28189 /* 80008 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
28190 /* 80013 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28191 /* 80017 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28192 /* 80019 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28193 /* 80026 */ // (atomic_store (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (VMOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
28194 /* 80026 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDmr),
28195 /* 80029 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28196 /* 80033 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
28197 /* 80037 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
28198 /* 80042 */ GIR_RootConstrainSelectedInstOperands,
28199 /* 80043 */ // GIR_Coverage, 22591,
28200 /* 80043 */ GIR_EraseRootFromParent_Done,
28201 /* 80044 */ // Label 1735: @80044
28202 /* 80044 */ GIM_Try, /*On fail goto*//*Label 1736*/ GIMT_Encode4(80107), // Rule ID 54 //
28203 /* 80049 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR),
28204 /* 80052 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28205 /* 80055 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28206 /* 80059 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28207 /* 80063 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
28208 /* 80067 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28209 /* 80071 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28210 /* 80076 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28211 /* 80080 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28212 /* 80082 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28213 /* 80089 */ // (st (bswap:{ *:[i64] } GR64:{ *:[i64] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE64mr addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src1)
28214 /* 80089 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE64mr),
28215 /* 80092 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28216 /* 80096 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
28217 /* 80100 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
28218 /* 80105 */ GIR_RootConstrainSelectedInstOperands,
28219 /* 80106 */ // GIR_Coverage, 54,
28220 /* 80106 */ GIR_EraseRootFromParent_Done,
28221 /* 80107 */ // Label 1736: @80107
28222 /* 80107 */ GIM_Try, /*On fail goto*//*Label 1737*/ GIMT_Encode4(80170), // Rule ID 60 //
28223 /* 80112 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode),
28224 /* 80115 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28225 /* 80118 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28226 /* 80122 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28227 /* 80126 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
28228 /* 80130 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28229 /* 80134 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28230 /* 80139 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28231 /* 80143 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28232 /* 80145 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28233 /* 80152 */ // (st (bswap:{ *:[i64] } GR64:{ *:[i64] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE64mr_EVEX addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src1)
28234 /* 80152 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE64mr_EVEX),
28235 /* 80155 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28236 /* 80159 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
28237 /* 80163 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
28238 /* 80168 */ GIR_RootConstrainSelectedInstOperands,
28239 /* 80169 */ // GIR_Coverage, 60,
28240 /* 80169 */ GIR_EraseRootFromParent_Done,
28241 /* 80170 */ // Label 1737: @80170
28242 /* 80170 */ GIM_Try, /*On fail goto*//*Label 1738*/ GIMT_Encode4(80215), // Rule ID 22575 //
28243 /* 80175 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28244 /* 80178 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28245 /* 80185 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28246 /* 80189 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28247 /* 80193 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28248 /* 80200 */ // (atomic_store GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (MOV64mr addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
28249 /* 80200 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64mr),
28250 /* 80203 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28251 /* 80207 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28252 /* 80209 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28253 /* 80213 */ GIR_RootConstrainSelectedInstOperands,
28254 /* 80214 */ // GIR_Coverage, 22575,
28255 /* 80214 */ GIR_EraseRootFromParent_Done,
28256 /* 80215 */ // Label 1738: @80215
28257 /* 80215 */ GIM_Try, /*On fail goto*//*Label 1739*/ GIMT_Encode4(80257), // Rule ID 35 //
28258 /* 80220 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28259 /* 80223 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28260 /* 80227 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28261 /* 80231 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28262 /* 80235 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28263 /* 80242 */ // (st GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV64mr addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
28264 /* 80242 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64mr),
28265 /* 80245 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28266 /* 80249 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28267 /* 80251 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28268 /* 80255 */ GIR_RootConstrainSelectedInstOperands,
28269 /* 80256 */ // GIR_Coverage, 35,
28270 /* 80256 */ GIR_EraseRootFromParent_Done,
28271 /* 80257 */ // Label 1739: @80257
28272 /* 80257 */ GIM_Try, /*On fail goto*//*Label 1740*/ GIMT_Encode4(80312), // Rule ID 1096 //
28273 /* 80262 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
28274 /* 80265 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28275 /* 80268 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28276 /* 80272 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
28277 /* 80279 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
28278 /* 80283 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28279 /* 80287 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28280 /* 80294 */ // (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)
28281 /* 80294 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp64m32),
28282 /* 80297 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
28283 /* 80301 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28284 /* 80303 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
28285 /* 80306 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28286 /* 80310 */ GIR_RootConstrainSelectedInstOperands,
28287 /* 80311 */ // GIR_Coverage, 1096,
28288 /* 80311 */ GIR_EraseRootFromParent_Done,
28289 /* 80312 */ // Label 1740: @80312
28290 /* 80312 */ GIM_Try, /*On fail goto*//*Label 1741*/ GIMT_Encode4(80360), // Rule ID 1097 //
28291 /* 80317 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
28292 /* 80320 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28293 /* 80323 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28294 /* 80327 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
28295 /* 80331 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28296 /* 80335 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28297 /* 80342 */ // (st RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ST_Fp64m:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP64:{ *:[f64] }:$src)
28298 /* 80342 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp64m),
28299 /* 80345 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
28300 /* 80349 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28301 /* 80351 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
28302 /* 80354 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28303 /* 80358 */ GIR_RootConstrainSelectedInstOperands,
28304 /* 80359 */ // GIR_Coverage, 1097,
28305 /* 80359 */ GIR_EraseRootFromParent_Done,
28306 /* 80360 */ // Label 1741: @80360
28307 /* 80360 */ GIM_Try, /*On fail goto*//*Label 1742*/ GIMT_Encode4(80405), // Rule ID 1692 //
28308 /* 80365 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
28309 /* 80368 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28310 /* 80371 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28311 /* 80375 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
28312 /* 80379 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28313 /* 80383 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28314 /* 80390 */ // (st FR64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
28315 /* 80390 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDmr),
28316 /* 80393 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28317 /* 80397 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28318 /* 80399 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28319 /* 80403 */ GIR_RootConstrainSelectedInstOperands,
28320 /* 80404 */ // GIR_Coverage, 1692,
28321 /* 80404 */ GIR_EraseRootFromParent_Done,
28322 /* 80405 */ // Label 1742: @80405
28323 /* 80405 */ GIM_Try, /*On fail goto*//*Label 1743*/ GIMT_Encode4(80450), // Rule ID 1694 //
28324 /* 80410 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
28325 /* 80413 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28326 /* 80416 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28327 /* 80420 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
28328 /* 80424 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28329 /* 80428 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28330 /* 80435 */ // (st FR64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
28331 /* 80435 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSDmr),
28332 /* 80438 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28333 /* 80442 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28334 /* 80444 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28335 /* 80448 */ GIR_RootConstrainSelectedInstOperands,
28336 /* 80449 */ // GIR_Coverage, 1694,
28337 /* 80449 */ GIR_EraseRootFromParent_Done,
28338 /* 80450 */ // Label 1743: @80450
28339 /* 80450 */ GIM_Try, /*On fail goto*//*Label 1744*/ GIMT_Encode4(80495), // Rule ID 4620 //
28340 /* 80455 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
28341 /* 80458 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28342 /* 80461 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28343 /* 80465 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
28344 /* 80469 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28345 /* 80473 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28346 /* 80480 */ // (st FR64X:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSDZmr addr:{ *:[iPTR] }:$dst, FR64X:{ *:[f64] }:$src)
28347 /* 80480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDZmr),
28348 /* 80483 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28349 /* 80487 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28350 /* 80489 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28351 /* 80493 */ GIR_RootConstrainSelectedInstOperands,
28352 /* 80494 */ // GIR_Coverage, 4620,
28353 /* 80494 */ GIR_EraseRootFromParent_Done,
28354 /* 80495 */ // Label 1744: @80495
28355 /* 80495 */ GIM_Reject,
28356 /* 80496 */ // Label 1486: @80496
28357 /* 80496 */ GIM_Try, /*On fail goto*//*Label 1745*/ GIMT_Encode4(80654),
28358 /* 80501 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28359 /* 80504 */ GIM_Try, /*On fail goto*//*Label 1746*/ GIMT_Encode4(80556), // Rule ID 1098 //
28360 /* 80509 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
28361 /* 80512 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28362 /* 80516 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
28363 /* 80523 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
28364 /* 80527 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28365 /* 80531 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28366 /* 80538 */ // (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)
28367 /* 80538 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp80m32),
28368 /* 80541 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
28369 /* 80545 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28370 /* 80547 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
28371 /* 80550 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28372 /* 80554 */ GIR_RootConstrainSelectedInstOperands,
28373 /* 80555 */ // GIR_Coverage, 1098,
28374 /* 80555 */ GIR_EraseRootFromParent_Done,
28375 /* 80556 */ // Label 1746: @80556
28376 /* 80556 */ GIM_Try, /*On fail goto*//*Label 1747*/ GIMT_Encode4(80608), // Rule ID 1099 //
28377 /* 80561 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
28378 /* 80564 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28379 /* 80568 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28380 /* 80575 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
28381 /* 80579 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28382 /* 80583 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28383 /* 80590 */ // (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)
28384 /* 80590 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp80m64),
28385 /* 80593 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
28386 /* 80597 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28387 /* 80599 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
28388 /* 80602 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28389 /* 80606 */ GIR_RootConstrainSelectedInstOperands,
28390 /* 80607 */ // GIR_Coverage, 1099,
28391 /* 80607 */ GIR_EraseRootFromParent_Done,
28392 /* 80608 */ // Label 1747: @80608
28393 /* 80608 */ GIM_Try, /*On fail goto*//*Label 1748*/ GIMT_Encode4(80653), // Rule ID 1100 //
28394 /* 80613 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
28395 /* 80616 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28396 /* 80620 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
28397 /* 80624 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28398 /* 80628 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28399 /* 80635 */ // (st RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ST_FpP80m:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP80:{ *:[f80] }:$src)
28400 /* 80635 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_FpP80m),
28401 /* 80638 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
28402 /* 80642 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28403 /* 80644 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
28404 /* 80647 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28405 /* 80651 */ GIR_RootConstrainSelectedInstOperands,
28406 /* 80652 */ // GIR_Coverage, 1100,
28407 /* 80652 */ GIR_EraseRootFromParent_Done,
28408 /* 80653 */ // Label 1748: @80653
28409 /* 80653 */ GIM_Reject,
28410 /* 80654 */ // Label 1745: @80654
28411 /* 80654 */ GIM_Reject,
28412 /* 80655 */ // Label 1487: @80655
28413 /* 80655 */ GIM_Try, /*On fail goto*//*Label 1749*/ GIMT_Encode4(80908),
28414 /* 80660 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28415 /* 80663 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28416 /* 80667 */ GIM_Try, /*On fail goto*//*Label 1750*/ GIMT_Encode4(80709), // Rule ID 23224 //
28417 /* 80672 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoAVX),
28418 /* 80675 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28419 /* 80679 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28420 /* 80683 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28421 /* 80687 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28422 /* 80694 */ // (st VR128:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[f128] }:$src)
28423 /* 80694 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
28424 /* 80697 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28425 /* 80701 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28426 /* 80703 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28427 /* 80707 */ GIR_RootConstrainSelectedInstOperands,
28428 /* 80708 */ // GIR_Coverage, 23224,
28429 /* 80708 */ GIR_EraseRootFromParent_Done,
28430 /* 80709 */ // Label 1750: @80709
28431 /* 80709 */ GIM_Try, /*On fail goto*//*Label 1751*/ GIMT_Encode4(80747), // Rule ID 23225 //
28432 /* 80714 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoAVX),
28433 /* 80717 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28434 /* 80721 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28435 /* 80725 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28436 /* 80732 */ // (st VR128:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[f128] }:$src)
28437 /* 80732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
28438 /* 80735 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28439 /* 80739 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28440 /* 80741 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28441 /* 80745 */ GIR_RootConstrainSelectedInstOperands,
28442 /* 80746 */ // GIR_Coverage, 23225,
28443 /* 80746 */ GIR_EraseRootFromParent_Done,
28444 /* 80747 */ // Label 1751: @80747
28445 /* 80747 */ GIM_Try, /*On fail goto*//*Label 1752*/ GIMT_Encode4(80789), // Rule ID 23228 //
28446 /* 80752 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
28447 /* 80755 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28448 /* 80759 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28449 /* 80763 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28450 /* 80767 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28451 /* 80774 */ // (st VR128:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[f128] }:$src)
28452 /* 80774 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSmr),
28453 /* 80777 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28454 /* 80781 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28455 /* 80783 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28456 /* 80787 */ GIR_RootConstrainSelectedInstOperands,
28457 /* 80788 */ // GIR_Coverage, 23228,
28458 /* 80788 */ GIR_EraseRootFromParent_Done,
28459 /* 80789 */ // Label 1752: @80789
28460 /* 80789 */ GIM_Try, /*On fail goto*//*Label 1753*/ GIMT_Encode4(80827), // Rule ID 23229 //
28461 /* 80794 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
28462 /* 80797 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28463 /* 80801 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28464 /* 80805 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28465 /* 80812 */ // (st VR128:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[f128] }:$src)
28466 /* 80812 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSmr),
28467 /* 80815 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28468 /* 80819 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28469 /* 80821 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28470 /* 80825 */ GIR_RootConstrainSelectedInstOperands,
28471 /* 80826 */ // GIR_Coverage, 23229,
28472 /* 80826 */ GIR_EraseRootFromParent_Done,
28473 /* 80827 */ // Label 1753: @80827
28474 /* 80827 */ GIM_Try, /*On fail goto*//*Label 1754*/ GIMT_Encode4(80869), // Rule ID 23232 //
28475 /* 80832 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
28476 /* 80835 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28477 /* 80839 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28478 /* 80843 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28479 /* 80847 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28480 /* 80854 */ // (st VR128X:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[f128] }:$src)
28481 /* 80854 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128mr),
28482 /* 80857 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28483 /* 80861 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28484 /* 80863 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28485 /* 80867 */ GIR_RootConstrainSelectedInstOperands,
28486 /* 80868 */ // GIR_Coverage, 23232,
28487 /* 80868 */ GIR_EraseRootFromParent_Done,
28488 /* 80869 */ // Label 1754: @80869
28489 /* 80869 */ GIM_Try, /*On fail goto*//*Label 1755*/ GIMT_Encode4(80907), // Rule ID 23233 //
28490 /* 80874 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
28491 /* 80877 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28492 /* 80881 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28493 /* 80885 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28494 /* 80892 */ // (st VR128X:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[f128] }:$src)
28495 /* 80892 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128mr),
28496 /* 80895 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28497 /* 80899 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28498 /* 80901 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28499 /* 80905 */ GIR_RootConstrainSelectedInstOperands,
28500 /* 80906 */ // GIR_Coverage, 23233,
28501 /* 80906 */ GIR_EraseRootFromParent_Done,
28502 /* 80907 */ // Label 1755: @80907
28503 /* 80907 */ GIM_Reject,
28504 /* 80908 */ // Label 1749: @80908
28505 /* 80908 */ GIM_Reject,
28506 /* 80909 */ // Label 1488: @80909
28507 /* 80909 */ GIM_Try, /*On fail goto*//*Label 1756*/ GIMT_Encode4(81402),
28508 /* 80914 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28509 /* 80917 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28510 /* 80921 */ GIM_Try, /*On fail goto*//*Label 1757*/ GIMT_Encode4(80963), // Rule ID 1716 //
28511 /* 80926 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
28512 /* 80929 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28513 /* 80933 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28514 /* 80937 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28515 /* 80941 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28516 /* 80948 */ // (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
28517 /* 80948 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDmr),
28518 /* 80951 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28519 /* 80955 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28520 /* 80957 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28521 /* 80961 */ GIR_RootConstrainSelectedInstOperands,
28522 /* 80962 */ // GIR_Coverage, 1716,
28523 /* 80962 */ GIR_EraseRootFromParent_Done,
28524 /* 80963 */ // Label 1757: @80963
28525 /* 80963 */ GIM_Try, /*On fail goto*//*Label 1758*/ GIMT_Encode4(81001), // Rule ID 1718 //
28526 /* 80968 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
28527 /* 80971 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28528 /* 80975 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28529 /* 80979 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28530 /* 80986 */ // (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
28531 /* 80986 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDmr),
28532 /* 80989 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28533 /* 80993 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28534 /* 80995 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28535 /* 80999 */ GIR_RootConstrainSelectedInstOperands,
28536 /* 81000 */ // GIR_Coverage, 1718,
28537 /* 81000 */ GIR_EraseRootFromParent_Done,
28538 /* 81001 */ // Label 1758: @81001
28539 /* 81001 */ GIM_Try, /*On fail goto*//*Label 1759*/ GIMT_Encode4(81043), // Rule ID 1724 //
28540 /* 81006 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
28541 /* 81009 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28542 /* 81013 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28543 /* 81017 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28544 /* 81021 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28545 /* 81028 */ // (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
28546 /* 81028 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPDmr),
28547 /* 81031 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28548 /* 81035 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28549 /* 81037 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28550 /* 81041 */ GIR_RootConstrainSelectedInstOperands,
28551 /* 81042 */ // GIR_Coverage, 1724,
28552 /* 81042 */ GIR_EraseRootFromParent_Done,
28553 /* 81043 */ // Label 1759: @81043
28554 /* 81043 */ GIM_Try, /*On fail goto*//*Label 1760*/ GIMT_Encode4(81081), // Rule ID 1726 //
28555 /* 81048 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
28556 /* 81051 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28557 /* 81055 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28558 /* 81059 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28559 /* 81066 */ // (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
28560 /* 81066 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPDmr),
28561 /* 81069 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28562 /* 81073 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28563 /* 81075 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28564 /* 81079 */ GIR_RootConstrainSelectedInstOperands,
28565 /* 81080 */ // GIR_Coverage, 1726,
28566 /* 81080 */ GIR_EraseRootFromParent_Done,
28567 /* 81081 */ // Label 1760: @81081
28568 /* 81081 */ GIM_Try, /*On fail goto*//*Label 1761*/ GIMT_Encode4(81123), // Rule ID 2520 //
28569 /* 81086 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
28570 /* 81089 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28571 /* 81093 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28572 /* 81097 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28573 /* 81101 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28574 /* 81108 */ // (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
28575 /* 81108 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
28576 /* 81111 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28577 /* 81115 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28578 /* 81117 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28579 /* 81121 */ GIR_RootConstrainSelectedInstOperands,
28580 /* 81122 */ // GIR_Coverage, 2520,
28581 /* 81122 */ GIR_EraseRootFromParent_Done,
28582 /* 81123 */ // Label 1761: @81123
28583 /* 81123 */ GIM_Try, /*On fail goto*//*Label 1762*/ GIMT_Encode4(81161), // Rule ID 2521 //
28584 /* 81128 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
28585 /* 81131 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28586 /* 81135 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28587 /* 81139 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28588 /* 81146 */ // (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
28589 /* 81146 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
28590 /* 81149 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28591 /* 81153 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28592 /* 81155 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28593 /* 81159 */ GIR_RootConstrainSelectedInstOperands,
28594 /* 81160 */ // GIR_Coverage, 2521,
28595 /* 81160 */ GIR_EraseRootFromParent_Done,
28596 /* 81161 */ // Label 1762: @81161
28597 /* 81161 */ GIM_Try, /*On fail goto*//*Label 1763*/ GIMT_Encode4(81203), // Rule ID 4500 //
28598 /* 81166 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
28599 /* 81169 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28600 /* 81173 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28601 /* 81177 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28602 /* 81181 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28603 /* 81188 */ // (st VR128X:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPDZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2f64] }:$src)
28604 /* 81188 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128mr),
28605 /* 81191 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28606 /* 81195 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28607 /* 81197 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28608 /* 81201 */ GIR_RootConstrainSelectedInstOperands,
28609 /* 81202 */ // GIR_Coverage, 4500,
28610 /* 81202 */ GIR_EraseRootFromParent_Done,
28611 /* 81203 */ // Label 1763: @81203
28612 /* 81203 */ GIM_Try, /*On fail goto*//*Label 1764*/ GIMT_Encode4(81241), // Rule ID 4524 //
28613 /* 81208 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
28614 /* 81211 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28615 /* 81215 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28616 /* 81219 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28617 /* 81226 */ // (st VR128X:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2f64] }:$src)
28618 /* 81226 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZ128mr),
28619 /* 81229 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28620 /* 81233 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28621 /* 81235 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28622 /* 81239 */ GIR_RootConstrainSelectedInstOperands,
28623 /* 81240 */ // GIR_Coverage, 4524,
28624 /* 81240 */ GIR_EraseRootFromParent_Done,
28625 /* 81241 */ // Label 1764: @81241
28626 /* 81241 */ GIM_Try, /*On fail goto*//*Label 1765*/ GIMT_Encode4(81283), // Rule ID 4554 //
28627 /* 81246 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
28628 /* 81249 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28629 /* 81253 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28630 /* 81257 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28631 /* 81261 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28632 /* 81268 */ // (st VR128X:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2i64] }:$src)
28633 /* 81268 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
28634 /* 81271 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28635 /* 81275 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28636 /* 81277 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28637 /* 81281 */ GIR_RootConstrainSelectedInstOperands,
28638 /* 81282 */ // GIR_Coverage, 4554,
28639 /* 81282 */ GIR_EraseRootFromParent_Done,
28640 /* 81283 */ // Label 1765: @81283
28641 /* 81283 */ GIM_Try, /*On fail goto*//*Label 1766*/ GIMT_Encode4(81321), // Rule ID 4596 //
28642 /* 81288 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
28643 /* 81291 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28644 /* 81295 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28645 /* 81299 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28646 /* 81306 */ // (st VR128X:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2i64] }:$src)
28647 /* 81306 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128mr),
28648 /* 81309 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28649 /* 81313 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28650 /* 81315 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28651 /* 81319 */ GIR_RootConstrainSelectedInstOperands,
28652 /* 81320 */ // GIR_Coverage, 4596,
28653 /* 81320 */ GIR_EraseRootFromParent_Done,
28654 /* 81321 */ // Label 1766: @81321
28655 /* 81321 */ GIM_Try, /*On fail goto*//*Label 1767*/ GIMT_Encode4(81363), // Rule ID 17937 //
28656 /* 81326 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
28657 /* 81329 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28658 /* 81333 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28659 /* 81337 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28660 /* 81341 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28661 /* 81348 */ // (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
28662 /* 81348 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
28663 /* 81351 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28664 /* 81355 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28665 /* 81357 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28666 /* 81361 */ GIR_RootConstrainSelectedInstOperands,
28667 /* 81362 */ // GIR_Coverage, 17937,
28668 /* 81362 */ GIR_EraseRootFromParent_Done,
28669 /* 81363 */ // Label 1767: @81363
28670 /* 81363 */ GIM_Try, /*On fail goto*//*Label 1768*/ GIMT_Encode4(81401), // Rule ID 17941 //
28671 /* 81368 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
28672 /* 81371 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28673 /* 81375 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28674 /* 81379 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28675 /* 81386 */ // (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
28676 /* 81386 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
28677 /* 81389 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28678 /* 81393 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28679 /* 81395 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28680 /* 81399 */ GIR_RootConstrainSelectedInstOperands,
28681 /* 81400 */ // GIR_Coverage, 17941,
28682 /* 81400 */ GIR_EraseRootFromParent_Done,
28683 /* 81401 */ // Label 1768: @81401
28684 /* 81401 */ GIM_Reject,
28685 /* 81402 */ // Label 1756: @81402
28686 /* 81402 */ GIM_Reject,
28687 /* 81403 */ // Label 1489: @81403
28688 /* 81403 */ GIM_Try, /*On fail goto*//*Label 1769*/ GIMT_Encode4(81896),
28689 /* 81408 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28690 /* 81411 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28691 /* 81415 */ GIM_Try, /*On fail goto*//*Label 1770*/ GIMT_Encode4(81457), // Rule ID 1715 //
28692 /* 81420 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
28693 /* 81423 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28694 /* 81427 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28695 /* 81431 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28696 /* 81435 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28697 /* 81442 */ // (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
28698 /* 81442 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSmr),
28699 /* 81445 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28700 /* 81449 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28701 /* 81451 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28702 /* 81455 */ GIR_RootConstrainSelectedInstOperands,
28703 /* 81456 */ // GIR_Coverage, 1715,
28704 /* 81456 */ GIR_EraseRootFromParent_Done,
28705 /* 81457 */ // Label 1770: @81457
28706 /* 81457 */ GIM_Try, /*On fail goto*//*Label 1771*/ GIMT_Encode4(81495), // Rule ID 1717 //
28707 /* 81462 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
28708 /* 81465 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28709 /* 81469 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28710 /* 81473 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28711 /* 81480 */ // (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
28712 /* 81480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSmr),
28713 /* 81483 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28714 /* 81487 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28715 /* 81489 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28716 /* 81493 */ GIR_RootConstrainSelectedInstOperands,
28717 /* 81494 */ // GIR_Coverage, 1717,
28718 /* 81494 */ GIR_EraseRootFromParent_Done,
28719 /* 81495 */ // Label 1771: @81495
28720 /* 81495 */ GIM_Try, /*On fail goto*//*Label 1772*/ GIMT_Encode4(81537), // Rule ID 1723 //
28721 /* 81500 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
28722 /* 81503 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28723 /* 81507 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28724 /* 81511 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28725 /* 81515 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28726 /* 81522 */ // (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
28727 /* 81522 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
28728 /* 81525 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28729 /* 81529 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28730 /* 81531 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28731 /* 81535 */ GIR_RootConstrainSelectedInstOperands,
28732 /* 81536 */ // GIR_Coverage, 1723,
28733 /* 81536 */ GIR_EraseRootFromParent_Done,
28734 /* 81537 */ // Label 1772: @81537
28735 /* 81537 */ GIM_Try, /*On fail goto*//*Label 1773*/ GIMT_Encode4(81575), // Rule ID 1725 //
28736 /* 81542 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
28737 /* 81545 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28738 /* 81549 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28739 /* 81553 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28740 /* 81560 */ // (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
28741 /* 81560 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
28742 /* 81563 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28743 /* 81567 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28744 /* 81569 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28745 /* 81573 */ GIR_RootConstrainSelectedInstOperands,
28746 /* 81574 */ // GIR_Coverage, 1725,
28747 /* 81574 */ GIR_EraseRootFromParent_Done,
28748 /* 81575 */ // Label 1773: @81575
28749 /* 81575 */ GIM_Try, /*On fail goto*//*Label 1774*/ GIMT_Encode4(81617), // Rule ID 4482 //
28750 /* 81580 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
28751 /* 81583 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28752 /* 81587 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28753 /* 81591 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28754 /* 81595 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28755 /* 81602 */ // (st VR128X:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4f32] }:$src)
28756 /* 81602 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128mr),
28757 /* 81605 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28758 /* 81609 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28759 /* 81611 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28760 /* 81615 */ GIR_RootConstrainSelectedInstOperands,
28761 /* 81616 */ // GIR_Coverage, 4482,
28762 /* 81616 */ GIR_EraseRootFromParent_Done,
28763 /* 81617 */ // Label 1774: @81617
28764 /* 81617 */ GIM_Try, /*On fail goto*//*Label 1775*/ GIMT_Encode4(81655), // Rule ID 4512 //
28765 /* 81622 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
28766 /* 81625 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28767 /* 81629 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28768 /* 81633 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28769 /* 81640 */ // (st VR128X:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4f32] }:$src)
28770 /* 81640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128mr),
28771 /* 81643 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28772 /* 81647 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28773 /* 81649 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28774 /* 81653 */ GIR_RootConstrainSelectedInstOperands,
28775 /* 81654 */ // GIR_Coverage, 4512,
28776 /* 81654 */ GIR_EraseRootFromParent_Done,
28777 /* 81655 */ // Label 1775: @81655
28778 /* 81655 */ GIM_Try, /*On fail goto*//*Label 1776*/ GIMT_Encode4(81697), // Rule ID 17938 //
28779 /* 81660 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
28780 /* 81663 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28781 /* 81667 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28782 /* 81671 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28783 /* 81675 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28784 /* 81682 */ // (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
28785 /* 81682 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
28786 /* 81685 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28787 /* 81689 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28788 /* 81691 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28789 /* 81695 */ GIR_RootConstrainSelectedInstOperands,
28790 /* 81696 */ // GIR_Coverage, 17938,
28791 /* 81696 */ GIR_EraseRootFromParent_Done,
28792 /* 81697 */ // Label 1776: @81697
28793 /* 81697 */ GIM_Try, /*On fail goto*//*Label 1777*/ GIMT_Encode4(81735), // Rule ID 17942 //
28794 /* 81702 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
28795 /* 81705 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28796 /* 81709 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28797 /* 81713 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28798 /* 81720 */ // (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
28799 /* 81720 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
28800 /* 81723 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28801 /* 81727 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28802 /* 81729 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28803 /* 81733 */ GIR_RootConstrainSelectedInstOperands,
28804 /* 81734 */ // GIR_Coverage, 17942,
28805 /* 81734 */ GIR_EraseRootFromParent_Done,
28806 /* 81735 */ // Label 1777: @81735
28807 /* 81735 */ GIM_Try, /*On fail goto*//*Label 1778*/ GIMT_Encode4(81777), // Rule ID 18317 //
28808 /* 81740 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
28809 /* 81743 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28810 /* 81747 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28811 /* 81751 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28812 /* 81755 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28813 /* 81762 */ // (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
28814 /* 81762 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
28815 /* 81765 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28816 /* 81769 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28817 /* 81771 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28818 /* 81775 */ GIR_RootConstrainSelectedInstOperands,
28819 /* 81776 */ // GIR_Coverage, 18317,
28820 /* 81776 */ GIR_EraseRootFromParent_Done,
28821 /* 81777 */ // Label 1778: @81777
28822 /* 81777 */ GIM_Try, /*On fail goto*//*Label 1779*/ GIMT_Encode4(81815), // Rule ID 18321 //
28823 /* 81782 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
28824 /* 81785 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28825 /* 81789 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28826 /* 81793 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28827 /* 81800 */ // (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
28828 /* 81800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
28829 /* 81803 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28830 /* 81807 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28831 /* 81809 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28832 /* 81813 */ GIR_RootConstrainSelectedInstOperands,
28833 /* 81814 */ // GIR_Coverage, 18321,
28834 /* 81814 */ GIR_EraseRootFromParent_Done,
28835 /* 81815 */ // Label 1779: @81815
28836 /* 81815 */ GIM_Try, /*On fail goto*//*Label 1780*/ GIMT_Encode4(81857), // Rule ID 19829 //
28837 /* 81820 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
28838 /* 81823 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28839 /* 81827 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28840 /* 81831 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28841 /* 81835 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28842 /* 81842 */ // (st VR128X:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4i32] }:$src)
28843 /* 81842 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
28844 /* 81845 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28845 /* 81849 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28846 /* 81851 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28847 /* 81855 */ GIR_RootConstrainSelectedInstOperands,
28848 /* 81856 */ // GIR_Coverage, 19829,
28849 /* 81856 */ GIR_EraseRootFromParent_Done,
28850 /* 81857 */ // Label 1780: @81857
28851 /* 81857 */ GIM_Try, /*On fail goto*//*Label 1781*/ GIMT_Encode4(81895), // Rule ID 19833 //
28852 /* 81862 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
28853 /* 81865 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28854 /* 81869 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28855 /* 81873 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28856 /* 81880 */ // (st VR128X:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4i32] }:$src)
28857 /* 81880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128mr),
28858 /* 81883 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28859 /* 81887 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28860 /* 81889 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28861 /* 81893 */ GIR_RootConstrainSelectedInstOperands,
28862 /* 81894 */ // GIR_Coverage, 19833,
28863 /* 81894 */ GIR_EraseRootFromParent_Done,
28864 /* 81895 */ // Label 1781: @81895
28865 /* 81895 */ GIM_Reject,
28866 /* 81896 */ // Label 1769: @81896
28867 /* 81896 */ GIM_Reject,
28868 /* 81897 */ // Label 1490: @81897
28869 /* 81897 */ GIM_Try, /*On fail goto*//*Label 1782*/ GIMT_Encode4(82230),
28870 /* 81902 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28871 /* 81905 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28872 /* 81909 */ GIM_Try, /*On fail goto*//*Label 1783*/ GIMT_Encode4(81951), // Rule ID 1720 //
28873 /* 81914 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
28874 /* 81917 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
28875 /* 81921 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28876 /* 81925 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28877 /* 81929 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28878 /* 81936 */ // (st VR256:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPDYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4f64] }:$src)
28879 /* 81936 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDYmr),
28880 /* 81939 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28881 /* 81943 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28882 /* 81945 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28883 /* 81949 */ GIR_RootConstrainSelectedInstOperands,
28884 /* 81950 */ // GIR_Coverage, 1720,
28885 /* 81950 */ GIR_EraseRootFromParent_Done,
28886 /* 81951 */ // Label 1783: @81951
28887 /* 81951 */ GIM_Try, /*On fail goto*//*Label 1784*/ GIMT_Encode4(81989), // Rule ID 1722 //
28888 /* 81956 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
28889 /* 81959 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
28890 /* 81963 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28891 /* 81967 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28892 /* 81974 */ // (st VR256:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4f64] }:$src)
28893 /* 81974 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDYmr),
28894 /* 81977 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28895 /* 81981 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28896 /* 81983 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28897 /* 81987 */ GIR_RootConstrainSelectedInstOperands,
28898 /* 81988 */ // GIR_Coverage, 1722,
28899 /* 81988 */ GIR_EraseRootFromParent_Done,
28900 /* 81989 */ // Label 1784: @81989
28901 /* 81989 */ GIM_Try, /*On fail goto*//*Label 1785*/ GIMT_Encode4(82031), // Rule ID 4499 //
28902 /* 81994 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
28903 /* 81997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
28904 /* 82001 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28905 /* 82005 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28906 /* 82009 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28907 /* 82016 */ // (st VR256X:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPDZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4f64] }:$src)
28908 /* 82016 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ256mr),
28909 /* 82019 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28910 /* 82023 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28911 /* 82025 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28912 /* 82029 */ GIR_RootConstrainSelectedInstOperands,
28913 /* 82030 */ // GIR_Coverage, 4499,
28914 /* 82030 */ GIR_EraseRootFromParent_Done,
28915 /* 82031 */ // Label 1785: @82031
28916 /* 82031 */ GIM_Try, /*On fail goto*//*Label 1786*/ GIMT_Encode4(82069), // Rule ID 4523 //
28917 /* 82036 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
28918 /* 82039 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
28919 /* 82043 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28920 /* 82047 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28921 /* 82054 */ // (st VR256X:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4f64] }:$src)
28922 /* 82054 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZ256mr),
28923 /* 82057 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28924 /* 82061 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28925 /* 82063 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28926 /* 82067 */ GIR_RootConstrainSelectedInstOperands,
28927 /* 82068 */ // GIR_Coverage, 4523,
28928 /* 82068 */ GIR_EraseRootFromParent_Done,
28929 /* 82069 */ // Label 1786: @82069
28930 /* 82069 */ GIM_Try, /*On fail goto*//*Label 1787*/ GIMT_Encode4(82111), // Rule ID 4553 //
28931 /* 82074 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
28932 /* 82077 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
28933 /* 82081 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28934 /* 82085 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28935 /* 82089 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28936 /* 82096 */ // (st VR256X:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4i64] }:$src)
28937 /* 82096 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
28938 /* 82099 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28939 /* 82103 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28940 /* 82105 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28941 /* 82109 */ GIR_RootConstrainSelectedInstOperands,
28942 /* 82110 */ // GIR_Coverage, 4553,
28943 /* 82110 */ GIR_EraseRootFromParent_Done,
28944 /* 82111 */ // Label 1787: @82111
28945 /* 82111 */ GIM_Try, /*On fail goto*//*Label 1788*/ GIMT_Encode4(82149), // Rule ID 4595 //
28946 /* 82116 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
28947 /* 82119 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
28948 /* 82123 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28949 /* 82127 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28950 /* 82134 */ // (st VR256X:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4i64] }:$src)
28951 /* 82134 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256mr),
28952 /* 82137 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28953 /* 82141 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28954 /* 82143 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28955 /* 82147 */ GIR_RootConstrainSelectedInstOperands,
28956 /* 82148 */ // GIR_Coverage, 4595,
28957 /* 82148 */ GIR_EraseRootFromParent_Done,
28958 /* 82149 */ // Label 1788: @82149
28959 /* 82149 */ GIM_Try, /*On fail goto*//*Label 1789*/ GIMT_Encode4(82191), // Rule ID 17913 //
28960 /* 82154 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
28961 /* 82157 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
28962 /* 82161 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28963 /* 82165 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28964 /* 82169 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28965 /* 82176 */ // (st VR256:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src)
28966 /* 82176 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
28967 /* 82179 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28968 /* 82183 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28969 /* 82185 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28970 /* 82189 */ GIR_RootConstrainSelectedInstOperands,
28971 /* 82190 */ // GIR_Coverage, 17913,
28972 /* 82190 */ GIR_EraseRootFromParent_Done,
28973 /* 82191 */ // Label 1789: @82191
28974 /* 82191 */ GIM_Try, /*On fail goto*//*Label 1790*/ GIMT_Encode4(82229), // Rule ID 17917 //
28975 /* 82196 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
28976 /* 82199 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
28977 /* 82203 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28978 /* 82207 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28979 /* 82214 */ // (st VR256:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src)
28980 /* 82214 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
28981 /* 82217 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28982 /* 82221 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28983 /* 82223 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28984 /* 82227 */ GIR_RootConstrainSelectedInstOperands,
28985 /* 82228 */ // GIR_Coverage, 17917,
28986 /* 82228 */ GIR_EraseRootFromParent_Done,
28987 /* 82229 */ // Label 1790: @82229
28988 /* 82229 */ GIM_Reject,
28989 /* 82230 */ // Label 1782: @82230
28990 /* 82230 */ GIM_Reject,
28991 /* 82231 */ // Label 1491: @82231
28992 /* 82231 */ GIM_Try, /*On fail goto*//*Label 1791*/ GIMT_Encode4(82312),
28993 /* 82236 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28994 /* 82239 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28995 /* 82243 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
28996 /* 82247 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28997 /* 82251 */ GIM_Try, /*On fail goto*//*Label 1792*/ GIMT_Encode4(82281), // Rule ID 4398 //
28998 /* 82256 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoEGPR),
28999 /* 82259 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29000 /* 82266 */ // (st VK8:{ *:[v8i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVBmk addr:{ *:[iPTR] }:$dst, VK8:{ *:[v8i1] }:$src)
29001 /* 82266 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBmk),
29002 /* 82269 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29003 /* 82273 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29004 /* 82275 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29005 /* 82279 */ GIR_RootConstrainSelectedInstOperands,
29006 /* 82280 */ // GIR_Coverage, 4398,
29007 /* 82280 */ GIR_EraseRootFromParent_Done,
29008 /* 82281 */ // Label 1792: @82281
29009 /* 82281 */ GIM_Try, /*On fail goto*//*Label 1793*/ GIMT_Encode4(82311), // Rule ID 4400 //
29010 /* 82286 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasEGPR_In64BitMode),
29011 /* 82289 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29012 /* 82296 */ // (st VK8:{ *:[v8i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVBmk_EVEX addr:{ *:[iPTR] }:$dst, VK8:{ *:[v8i1] }:$src)
29013 /* 82296 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBmk_EVEX),
29014 /* 82299 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29015 /* 82303 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29016 /* 82305 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29017 /* 82309 */ GIR_RootConstrainSelectedInstOperands,
29018 /* 82310 */ // GIR_Coverage, 4400,
29019 /* 82310 */ GIR_EraseRootFromParent_Done,
29020 /* 82311 */ // Label 1793: @82311
29021 /* 82311 */ GIM_Reject,
29022 /* 82312 */ // Label 1791: @82312
29023 /* 82312 */ GIM_Reject,
29024 /* 82313 */ // Label 1492: @82313
29025 /* 82313 */ GIM_Try, /*On fail goto*//*Label 1794*/ GIMT_Encode4(82886),
29026 /* 82318 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29027 /* 82321 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29028 /* 82325 */ GIM_Try, /*On fail goto*//*Label 1795*/ GIMT_Encode4(82367), // Rule ID 17923 //
29029 /* 82330 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29030 /* 82333 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29031 /* 82337 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29032 /* 82341 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29033 /* 82345 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29034 /* 82352 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
29035 /* 82352 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSmr),
29036 /* 82355 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29037 /* 82359 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29038 /* 82361 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29039 /* 82365 */ GIR_RootConstrainSelectedInstOperands,
29040 /* 82366 */ // GIR_Coverage, 17923,
29041 /* 82366 */ GIR_EraseRootFromParent_Done,
29042 /* 82367 */ // Label 1795: @82367
29043 /* 82367 */ GIM_Try, /*On fail goto*//*Label 1796*/ GIMT_Encode4(82405), // Rule ID 17924 //
29044 /* 82372 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29045 /* 82375 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29046 /* 82379 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29047 /* 82383 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29048 /* 82390 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
29049 /* 82390 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSmr),
29050 /* 82393 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29051 /* 82397 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29052 /* 82399 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29053 /* 82403 */ GIR_RootConstrainSelectedInstOperands,
29054 /* 82404 */ // GIR_Coverage, 17924,
29055 /* 82404 */ GIR_EraseRootFromParent_Done,
29056 /* 82405 */ // Label 1796: @82405
29057 /* 82405 */ GIM_Try, /*On fail goto*//*Label 1797*/ GIMT_Encode4(82447), // Rule ID 17939 //
29058 /* 82410 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
29059 /* 82413 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29060 /* 82417 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29061 /* 82421 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29062 /* 82425 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29063 /* 82432 */ // (st VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
29064 /* 82432 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
29065 /* 82435 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29066 /* 82439 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29067 /* 82441 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29068 /* 82445 */ GIR_RootConstrainSelectedInstOperands,
29069 /* 82446 */ // GIR_Coverage, 17939,
29070 /* 82446 */ GIR_EraseRootFromParent_Done,
29071 /* 82447 */ // Label 1797: @82447
29072 /* 82447 */ GIM_Try, /*On fail goto*//*Label 1798*/ GIMT_Encode4(82485), // Rule ID 17943 //
29073 /* 82452 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
29074 /* 82455 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29075 /* 82459 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29076 /* 82463 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29077 /* 82470 */ // (st VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
29078 /* 82470 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
29079 /* 82473 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29080 /* 82477 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29081 /* 82479 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29082 /* 82483 */ GIR_RootConstrainSelectedInstOperands,
29083 /* 82484 */ // GIR_Coverage, 17943,
29084 /* 82484 */ GIR_EraseRootFromParent_Done,
29085 /* 82485 */ // Label 1798: @82485
29086 /* 82485 */ GIM_Try, /*On fail goto*//*Label 1799*/ GIMT_Encode4(82527), // Rule ID 17947 //
29087 /* 82490 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
29088 /* 82493 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29089 /* 82497 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29090 /* 82501 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29091 /* 82505 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29092 /* 82512 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
29093 /* 82512 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
29094 /* 82515 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29095 /* 82519 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29096 /* 82521 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29097 /* 82525 */ GIR_RootConstrainSelectedInstOperands,
29098 /* 82526 */ // GIR_Coverage, 17947,
29099 /* 82526 */ GIR_EraseRootFromParent_Done,
29100 /* 82527 */ // Label 1799: @82527
29101 /* 82527 */ GIM_Try, /*On fail goto*//*Label 1800*/ GIMT_Encode4(82565), // Rule ID 17948 //
29102 /* 82532 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
29103 /* 82535 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29104 /* 82539 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29105 /* 82543 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29106 /* 82550 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
29107 /* 82550 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
29108 /* 82553 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29109 /* 82557 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29110 /* 82559 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29111 /* 82563 */ GIR_RootConstrainSelectedInstOperands,
29112 /* 82564 */ // GIR_Coverage, 17948,
29113 /* 82564 */ GIR_EraseRootFromParent_Done,
29114 /* 82565 */ // Label 1800: @82565
29115 /* 82565 */ GIM_Try, /*On fail goto*//*Label 1801*/ GIMT_Encode4(82607), // Rule ID 18318 //
29116 /* 82570 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29117 /* 82573 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29118 /* 82577 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29119 /* 82581 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29120 /* 82585 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29121 /* 82592 */ // (st VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
29122 /* 82592 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
29123 /* 82595 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29124 /* 82599 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29125 /* 82601 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29126 /* 82605 */ GIR_RootConstrainSelectedInstOperands,
29127 /* 82606 */ // GIR_Coverage, 18318,
29128 /* 82606 */ GIR_EraseRootFromParent_Done,
29129 /* 82607 */ // Label 1801: @82607
29130 /* 82607 */ GIM_Try, /*On fail goto*//*Label 1802*/ GIMT_Encode4(82649), // Rule ID 18319 //
29131 /* 82612 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29132 /* 82615 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29133 /* 82619 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29134 /* 82623 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29135 /* 82627 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29136 /* 82634 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
29137 /* 82634 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
29138 /* 82637 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29139 /* 82641 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29140 /* 82643 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29141 /* 82647 */ GIR_RootConstrainSelectedInstOperands,
29142 /* 82648 */ // GIR_Coverage, 18319,
29143 /* 82648 */ GIR_EraseRootFromParent_Done,
29144 /* 82649 */ // Label 1802: @82649
29145 /* 82649 */ GIM_Try, /*On fail goto*//*Label 1803*/ GIMT_Encode4(82687), // Rule ID 18322 //
29146 /* 82654 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29147 /* 82657 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29148 /* 82661 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29149 /* 82665 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29150 /* 82672 */ // (st VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
29151 /* 82672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
29152 /* 82675 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29153 /* 82679 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29154 /* 82681 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29155 /* 82685 */ GIR_RootConstrainSelectedInstOperands,
29156 /* 82686 */ // GIR_Coverage, 18322,
29157 /* 82686 */ GIR_EraseRootFromParent_Done,
29158 /* 82687 */ // Label 1803: @82687
29159 /* 82687 */ GIM_Try, /*On fail goto*//*Label 1804*/ GIMT_Encode4(82725), // Rule ID 18323 //
29160 /* 82692 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29161 /* 82695 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29162 /* 82699 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29163 /* 82703 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29164 /* 82710 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
29165 /* 82710 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
29166 /* 82713 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29167 /* 82717 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29168 /* 82719 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29169 /* 82723 */ GIR_RootConstrainSelectedInstOperands,
29170 /* 82724 */ // GIR_Coverage, 18323,
29171 /* 82724 */ GIR_EraseRootFromParent_Done,
29172 /* 82725 */ // Label 1804: @82725
29173 /* 82725 */ GIM_Try, /*On fail goto*//*Label 1805*/ GIMT_Encode4(82767), // Rule ID 19830 //
29174 /* 82730 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29175 /* 82733 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29176 /* 82737 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29177 /* 82741 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29178 /* 82745 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29179 /* 82752 */ // (st VR128X:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8i16] }:$src)
29180 /* 82752 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
29181 /* 82755 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29182 /* 82759 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29183 /* 82761 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29184 /* 82765 */ GIR_RootConstrainSelectedInstOperands,
29185 /* 82766 */ // GIR_Coverage, 19830,
29186 /* 82766 */ GIR_EraseRootFromParent_Done,
29187 /* 82767 */ // Label 1805: @82767
29188 /* 82767 */ GIM_Try, /*On fail goto*//*Label 1806*/ GIMT_Encode4(82809), // Rule ID 19831 //
29189 /* 82772 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29190 /* 82775 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29191 /* 82779 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29192 /* 82783 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29193 /* 82787 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29194 /* 82794 */ // (st VR128X:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8f16] }:$src)
29195 /* 82794 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128mr),
29196 /* 82797 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29197 /* 82801 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29198 /* 82803 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29199 /* 82807 */ GIR_RootConstrainSelectedInstOperands,
29200 /* 82808 */ // GIR_Coverage, 19831,
29201 /* 82808 */ GIR_EraseRootFromParent_Done,
29202 /* 82809 */ // Label 1806: @82809
29203 /* 82809 */ GIM_Try, /*On fail goto*//*Label 1807*/ GIMT_Encode4(82847), // Rule ID 19834 //
29204 /* 82814 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29205 /* 82817 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29206 /* 82821 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29207 /* 82825 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29208 /* 82832 */ // (st VR128X:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8i16] }:$src)
29209 /* 82832 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128mr),
29210 /* 82835 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29211 /* 82839 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29212 /* 82841 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29213 /* 82845 */ GIR_RootConstrainSelectedInstOperands,
29214 /* 82846 */ // GIR_Coverage, 19834,
29215 /* 82846 */ GIR_EraseRootFromParent_Done,
29216 /* 82847 */ // Label 1807: @82847
29217 /* 82847 */ GIM_Try, /*On fail goto*//*Label 1808*/ GIMT_Encode4(82885), // Rule ID 19835 //
29218 /* 82852 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29219 /* 82855 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29220 /* 82859 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29221 /* 82863 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29222 /* 82870 */ // (st VR128X:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8f16] }:$src)
29223 /* 82870 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128mr),
29224 /* 82873 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29225 /* 82877 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29226 /* 82879 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29227 /* 82883 */ GIR_RootConstrainSelectedInstOperands,
29228 /* 82884 */ // GIR_Coverage, 19835,
29229 /* 82884 */ GIR_EraseRootFromParent_Done,
29230 /* 82885 */ // Label 1808: @82885
29231 /* 82885 */ GIM_Reject,
29232 /* 82886 */ // Label 1794: @82886
29233 /* 82886 */ GIM_Reject,
29234 /* 82887 */ // Label 1493: @82887
29235 /* 82887 */ GIM_Try, /*On fail goto*//*Label 1809*/ GIMT_Encode4(83220),
29236 /* 82892 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29237 /* 82895 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29238 /* 82899 */ GIM_Try, /*On fail goto*//*Label 1810*/ GIMT_Encode4(82941), // Rule ID 1719 //
29239 /* 82904 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29240 /* 82907 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29241 /* 82911 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29242 /* 82915 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29243 /* 82919 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29244 /* 82926 */ // (st VR256:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8f32] }:$src)
29245 /* 82926 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
29246 /* 82929 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29247 /* 82933 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29248 /* 82935 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29249 /* 82939 */ GIR_RootConstrainSelectedInstOperands,
29250 /* 82940 */ // GIR_Coverage, 1719,
29251 /* 82940 */ GIR_EraseRootFromParent_Done,
29252 /* 82941 */ // Label 1810: @82941
29253 /* 82941 */ GIM_Try, /*On fail goto*//*Label 1811*/ GIMT_Encode4(82979), // Rule ID 1721 //
29254 /* 82946 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29255 /* 82949 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29256 /* 82953 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29257 /* 82957 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29258 /* 82964 */ // (st VR256:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8f32] }:$src)
29259 /* 82964 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
29260 /* 82967 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29261 /* 82971 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29262 /* 82973 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29263 /* 82977 */ GIR_RootConstrainSelectedInstOperands,
29264 /* 82978 */ // GIR_Coverage, 1721,
29265 /* 82978 */ GIR_EraseRootFromParent_Done,
29266 /* 82979 */ // Label 1811: @82979
29267 /* 82979 */ GIM_Try, /*On fail goto*//*Label 1812*/ GIMT_Encode4(83021), // Rule ID 4481 //
29268 /* 82984 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
29269 /* 82987 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29270 /* 82991 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29271 /* 82995 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29272 /* 82999 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29273 /* 83006 */ // (st VR256X:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8f32] }:$src)
29274 /* 83006 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256mr),
29275 /* 83009 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29276 /* 83013 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29277 /* 83015 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29278 /* 83019 */ GIR_RootConstrainSelectedInstOperands,
29279 /* 83020 */ // GIR_Coverage, 4481,
29280 /* 83020 */ GIR_EraseRootFromParent_Done,
29281 /* 83021 */ // Label 1812: @83021
29282 /* 83021 */ GIM_Try, /*On fail goto*//*Label 1813*/ GIMT_Encode4(83059), // Rule ID 4511 //
29283 /* 83026 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
29284 /* 83029 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29285 /* 83033 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29286 /* 83037 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29287 /* 83044 */ // (st VR256X:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8f32] }:$src)
29288 /* 83044 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ256mr),
29289 /* 83047 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29290 /* 83051 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29291 /* 83053 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29292 /* 83057 */ GIR_RootConstrainSelectedInstOperands,
29293 /* 83058 */ // GIR_Coverage, 4511,
29294 /* 83058 */ GIR_EraseRootFromParent_Done,
29295 /* 83059 */ // Label 1813: @83059
29296 /* 83059 */ GIM_Try, /*On fail goto*//*Label 1814*/ GIMT_Encode4(83101), // Rule ID 17914 //
29297 /* 83064 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29298 /* 83067 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29299 /* 83071 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29300 /* 83075 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29301 /* 83079 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29302 /* 83086 */ // (st VR256:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src)
29303 /* 83086 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
29304 /* 83089 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29305 /* 83093 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29306 /* 83095 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29307 /* 83099 */ GIR_RootConstrainSelectedInstOperands,
29308 /* 83100 */ // GIR_Coverage, 17914,
29309 /* 83100 */ GIR_EraseRootFromParent_Done,
29310 /* 83101 */ // Label 1814: @83101
29311 /* 83101 */ GIM_Try, /*On fail goto*//*Label 1815*/ GIMT_Encode4(83139), // Rule ID 17918 //
29312 /* 83106 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29313 /* 83109 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29314 /* 83113 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29315 /* 83117 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29316 /* 83124 */ // (st VR256:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src)
29317 /* 83124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
29318 /* 83127 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29319 /* 83131 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29320 /* 83133 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29321 /* 83137 */ GIR_RootConstrainSelectedInstOperands,
29322 /* 83138 */ // GIR_Coverage, 17918,
29323 /* 83138 */ GIR_EraseRootFromParent_Done,
29324 /* 83139 */ // Label 1815: @83139
29325 /* 83139 */ GIM_Try, /*On fail goto*//*Label 1816*/ GIMT_Encode4(83181), // Rule ID 19845 //
29326 /* 83144 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29327 /* 83147 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29328 /* 83151 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29329 /* 83155 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29330 /* 83159 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29331 /* 83166 */ // (st VR256X:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8i32] }:$src)
29332 /* 83166 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
29333 /* 83169 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29334 /* 83173 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29335 /* 83175 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29336 /* 83179 */ GIR_RootConstrainSelectedInstOperands,
29337 /* 83180 */ // GIR_Coverage, 19845,
29338 /* 83180 */ GIR_EraseRootFromParent_Done,
29339 /* 83181 */ // Label 1816: @83181
29340 /* 83181 */ GIM_Try, /*On fail goto*//*Label 1817*/ GIMT_Encode4(83219), // Rule ID 19849 //
29341 /* 83186 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29342 /* 83189 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29343 /* 83193 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29344 /* 83197 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29345 /* 83204 */ // (st VR256X:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8i32] }:$src)
29346 /* 83204 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256mr),
29347 /* 83207 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29348 /* 83211 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29349 /* 83213 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29350 /* 83217 */ GIR_RootConstrainSelectedInstOperands,
29351 /* 83218 */ // GIR_Coverage, 19849,
29352 /* 83218 */ GIR_EraseRootFromParent_Done,
29353 /* 83219 */ // Label 1817: @83219
29354 /* 83219 */ GIM_Reject,
29355 /* 83220 */ // Label 1809: @83220
29356 /* 83220 */ GIM_Reject,
29357 /* 83221 */ // Label 1494: @83221
29358 /* 83221 */ GIM_Try, /*On fail goto*//*Label 1818*/ GIMT_Encode4(83394),
29359 /* 83226 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29360 /* 83229 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29361 /* 83233 */ GIM_Try, /*On fail goto*//*Label 1819*/ GIMT_Encode4(83275), // Rule ID 4498 //
29362 /* 83238 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29363 /* 83241 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29364 /* 83245 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29365 /* 83249 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29366 /* 83253 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29367 /* 83260 */ // (st VR512:{ *:[v8f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPDZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8f64] }:$src)
29368 /* 83260 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZmr),
29369 /* 83263 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29370 /* 83267 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29371 /* 83269 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29372 /* 83273 */ GIR_RootConstrainSelectedInstOperands,
29373 /* 83274 */ // GIR_Coverage, 4498,
29374 /* 83274 */ GIR_EraseRootFromParent_Done,
29375 /* 83275 */ // Label 1819: @83275
29376 /* 83275 */ GIM_Try, /*On fail goto*//*Label 1820*/ GIMT_Encode4(83313), // Rule ID 4522 //
29377 /* 83280 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29378 /* 83283 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29379 /* 83287 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29380 /* 83291 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29381 /* 83298 */ // (st VR512:{ *:[v8f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8f64] }:$src)
29382 /* 83298 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZmr),
29383 /* 83301 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29384 /* 83305 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29385 /* 83307 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29386 /* 83311 */ GIR_RootConstrainSelectedInstOperands,
29387 /* 83312 */ // GIR_Coverage, 4522,
29388 /* 83312 */ GIR_EraseRootFromParent_Done,
29389 /* 83313 */ // Label 1820: @83313
29390 /* 83313 */ GIM_Try, /*On fail goto*//*Label 1821*/ GIMT_Encode4(83355), // Rule ID 4552 //
29391 /* 83318 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29392 /* 83321 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29393 /* 83325 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29394 /* 83329 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29395 /* 83333 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29396 /* 83340 */ // (st VR512:{ *:[v8i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8i64] }:$src)
29397 /* 83340 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
29398 /* 83343 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29399 /* 83347 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29400 /* 83349 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29401 /* 83353 */ GIR_RootConstrainSelectedInstOperands,
29402 /* 83354 */ // GIR_Coverage, 4552,
29403 /* 83354 */ GIR_EraseRootFromParent_Done,
29404 /* 83355 */ // Label 1821: @83355
29405 /* 83355 */ GIM_Try, /*On fail goto*//*Label 1822*/ GIMT_Encode4(83393), // Rule ID 4594 //
29406 /* 83360 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29407 /* 83363 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29408 /* 83367 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29409 /* 83371 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29410 /* 83378 */ // (st VR512:{ *:[v8i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8i64] }:$src)
29411 /* 83378 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zmr),
29412 /* 83381 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29413 /* 83385 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29414 /* 83387 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29415 /* 83391 */ GIR_RootConstrainSelectedInstOperands,
29416 /* 83392 */ // GIR_Coverage, 4594,
29417 /* 83392 */ GIR_EraseRootFromParent_Done,
29418 /* 83393 */ // Label 1822: @83393
29419 /* 83393 */ GIM_Reject,
29420 /* 83394 */ // Label 1818: @83394
29421 /* 83394 */ GIM_Reject,
29422 /* 83395 */ // Label 1495: @83395
29423 /* 83395 */ GIM_Try, /*On fail goto*//*Label 1823*/ GIMT_Encode4(83476),
29424 /* 83400 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29425 /* 83403 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29426 /* 83407 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
29427 /* 83411 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29428 /* 83415 */ GIM_Try, /*On fail goto*//*Label 1824*/ GIMT_Encode4(83445), // Rule ID 4402 //
29429 /* 83420 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoEGPR),
29430 /* 83423 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29431 /* 83430 */ // (st VK16:{ *:[v16i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVWmk addr:{ *:[iPTR] }:$dst, VK16:{ *:[v16i1] }:$src)
29432 /* 83430 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWmk),
29433 /* 83433 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29434 /* 83437 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29435 /* 83439 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29436 /* 83443 */ GIR_RootConstrainSelectedInstOperands,
29437 /* 83444 */ // GIR_Coverage, 4402,
29438 /* 83444 */ GIR_EraseRootFromParent_Done,
29439 /* 83445 */ // Label 1824: @83445
29440 /* 83445 */ GIM_Try, /*On fail goto*//*Label 1825*/ GIMT_Encode4(83475), // Rule ID 4404 //
29441 /* 83450 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEGPR_In64BitMode),
29442 /* 83453 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29443 /* 83460 */ // (st VK16:{ *:[v16i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVWmk_EVEX addr:{ *:[iPTR] }:$dst, VK16:{ *:[v16i1] }:$src)
29444 /* 83460 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWmk_EVEX),
29445 /* 83463 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29446 /* 83467 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29447 /* 83469 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29448 /* 83473 */ GIR_RootConstrainSelectedInstOperands,
29449 /* 83474 */ // GIR_Coverage, 4404,
29450 /* 83474 */ GIR_EraseRootFromParent_Done,
29451 /* 83475 */ // Label 1825: @83475
29452 /* 83475 */ GIM_Reject,
29453 /* 83476 */ // Label 1823: @83476
29454 /* 83476 */ GIM_Reject,
29455 /* 83477 */ // Label 1496: @83477
29456 /* 83477 */ GIM_Try, /*On fail goto*//*Label 1826*/ GIMT_Encode4(83730),
29457 /* 83482 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29458 /* 83485 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29459 /* 83489 */ GIM_Try, /*On fail goto*//*Label 1827*/ GIMT_Encode4(83531), // Rule ID 17940 //
29460 /* 83494 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
29461 /* 83497 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29462 /* 83501 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29463 /* 83505 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29464 /* 83509 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29465 /* 83516 */ // (st VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
29466 /* 83516 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
29467 /* 83519 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29468 /* 83523 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29469 /* 83525 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29470 /* 83529 */ GIR_RootConstrainSelectedInstOperands,
29471 /* 83530 */ // GIR_Coverage, 17940,
29472 /* 83530 */ GIR_EraseRootFromParent_Done,
29473 /* 83531 */ // Label 1827: @83531
29474 /* 83531 */ GIM_Try, /*On fail goto*//*Label 1828*/ GIMT_Encode4(83569), // Rule ID 17944 //
29475 /* 83536 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
29476 /* 83539 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29477 /* 83543 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29478 /* 83547 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29479 /* 83554 */ // (st VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
29480 /* 83554 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
29481 /* 83557 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29482 /* 83561 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29483 /* 83563 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29484 /* 83567 */ GIR_RootConstrainSelectedInstOperands,
29485 /* 83568 */ // GIR_Coverage, 17944,
29486 /* 83568 */ GIR_EraseRootFromParent_Done,
29487 /* 83569 */ // Label 1828: @83569
29488 /* 83569 */ GIM_Try, /*On fail goto*//*Label 1829*/ GIMT_Encode4(83611), // Rule ID 18320 //
29489 /* 83574 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29490 /* 83577 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29491 /* 83581 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29492 /* 83585 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29493 /* 83589 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29494 /* 83596 */ // (st VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
29495 /* 83596 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
29496 /* 83599 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29497 /* 83603 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29498 /* 83605 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29499 /* 83609 */ GIR_RootConstrainSelectedInstOperands,
29500 /* 83610 */ // GIR_Coverage, 18320,
29501 /* 83610 */ GIR_EraseRootFromParent_Done,
29502 /* 83611 */ // Label 1829: @83611
29503 /* 83611 */ GIM_Try, /*On fail goto*//*Label 1830*/ GIMT_Encode4(83649), // Rule ID 18324 //
29504 /* 83616 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29505 /* 83619 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29506 /* 83623 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29507 /* 83627 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29508 /* 83634 */ // (st VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
29509 /* 83634 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
29510 /* 83637 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29511 /* 83641 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29512 /* 83643 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29513 /* 83647 */ GIR_RootConstrainSelectedInstOperands,
29514 /* 83648 */ // GIR_Coverage, 18324,
29515 /* 83648 */ GIR_EraseRootFromParent_Done,
29516 /* 83649 */ // Label 1830: @83649
29517 /* 83649 */ GIM_Try, /*On fail goto*//*Label 1831*/ GIMT_Encode4(83691), // Rule ID 19832 //
29518 /* 83654 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29519 /* 83657 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29520 /* 83661 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29521 /* 83665 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29522 /* 83669 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29523 /* 83676 */ // (st VR128X:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v16i8] }:$src)
29524 /* 83676 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
29525 /* 83679 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29526 /* 83683 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29527 /* 83685 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29528 /* 83689 */ GIR_RootConstrainSelectedInstOperands,
29529 /* 83690 */ // GIR_Coverage, 19832,
29530 /* 83690 */ GIR_EraseRootFromParent_Done,
29531 /* 83691 */ // Label 1831: @83691
29532 /* 83691 */ GIM_Try, /*On fail goto*//*Label 1832*/ GIMT_Encode4(83729), // Rule ID 19836 //
29533 /* 83696 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29534 /* 83699 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29535 /* 83703 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29536 /* 83707 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29537 /* 83714 */ // (st VR128X:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v16i8] }:$src)
29538 /* 83714 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128mr),
29539 /* 83717 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29540 /* 83721 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29541 /* 83723 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29542 /* 83727 */ GIR_RootConstrainSelectedInstOperands,
29543 /* 83728 */ // GIR_Coverage, 19836,
29544 /* 83728 */ GIR_EraseRootFromParent_Done,
29545 /* 83729 */ // Label 1832: @83729
29546 /* 83729 */ GIM_Reject,
29547 /* 83730 */ // Label 1826: @83730
29548 /* 83730 */ GIM_Reject,
29549 /* 83731 */ // Label 1497: @83731
29550 /* 83731 */ GIM_Try, /*On fail goto*//*Label 1833*/ GIMT_Encode4(84064),
29551 /* 83736 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29552 /* 83739 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29553 /* 83743 */ GIM_Try, /*On fail goto*//*Label 1834*/ GIMT_Encode4(83785), // Rule ID 17915 //
29554 /* 83748 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29555 /* 83751 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29556 /* 83755 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29557 /* 83759 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29558 /* 83763 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29559 /* 83770 */ // (st VR256:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16i16] }:$src)
29560 /* 83770 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
29561 /* 83773 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29562 /* 83777 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29563 /* 83779 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29564 /* 83783 */ GIR_RootConstrainSelectedInstOperands,
29565 /* 83784 */ // GIR_Coverage, 17915,
29566 /* 83784 */ GIR_EraseRootFromParent_Done,
29567 /* 83785 */ // Label 1834: @83785
29568 /* 83785 */ GIM_Try, /*On fail goto*//*Label 1835*/ GIMT_Encode4(83823), // Rule ID 17919 //
29569 /* 83790 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29570 /* 83793 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29571 /* 83797 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29572 /* 83801 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29573 /* 83808 */ // (st VR256:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16i16] }:$src)
29574 /* 83808 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
29575 /* 83811 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29576 /* 83815 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29577 /* 83817 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29578 /* 83821 */ GIR_RootConstrainSelectedInstOperands,
29579 /* 83822 */ // GIR_Coverage, 17919,
29580 /* 83822 */ GIR_EraseRootFromParent_Done,
29581 /* 83823 */ // Label 1835: @83823
29582 /* 83823 */ GIM_Try, /*On fail goto*//*Label 1836*/ GIMT_Encode4(83865), // Rule ID 17927 //
29583 /* 83828 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29584 /* 83831 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29585 /* 83835 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29586 /* 83839 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29587 /* 83843 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29588 /* 83850 */ // (st VR256:{ *:[v16f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16f16] }:$src)
29589 /* 83850 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
29590 /* 83853 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29591 /* 83857 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29592 /* 83859 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29593 /* 83863 */ GIR_RootConstrainSelectedInstOperands,
29594 /* 83864 */ // GIR_Coverage, 17927,
29595 /* 83864 */ GIR_EraseRootFromParent_Done,
29596 /* 83865 */ // Label 1836: @83865
29597 /* 83865 */ GIM_Try, /*On fail goto*//*Label 1837*/ GIMT_Encode4(83903), // Rule ID 17928 //
29598 /* 83870 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29599 /* 83873 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29600 /* 83877 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29601 /* 83881 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29602 /* 83888 */ // (st VR256:{ *:[v16f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16f16] }:$src)
29603 /* 83888 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
29604 /* 83891 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29605 /* 83895 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29606 /* 83897 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29607 /* 83901 */ GIR_RootConstrainSelectedInstOperands,
29608 /* 83902 */ // GIR_Coverage, 17928,
29609 /* 83902 */ GIR_EraseRootFromParent_Done,
29610 /* 83903 */ // Label 1837: @83903
29611 /* 83903 */ GIM_Try, /*On fail goto*//*Label 1838*/ GIMT_Encode4(83945), // Rule ID 19846 //
29612 /* 83908 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29613 /* 83911 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29614 /* 83915 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29615 /* 83919 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29616 /* 83923 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29617 /* 83930 */ // (st VR256X:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16i16] }:$src)
29618 /* 83930 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
29619 /* 83933 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29620 /* 83937 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29621 /* 83939 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29622 /* 83943 */ GIR_RootConstrainSelectedInstOperands,
29623 /* 83944 */ // GIR_Coverage, 19846,
29624 /* 83944 */ GIR_EraseRootFromParent_Done,
29625 /* 83945 */ // Label 1838: @83945
29626 /* 83945 */ GIM_Try, /*On fail goto*//*Label 1839*/ GIMT_Encode4(83987), // Rule ID 19847 //
29627 /* 83950 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29628 /* 83953 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29629 /* 83957 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29630 /* 83961 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29631 /* 83965 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29632 /* 83972 */ // (st VR256X:{ *:[v16f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16f16] }:$src)
29633 /* 83972 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256mr),
29634 /* 83975 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29635 /* 83979 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29636 /* 83981 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29637 /* 83985 */ GIR_RootConstrainSelectedInstOperands,
29638 /* 83986 */ // GIR_Coverage, 19847,
29639 /* 83986 */ GIR_EraseRootFromParent_Done,
29640 /* 83987 */ // Label 1839: @83987
29641 /* 83987 */ GIM_Try, /*On fail goto*//*Label 1840*/ GIMT_Encode4(84025), // Rule ID 19850 //
29642 /* 83992 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29643 /* 83995 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29644 /* 83999 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29645 /* 84003 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29646 /* 84010 */ // (st VR256X:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16i16] }:$src)
29647 /* 84010 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256mr),
29648 /* 84013 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29649 /* 84017 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29650 /* 84019 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29651 /* 84023 */ GIR_RootConstrainSelectedInstOperands,
29652 /* 84024 */ // GIR_Coverage, 19850,
29653 /* 84024 */ GIR_EraseRootFromParent_Done,
29654 /* 84025 */ // Label 1840: @84025
29655 /* 84025 */ GIM_Try, /*On fail goto*//*Label 1841*/ GIMT_Encode4(84063), // Rule ID 19851 //
29656 /* 84030 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29657 /* 84033 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29658 /* 84037 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29659 /* 84041 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29660 /* 84048 */ // (st VR256X:{ *:[v16f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16f16] }:$src)
29661 /* 84048 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ256mr),
29662 /* 84051 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29663 /* 84055 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29664 /* 84057 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29665 /* 84061 */ GIR_RootConstrainSelectedInstOperands,
29666 /* 84062 */ // GIR_Coverage, 19851,
29667 /* 84062 */ GIR_EraseRootFromParent_Done,
29668 /* 84063 */ // Label 1841: @84063
29669 /* 84063 */ GIM_Reject,
29670 /* 84064 */ // Label 1833: @84064
29671 /* 84064 */ GIM_Reject,
29672 /* 84065 */ // Label 1498: @84065
29673 /* 84065 */ GIM_Try, /*On fail goto*//*Label 1842*/ GIMT_Encode4(84238),
29674 /* 84070 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29675 /* 84073 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29676 /* 84077 */ GIM_Try, /*On fail goto*//*Label 1843*/ GIMT_Encode4(84119), // Rule ID 4480 //
29677 /* 84082 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29678 /* 84085 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29679 /* 84089 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29680 /* 84093 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29681 /* 84097 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29682 /* 84104 */ // (st VR512:{ *:[v16f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16f32] }:$src)
29683 /* 84104 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZmr),
29684 /* 84107 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29685 /* 84111 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29686 /* 84113 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29687 /* 84117 */ GIR_RootConstrainSelectedInstOperands,
29688 /* 84118 */ // GIR_Coverage, 4480,
29689 /* 84118 */ GIR_EraseRootFromParent_Done,
29690 /* 84119 */ // Label 1843: @84119
29691 /* 84119 */ GIM_Try, /*On fail goto*//*Label 1844*/ GIMT_Encode4(84157), // Rule ID 4510 //
29692 /* 84124 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29693 /* 84127 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29694 /* 84131 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29695 /* 84135 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29696 /* 84142 */ // (st VR512:{ *:[v16f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16f32] }:$src)
29697 /* 84142 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZmr),
29698 /* 84145 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29699 /* 84149 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29700 /* 84151 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29701 /* 84155 */ GIR_RootConstrainSelectedInstOperands,
29702 /* 84156 */ // GIR_Coverage, 4510,
29703 /* 84156 */ GIR_EraseRootFromParent_Done,
29704 /* 84157 */ // Label 1844: @84157
29705 /* 84157 */ GIM_Try, /*On fail goto*//*Label 1845*/ GIMT_Encode4(84199), // Rule ID 19813 //
29706 /* 84162 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29707 /* 84165 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29708 /* 84169 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29709 /* 84173 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29710 /* 84177 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29711 /* 84184 */ // (st VR512:{ *:[v16i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16i32] }:$src)
29712 /* 84184 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
29713 /* 84187 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29714 /* 84191 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29715 /* 84193 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29716 /* 84197 */ GIR_RootConstrainSelectedInstOperands,
29717 /* 84198 */ // GIR_Coverage, 19813,
29718 /* 84198 */ GIR_EraseRootFromParent_Done,
29719 /* 84199 */ // Label 1845: @84199
29720 /* 84199 */ GIM_Try, /*On fail goto*//*Label 1846*/ GIMT_Encode4(84237), // Rule ID 19817 //
29721 /* 84204 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29722 /* 84207 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29723 /* 84211 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29724 /* 84215 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29725 /* 84222 */ // (st VR512:{ *:[v16i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16i32] }:$src)
29726 /* 84222 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zmr),
29727 /* 84225 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29728 /* 84229 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29729 /* 84231 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29730 /* 84235 */ GIR_RootConstrainSelectedInstOperands,
29731 /* 84236 */ // GIR_Coverage, 19817,
29732 /* 84236 */ GIR_EraseRootFromParent_Done,
29733 /* 84237 */ // Label 1846: @84237
29734 /* 84237 */ GIM_Reject,
29735 /* 84238 */ // Label 1842: @84238
29736 /* 84238 */ GIM_Reject,
29737 /* 84239 */ // Label 1499: @84239
29738 /* 84239 */ GIM_Try, /*On fail goto*//*Label 1847*/ GIMT_Encode4(84320),
29739 /* 84244 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29740 /* 84247 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29741 /* 84251 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
29742 /* 84255 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29743 /* 84259 */ GIM_Try, /*On fail goto*//*Label 1848*/ GIMT_Encode4(84289), // Rule ID 4406 //
29744 /* 84264 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoEGPR),
29745 /* 84267 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29746 /* 84274 */ // (st VK32:{ *:[v32i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVDmk addr:{ *:[iPTR] }:$dst, VK32:{ *:[v32i1] }:$src)
29747 /* 84274 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDmk),
29748 /* 84277 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29749 /* 84281 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29750 /* 84283 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29751 /* 84287 */ GIR_RootConstrainSelectedInstOperands,
29752 /* 84288 */ // GIR_Coverage, 4406,
29753 /* 84288 */ GIR_EraseRootFromParent_Done,
29754 /* 84289 */ // Label 1848: @84289
29755 /* 84289 */ GIM_Try, /*On fail goto*//*Label 1849*/ GIMT_Encode4(84319), // Rule ID 4410 //
29756 /* 84294 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEGPR_In64BitMode),
29757 /* 84297 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29758 /* 84304 */ // (st VK32:{ *:[v32i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVDmk_EVEX addr:{ *:[iPTR] }:$dst, VK32:{ *:[v32i1] }:$src)
29759 /* 84304 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDmk_EVEX),
29760 /* 84307 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29761 /* 84311 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29762 /* 84313 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29763 /* 84317 */ GIR_RootConstrainSelectedInstOperands,
29764 /* 84318 */ // GIR_Coverage, 4410,
29765 /* 84318 */ GIR_EraseRootFromParent_Done,
29766 /* 84319 */ // Label 1849: @84319
29767 /* 84319 */ GIM_Reject,
29768 /* 84320 */ // Label 1847: @84320
29769 /* 84320 */ GIM_Reject,
29770 /* 84321 */ // Label 1500: @84321
29771 /* 84321 */ GIM_Try, /*On fail goto*//*Label 1850*/ GIMT_Encode4(84494),
29772 /* 84326 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29773 /* 84329 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29774 /* 84333 */ GIM_Try, /*On fail goto*//*Label 1851*/ GIMT_Encode4(84375), // Rule ID 17916 //
29775 /* 84338 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29776 /* 84341 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29777 /* 84345 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29778 /* 84349 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29779 /* 84353 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29780 /* 84360 */ // (st VR256:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v32i8] }:$src)
29781 /* 84360 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
29782 /* 84363 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29783 /* 84367 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29784 /* 84369 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29785 /* 84373 */ GIR_RootConstrainSelectedInstOperands,
29786 /* 84374 */ // GIR_Coverage, 17916,
29787 /* 84374 */ GIR_EraseRootFromParent_Done,
29788 /* 84375 */ // Label 1851: @84375
29789 /* 84375 */ GIM_Try, /*On fail goto*//*Label 1852*/ GIMT_Encode4(84413), // Rule ID 17920 //
29790 /* 84380 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29791 /* 84383 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29792 /* 84387 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29793 /* 84391 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29794 /* 84398 */ // (st VR256:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v32i8] }:$src)
29795 /* 84398 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
29796 /* 84401 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29797 /* 84405 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29798 /* 84407 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29799 /* 84411 */ GIR_RootConstrainSelectedInstOperands,
29800 /* 84412 */ // GIR_Coverage, 17920,
29801 /* 84412 */ GIR_EraseRootFromParent_Done,
29802 /* 84413 */ // Label 1852: @84413
29803 /* 84413 */ GIM_Try, /*On fail goto*//*Label 1853*/ GIMT_Encode4(84455), // Rule ID 19848 //
29804 /* 84418 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29805 /* 84421 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29806 /* 84425 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29807 /* 84429 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29808 /* 84433 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29809 /* 84440 */ // (st VR256X:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v32i8] }:$src)
29810 /* 84440 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
29811 /* 84443 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29812 /* 84447 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29813 /* 84449 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29814 /* 84453 */ GIR_RootConstrainSelectedInstOperands,
29815 /* 84454 */ // GIR_Coverage, 19848,
29816 /* 84454 */ GIR_EraseRootFromParent_Done,
29817 /* 84455 */ // Label 1853: @84455
29818 /* 84455 */ GIM_Try, /*On fail goto*//*Label 1854*/ GIMT_Encode4(84493), // Rule ID 19852 //
29819 /* 84460 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29820 /* 84463 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29821 /* 84467 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29822 /* 84471 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29823 /* 84478 */ // (st VR256X:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v32i8] }:$src)
29824 /* 84478 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256mr),
29825 /* 84481 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29826 /* 84485 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29827 /* 84487 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29828 /* 84491 */ GIR_RootConstrainSelectedInstOperands,
29829 /* 84492 */ // GIR_Coverage, 19852,
29830 /* 84492 */ GIR_EraseRootFromParent_Done,
29831 /* 84493 */ // Label 1854: @84493
29832 /* 84493 */ GIM_Reject,
29833 /* 84494 */ // Label 1850: @84494
29834 /* 84494 */ GIM_Reject,
29835 /* 84495 */ // Label 1501: @84495
29836 /* 84495 */ GIM_Try, /*On fail goto*//*Label 1855*/ GIMT_Encode4(84668),
29837 /* 84500 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29838 /* 84503 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29839 /* 84507 */ GIM_Try, /*On fail goto*//*Label 1856*/ GIMT_Encode4(84549), // Rule ID 19814 //
29840 /* 84512 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29841 /* 84515 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29842 /* 84519 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29843 /* 84523 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29844 /* 84527 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29845 /* 84534 */ // (st VR512:{ *:[v32i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32i16] }:$src)
29846 /* 84534 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
29847 /* 84537 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29848 /* 84541 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29849 /* 84543 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29850 /* 84547 */ GIR_RootConstrainSelectedInstOperands,
29851 /* 84548 */ // GIR_Coverage, 19814,
29852 /* 84548 */ GIR_EraseRootFromParent_Done,
29853 /* 84549 */ // Label 1856: @84549
29854 /* 84549 */ GIM_Try, /*On fail goto*//*Label 1857*/ GIMT_Encode4(84591), // Rule ID 19815 //
29855 /* 84554 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29856 /* 84557 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29857 /* 84561 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29858 /* 84565 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29859 /* 84569 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29860 /* 84576 */ // (st VR512:{ *:[v32f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32f16] }:$src)
29861 /* 84576 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZmr),
29862 /* 84579 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29863 /* 84583 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29864 /* 84585 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29865 /* 84589 */ GIR_RootConstrainSelectedInstOperands,
29866 /* 84590 */ // GIR_Coverage, 19815,
29867 /* 84590 */ GIR_EraseRootFromParent_Done,
29868 /* 84591 */ // Label 1857: @84591
29869 /* 84591 */ GIM_Try, /*On fail goto*//*Label 1858*/ GIMT_Encode4(84629), // Rule ID 19818 //
29870 /* 84596 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29871 /* 84599 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29872 /* 84603 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29873 /* 84607 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29874 /* 84614 */ // (st VR512:{ *:[v32i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32i16] }:$src)
29875 /* 84614 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zmr),
29876 /* 84617 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29877 /* 84621 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29878 /* 84623 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29879 /* 84627 */ GIR_RootConstrainSelectedInstOperands,
29880 /* 84628 */ // GIR_Coverage, 19818,
29881 /* 84628 */ GIR_EraseRootFromParent_Done,
29882 /* 84629 */ // Label 1858: @84629
29883 /* 84629 */ GIM_Try, /*On fail goto*//*Label 1859*/ GIMT_Encode4(84667), // Rule ID 19819 //
29884 /* 84634 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29885 /* 84637 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29886 /* 84641 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29887 /* 84645 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29888 /* 84652 */ // (st VR512:{ *:[v32f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32f16] }:$src)
29889 /* 84652 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZmr),
29890 /* 84655 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29891 /* 84659 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29892 /* 84661 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29893 /* 84665 */ GIR_RootConstrainSelectedInstOperands,
29894 /* 84666 */ // GIR_Coverage, 19819,
29895 /* 84666 */ GIR_EraseRootFromParent_Done,
29896 /* 84667 */ // Label 1859: @84667
29897 /* 84667 */ GIM_Reject,
29898 /* 84668 */ // Label 1855: @84668
29899 /* 84668 */ GIM_Reject,
29900 /* 84669 */ // Label 1502: @84669
29901 /* 84669 */ GIM_Try, /*On fail goto*//*Label 1860*/ GIMT_Encode4(84750),
29902 /* 84674 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29903 /* 84677 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29904 /* 84681 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
29905 /* 84685 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29906 /* 84689 */ GIM_Try, /*On fail goto*//*Label 1861*/ GIMT_Encode4(84719), // Rule ID 4408 //
29907 /* 84694 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoEGPR),
29908 /* 84697 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29909 /* 84704 */ // (st VK64:{ *:[v64i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVQmk addr:{ *:[iPTR] }:$dst, VK64:{ *:[v64i1] }:$src)
29910 /* 84704 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQmk),
29911 /* 84707 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29912 /* 84711 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29913 /* 84713 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29914 /* 84717 */ GIR_RootConstrainSelectedInstOperands,
29915 /* 84718 */ // GIR_Coverage, 4408,
29916 /* 84718 */ GIR_EraseRootFromParent_Done,
29917 /* 84719 */ // Label 1861: @84719
29918 /* 84719 */ GIM_Try, /*On fail goto*//*Label 1862*/ GIMT_Encode4(84749), // Rule ID 4412 //
29919 /* 84724 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEGPR_In64BitMode),
29920 /* 84727 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29921 /* 84734 */ // (st VK64:{ *:[v64i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVQmk_EVEX addr:{ *:[iPTR] }:$dst, VK64:{ *:[v64i1] }:$src)
29922 /* 84734 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQmk_EVEX),
29923 /* 84737 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29924 /* 84741 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29925 /* 84743 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29926 /* 84747 */ GIR_RootConstrainSelectedInstOperands,
29927 /* 84748 */ // GIR_Coverage, 4412,
29928 /* 84748 */ GIR_EraseRootFromParent_Done,
29929 /* 84749 */ // Label 1862: @84749
29930 /* 84749 */ GIM_Reject,
29931 /* 84750 */ // Label 1860: @84750
29932 /* 84750 */ GIM_Reject,
29933 /* 84751 */ // Label 1503: @84751
29934 /* 84751 */ GIM_Try, /*On fail goto*//*Label 1863*/ GIMT_Encode4(84844),
29935 /* 84756 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29936 /* 84759 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29937 /* 84763 */ GIM_Try, /*On fail goto*//*Label 1864*/ GIMT_Encode4(84805), // Rule ID 19816 //
29938 /* 84768 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29939 /* 84771 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29940 /* 84775 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29941 /* 84779 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29942 /* 84783 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29943 /* 84790 */ // (st VR512:{ *:[v64i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v64i8] }:$src)
29944 /* 84790 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
29945 /* 84793 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29946 /* 84797 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29947 /* 84799 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29948 /* 84803 */ GIR_RootConstrainSelectedInstOperands,
29949 /* 84804 */ // GIR_Coverage, 19816,
29950 /* 84804 */ GIR_EraseRootFromParent_Done,
29951 /* 84805 */ // Label 1864: @84805
29952 /* 84805 */ GIM_Try, /*On fail goto*//*Label 1865*/ GIMT_Encode4(84843), // Rule ID 19820 //
29953 /* 84810 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29954 /* 84813 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29955 /* 84817 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29956 /* 84821 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29957 /* 84828 */ // (st VR512:{ *:[v64i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v64i8] }:$src)
29958 /* 84828 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zmr),
29959 /* 84831 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29960 /* 84835 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29961 /* 84837 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29962 /* 84841 */ GIR_RootConstrainSelectedInstOperands,
29963 /* 84842 */ // GIR_Coverage, 19820,
29964 /* 84842 */ GIR_EraseRootFromParent_Done,
29965 /* 84843 */ // Label 1865: @84843
29966 /* 84843 */ GIM_Reject,
29967 /* 84844 */ // Label 1863: @84844
29968 /* 84844 */ GIM_Reject,
29969 /* 84845 */ // Label 1504: @84845
29970 /* 84845 */ GIM_Reject,
29971 /* 84846 */ // Label 15: @84846
29972 /* 84846 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 1870*/ GIMT_Encode4(85081),
29973 /* 84857 */ /*GILLT_s8*//*Label 1866*/ GIMT_Encode4(84873),
29974 /* 84861 */ /*GILLT_s16*//*Label 1867*/ GIMT_Encode4(84925),
29975 /* 84865 */ /*GILLT_s32*//*Label 1868*/ GIMT_Encode4(84977),
29976 /* 84869 */ /*GILLT_s64*//*Label 1869*/ GIMT_Encode4(85029),
29977 /* 84873 */ // Label 1866: @84873
29978 /* 84873 */ GIM_Try, /*On fail goto*//*Label 1871*/ GIMT_Encode4(84924), // Rule ID 45 //
29979 /* 84878 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
29980 /* 84881 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
29981 /* 84888 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
29982 /* 84892 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29983 /* 84896 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
29984 /* 84900 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29985 /* 84907 */ // (atomic_swap:{ *:[i8] } addr:{ *:[iPTR] }:$ptr, GR8:{ *:[i8] }:$val)<<P:Predicate_atomic_swap_i8>> => (XCHG8rm:{ *:[i8] } GR8:{ *:[i8] }:$val, addr:{ *:[iPTR] }:$ptr)
29986 /* 84907 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XCHG8rm),
29987 /* 84910 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
29988 /* 84912 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
29989 /* 84914 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
29990 /* 84918 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29991 /* 84922 */ GIR_RootConstrainSelectedInstOperands,
29992 /* 84923 */ // GIR_Coverage, 45,
29993 /* 84923 */ GIR_EraseRootFromParent_Done,
29994 /* 84924 */ // Label 1871: @84924
29995 /* 84924 */ GIM_Reject,
29996 /* 84925 */ // Label 1867: @84925
29997 /* 84925 */ GIM_Try, /*On fail goto*//*Label 1872*/ GIMT_Encode4(84976), // Rule ID 46 //
29998 /* 84930 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
29999 /* 84933 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
30000 /* 84940 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
30001 /* 84944 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30002 /* 84948 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
30003 /* 84952 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30004 /* 84959 */ // (atomic_swap:{ *:[i16] } addr:{ *:[iPTR] }:$ptr, GR16:{ *:[i16] }:$val)<<P:Predicate_atomic_swap_i16>> => (XCHG16rm:{ *:[i16] } GR16:{ *:[i16] }:$val, addr:{ *:[iPTR] }:$ptr)
30005 /* 84959 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XCHG16rm),
30006 /* 84962 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30007 /* 84964 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
30008 /* 84966 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
30009 /* 84970 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30010 /* 84974 */ GIR_RootConstrainSelectedInstOperands,
30011 /* 84975 */ // GIR_Coverage, 46,
30012 /* 84975 */ GIR_EraseRootFromParent_Done,
30013 /* 84976 */ // Label 1872: @84976
30014 /* 84976 */ GIM_Reject,
30015 /* 84977 */ // Label 1868: @84977
30016 /* 84977 */ GIM_Try, /*On fail goto*//*Label 1873*/ GIMT_Encode4(85028), // Rule ID 47 //
30017 /* 84982 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
30018 /* 84985 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
30019 /* 84992 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
30020 /* 84996 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30021 /* 85000 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
30022 /* 85004 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30023 /* 85011 */ // (atomic_swap:{ *:[i32] } addr:{ *:[iPTR] }:$ptr, GR32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_i32>> => (XCHG32rm:{ *:[i32] } GR32:{ *:[i32] }:$val, addr:{ *:[iPTR] }:$ptr)
30024 /* 85011 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XCHG32rm),
30025 /* 85014 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30026 /* 85016 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
30027 /* 85018 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
30028 /* 85022 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30029 /* 85026 */ GIR_RootConstrainSelectedInstOperands,
30030 /* 85027 */ // GIR_Coverage, 47,
30031 /* 85027 */ GIR_EraseRootFromParent_Done,
30032 /* 85028 */ // Label 1873: @85028
30033 /* 85028 */ GIM_Reject,
30034 /* 85029 */ // Label 1869: @85029
30035 /* 85029 */ GIM_Try, /*On fail goto*//*Label 1874*/ GIMT_Encode4(85080), // Rule ID 48 //
30036 /* 85034 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
30037 /* 85037 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
30038 /* 85044 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
30039 /* 85048 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30040 /* 85052 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
30041 /* 85056 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30042 /* 85063 */ // (atomic_swap:{ *:[i64] } addr:{ *:[iPTR] }:$ptr, GR64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_i64>> => (XCHG64rm:{ *:[i64] } GR64:{ *:[i64] }:$val, addr:{ *:[iPTR] }:$ptr)
30043 /* 85063 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XCHG64rm),
30044 /* 85066 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30045 /* 85068 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
30046 /* 85070 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
30047 /* 85074 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30048 /* 85078 */ GIR_RootConstrainSelectedInstOperands,
30049 /* 85079 */ // GIR_Coverage, 48,
30050 /* 85079 */ GIR_EraseRootFromParent_Done,
30051 /* 85080 */ // Label 1874: @85080
30052 /* 85080 */ GIM_Reject,
30053 /* 85081 */ // Label 1870: @85081
30054 /* 85081 */ GIM_Reject,
30055 /* 85082 */ // Label 16: @85082
30056 /* 85082 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 1879*/ GIMT_Encode4(85329),
30057 /* 85093 */ /*GILLT_s8*//*Label 1875*/ GIMT_Encode4(85109),
30058 /* 85097 */ /*GILLT_s16*//*Label 1876*/ GIMT_Encode4(85164),
30059 /* 85101 */ /*GILLT_s32*//*Label 1877*/ GIMT_Encode4(85219),
30060 /* 85105 */ /*GILLT_s64*//*Label 1878*/ GIMT_Encode4(85274),
30061 /* 85109 */ // Label 1875: @85109
30062 /* 85109 */ GIM_Try, /*On fail goto*//*Label 1880*/ GIMT_Encode4(85163), // Rule ID 17286 //
30063 /* 85114 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
30064 /* 85117 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
30065 /* 85124 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
30066 /* 85128 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30067 /* 85132 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
30068 /* 85136 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30069 /* 85143 */ // (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)
30070 /* 85143 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LXADD8),
30071 /* 85146 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30072 /* 85148 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
30073 /* 85150 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
30074 /* 85154 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
30075 /* 85157 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30076 /* 85161 */ GIR_RootConstrainSelectedInstOperands,
30077 /* 85162 */ // GIR_Coverage, 17286,
30078 /* 85162 */ GIR_EraseRootFromParent_Done,
30079 /* 85163 */ // Label 1880: @85163
30080 /* 85163 */ GIM_Reject,
30081 /* 85164 */ // Label 1876: @85164
30082 /* 85164 */ GIM_Try, /*On fail goto*//*Label 1881*/ GIMT_Encode4(85218), // Rule ID 17287 //
30083 /* 85169 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
30084 /* 85172 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
30085 /* 85179 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
30086 /* 85183 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30087 /* 85187 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
30088 /* 85191 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30089 /* 85198 */ // (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)
30090 /* 85198 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LXADD16),
30091 /* 85201 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30092 /* 85203 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
30093 /* 85205 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
30094 /* 85209 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
30095 /* 85212 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30096 /* 85216 */ GIR_RootConstrainSelectedInstOperands,
30097 /* 85217 */ // GIR_Coverage, 17287,
30098 /* 85217 */ GIR_EraseRootFromParent_Done,
30099 /* 85218 */ // Label 1881: @85218
30100 /* 85218 */ GIM_Reject,
30101 /* 85219 */ // Label 1877: @85219
30102 /* 85219 */ GIM_Try, /*On fail goto*//*Label 1882*/ GIMT_Encode4(85273), // Rule ID 17288 //
30103 /* 85224 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
30104 /* 85227 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
30105 /* 85234 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
30106 /* 85238 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30107 /* 85242 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
30108 /* 85246 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30109 /* 85253 */ // (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)
30110 /* 85253 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LXADD32),
30111 /* 85256 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30112 /* 85258 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
30113 /* 85260 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
30114 /* 85264 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
30115 /* 85267 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30116 /* 85271 */ GIR_RootConstrainSelectedInstOperands,
30117 /* 85272 */ // GIR_Coverage, 17288,
30118 /* 85272 */ GIR_EraseRootFromParent_Done,
30119 /* 85273 */ // Label 1882: @85273
30120 /* 85273 */ GIM_Reject,
30121 /* 85274 */ // Label 1878: @85274
30122 /* 85274 */ GIM_Try, /*On fail goto*//*Label 1883*/ GIMT_Encode4(85328), // Rule ID 17289 //
30123 /* 85279 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
30124 /* 85282 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
30125 /* 85289 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
30126 /* 85293 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30127 /* 85297 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
30128 /* 85301 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30129 /* 85308 */ // (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)
30130 /* 85308 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LXADD64),
30131 /* 85311 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30132 /* 85313 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
30133 /* 85315 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
30134 /* 85319 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
30135 /* 85322 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30136 /* 85326 */ GIR_RootConstrainSelectedInstOperands,
30137 /* 85327 */ // GIR_Coverage, 17289,
30138 /* 85327 */ GIR_EraseRootFromParent_Done,
30139 /* 85328 */ // Label 1883: @85328
30140 /* 85328 */ GIM_Reject,
30141 /* 85329 */ // Label 1879: @85329
30142 /* 85329 */ GIM_Reject,
30143 /* 85330 */ // Label 17: @85330
30144 /* 85330 */ GIM_Try, /*On fail goto*//*Label 1884*/ GIMT_Encode4(85485),
30145 /* 85335 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
30146 /* 85338 */ GIM_Try, /*On fail goto*//*Label 1885*/ GIMT_Encode4(85388), // Rule ID 156 //
30147 /* 85343 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPREFETCHI_In64BitMode),
30148 /* 85346 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
30149 /* 85349 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
30150 /* 85352 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/0,
30151 /* 85356 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
30152 /* 85360 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 3,
30153 /* 85364 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 0,
30154 /* 85368 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30155 /* 85375 */ // (prefetch addr:{ *:[iPTR] }:$src, 0:{ *:[i32] }, 3:{ *:[i32] }, 0:{ *:[i32] }) => (PREFETCHIT0 addr:{ *:[iPTR] }:$src)
30156 /* 85375 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHIT0),
30157 /* 85378 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30158 /* 85382 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30159 /* 85386 */ GIR_RootConstrainSelectedInstOperands,
30160 /* 85387 */ // GIR_Coverage, 156,
30161 /* 85387 */ GIR_EraseRootFromParent_Done,
30162 /* 85388 */ // Label 1885: @85388
30163 /* 85388 */ GIM_Try, /*On fail goto*//*Label 1886*/ GIMT_Encode4(85438), // Rule ID 157 //
30164 /* 85393 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPREFETCHI_In64BitMode),
30165 /* 85396 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
30166 /* 85399 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
30167 /* 85402 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/0,
30168 /* 85406 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
30169 /* 85410 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 2,
30170 /* 85414 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 0,
30171 /* 85418 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30172 /* 85425 */ // (prefetch addr:{ *:[iPTR] }:$src, 0:{ *:[i32] }, 2:{ *:[i32] }, 0:{ *:[i32] }) => (PREFETCHIT1 addr:{ *:[iPTR] }:$src)
30173 /* 85425 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHIT1),
30174 /* 85428 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30175 /* 85432 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30176 /* 85436 */ GIR_RootConstrainSelectedInstOperands,
30177 /* 85437 */ // GIR_Coverage, 157,
30178 /* 85437 */ GIR_EraseRootFromParent_Done,
30179 /* 85438 */ // Label 1886: @85438
30180 /* 85438 */ GIM_Try, /*On fail goto*//*Label 1887*/ GIMT_Encode4(85484), // Rule ID 16987 //
30181 /* 85443 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPrefetchW),
30182 /* 85446 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
30183 /* 85449 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/0,
30184 /* 85453 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 1,
30185 /* 85457 */ // MIs[0] Operand 2
30186 /* 85457 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
30187 /* 85460 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 1,
30188 /* 85464 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30189 /* 85471 */ // (prefetch addr:{ *:[iPTR] }:$addr, 1:{ *:[i32] }, (timm:{ *:[i32] })<<P:Predicate_PrefetchWLevel>>, 1:{ *:[i32] }) => (PREFETCHW addr:{ *:[iPTR] }:$addr)
30190 /* 85471 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHW),
30191 /* 85474 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // addr
30192 /* 85478 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30193 /* 85482 */ GIR_RootConstrainSelectedInstOperands,
30194 /* 85483 */ // GIR_Coverage, 16987,
30195 /* 85483 */ GIR_EraseRootFromParent_Done,
30196 /* 85484 */ // Label 1887: @85484
30197 /* 85484 */ GIM_Reject,
30198 /* 85485 */ // Label 1884: @85485
30199 /* 85485 */ GIM_Try, /*On fail goto*//*Label 1888*/ GIMT_Encode4(85648),
30200 /* 85490 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
30201 /* 85493 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
30202 /* 85496 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/0,
30203 /* 85500 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
30204 /* 85503 */ GIM_Try, /*On fail goto*//*Label 1889*/ GIMT_Encode4(85539), // Rule ID 2505 //
30205 /* 85508 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSEPrefetch),
30206 /* 85511 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 3,
30207 /* 85515 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 1,
30208 /* 85519 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30209 /* 85526 */ // (prefetch addr:{ *:[iPTR] }:$src, (timm:{ *:[i32] }), 3:{ *:[i32] }, 1:{ *:[i32] }) => (PREFETCHT0 addr:{ *:[iPTR] }:$src)
30210 /* 85526 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHT0),
30211 /* 85529 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30212 /* 85533 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30213 /* 85537 */ GIR_RootConstrainSelectedInstOperands,
30214 /* 85538 */ // GIR_Coverage, 2505,
30215 /* 85538 */ GIR_EraseRootFromParent_Done,
30216 /* 85539 */ // Label 1889: @85539
30217 /* 85539 */ GIM_Try, /*On fail goto*//*Label 1890*/ GIMT_Encode4(85575), // Rule ID 2506 //
30218 /* 85544 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSEPrefetch),
30219 /* 85547 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 2,
30220 /* 85551 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 1,
30221 /* 85555 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30222 /* 85562 */ // (prefetch addr:{ *:[iPTR] }:$src, (timm:{ *:[i32] }), 2:{ *:[i32] }, 1:{ *:[i32] }) => (PREFETCHT1 addr:{ *:[iPTR] }:$src)
30223 /* 85562 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHT1),
30224 /* 85565 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30225 /* 85569 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30226 /* 85573 */ GIR_RootConstrainSelectedInstOperands,
30227 /* 85574 */ // GIR_Coverage, 2506,
30228 /* 85574 */ GIR_EraseRootFromParent_Done,
30229 /* 85575 */ // Label 1890: @85575
30230 /* 85575 */ GIM_Try, /*On fail goto*//*Label 1891*/ GIMT_Encode4(85611), // Rule ID 2507 //
30231 /* 85580 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSEPrefetch),
30232 /* 85583 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
30233 /* 85587 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 1,
30234 /* 85591 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30235 /* 85598 */ // (prefetch addr:{ *:[iPTR] }:$src, (timm:{ *:[i32] }), 1:{ *:[i32] }, 1:{ *:[i32] }) => (PREFETCHT2 addr:{ *:[iPTR] }:$src)
30236 /* 85598 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHT2),
30237 /* 85601 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30238 /* 85605 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30239 /* 85609 */ GIR_RootConstrainSelectedInstOperands,
30240 /* 85610 */ // GIR_Coverage, 2507,
30241 /* 85610 */ GIR_EraseRootFromParent_Done,
30242 /* 85611 */ // Label 1891: @85611
30243 /* 85611 */ GIM_Try, /*On fail goto*//*Label 1892*/ GIMT_Encode4(85647), // Rule ID 2508 //
30244 /* 85616 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSEPrefetch),
30245 /* 85619 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 0,
30246 /* 85623 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 1,
30247 /* 85627 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30248 /* 85634 */ // (prefetch addr:{ *:[iPTR] }:$src, (timm:{ *:[i32] }), 0:{ *:[i32] }, 1:{ *:[i32] }) => (PREFETCHNTA addr:{ *:[iPTR] }:$src)
30249 /* 85634 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHNTA),
30250 /* 85637 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30251 /* 85641 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30252 /* 85645 */ GIR_RootConstrainSelectedInstOperands,
30253 /* 85646 */ // GIR_Coverage, 2508,
30254 /* 85646 */ GIR_EraseRootFromParent_Done,
30255 /* 85647 */ // Label 1892: @85647
30256 /* 85647 */ GIM_Reject,
30257 /* 85648 */ // Label 1888: @85648
30258 /* 85648 */ GIM_Reject,
30259 /* 85649 */ // Label 18: @85649
30260 /* 85649 */ GIM_Try, /*On fail goto*//*Label 1893*/ GIMT_Encode4(87978),
30261 /* 85654 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/3,
30262 /* 85657 */ GIM_Try, /*On fail goto*//*Label 1894*/ GIMT_Encode4(85724), // Rule ID 1530 //
30263 /* 85662 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30264 /* 85665 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubwd),
30265 /* 85670 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30266 /* 85673 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30267 /* 85676 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30268 /* 85680 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30269 /* 85684 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30270 /* 85688 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30271 /* 85691 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30272 /* 85695 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30273 /* 85699 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30274 /* 85701 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30275 /* 85708 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16177:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHSUBWDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
30276 /* 85708 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBWDrm),
30277 /* 85711 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30278 /* 85713 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30279 /* 85717 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30280 /* 85722 */ GIR_RootConstrainSelectedInstOperands,
30281 /* 85723 */ // GIR_Coverage, 1530,
30282 /* 85723 */ GIR_EraseRootFromParent_Done,
30283 /* 85724 */ // Label 1894: @85724
30284 /* 85724 */ GIM_Try, /*On fail goto*//*Label 1895*/ GIMT_Encode4(85791), // Rule ID 1532 //
30285 /* 85729 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30286 /* 85732 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubdq),
30287 /* 85737 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30288 /* 85740 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30289 /* 85743 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30290 /* 85747 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30291 /* 85751 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30292 /* 85755 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30293 /* 85758 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30294 /* 85762 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30295 /* 85766 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30296 /* 85768 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30297 /* 85775 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16176:{ *:[iPTR] }, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHSUBDQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30298 /* 85775 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBDQrm),
30299 /* 85778 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30300 /* 85780 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30301 /* 85784 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30302 /* 85789 */ GIR_RootConstrainSelectedInstOperands,
30303 /* 85790 */ // GIR_Coverage, 1532,
30304 /* 85790 */ GIR_EraseRootFromParent_Done,
30305 /* 85791 */ // Label 1895: @85791
30306 /* 85791 */ GIM_Try, /*On fail goto*//*Label 1896*/ GIMT_Encode4(85858), // Rule ID 1534 //
30307 /* 85796 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30308 /* 85799 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubbw),
30309 /* 85804 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
30310 /* 85807 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30311 /* 85810 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30312 /* 85814 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30313 /* 85818 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30314 /* 85822 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30315 /* 85825 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30316 /* 85829 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30317 /* 85833 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30318 /* 85835 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30319 /* 85842 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16175:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHSUBBWrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
30320 /* 85842 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBBWrm),
30321 /* 85845 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30322 /* 85847 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30323 /* 85851 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30324 /* 85856 */ GIR_RootConstrainSelectedInstOperands,
30325 /* 85857 */ // GIR_Coverage, 1534,
30326 /* 85857 */ GIR_EraseRootFromParent_Done,
30327 /* 85858 */ // Label 1896: @85858
30328 /* 85858 */ GIM_Try, /*On fail goto*//*Label 1897*/ GIMT_Encode4(85925), // Rule ID 1536 //
30329 /* 85863 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30330 /* 85866 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddwq),
30331 /* 85871 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30332 /* 85874 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30333 /* 85877 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30334 /* 85881 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30335 /* 85885 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30336 /* 85889 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30337 /* 85892 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30338 /* 85896 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30339 /* 85900 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30340 /* 85902 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30341 /* 85909 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16174:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDWQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30342 /* 85909 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDWQrm),
30343 /* 85912 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30344 /* 85914 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30345 /* 85918 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30346 /* 85923 */ GIR_RootConstrainSelectedInstOperands,
30347 /* 85924 */ // GIR_Coverage, 1536,
30348 /* 85924 */ GIR_EraseRootFromParent_Done,
30349 /* 85925 */ // Label 1897: @85925
30350 /* 85925 */ GIM_Try, /*On fail goto*//*Label 1898*/ GIMT_Encode4(85992), // Rule ID 1538 //
30351 /* 85930 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30352 /* 85933 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddwd),
30353 /* 85938 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30354 /* 85941 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30355 /* 85944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30356 /* 85948 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30357 /* 85952 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30358 /* 85956 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30359 /* 85959 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30360 /* 85963 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30361 /* 85967 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30362 /* 85969 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30363 /* 85976 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16173:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDWDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
30364 /* 85976 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDWDrm),
30365 /* 85979 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30366 /* 85981 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30367 /* 85985 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30368 /* 85990 */ GIR_RootConstrainSelectedInstOperands,
30369 /* 85991 */ // GIR_Coverage, 1538,
30370 /* 85991 */ GIR_EraseRootFromParent_Done,
30371 /* 85992 */ // Label 1898: @85992
30372 /* 85992 */ GIM_Try, /*On fail goto*//*Label 1899*/ GIMT_Encode4(86059), // Rule ID 1540 //
30373 /* 85997 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30374 /* 86000 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadduwq),
30375 /* 86005 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30376 /* 86008 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30377 /* 86011 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30378 /* 86015 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30379 /* 86019 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30380 /* 86023 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30381 /* 86026 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30382 /* 86030 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30383 /* 86034 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30384 /* 86036 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30385 /* 86043 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16172:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUWQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30386 /* 86043 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUWQrm),
30387 /* 86046 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30388 /* 86048 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30389 /* 86052 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30390 /* 86057 */ GIR_RootConstrainSelectedInstOperands,
30391 /* 86058 */ // GIR_Coverage, 1540,
30392 /* 86058 */ GIR_EraseRootFromParent_Done,
30393 /* 86059 */ // Label 1899: @86059
30394 /* 86059 */ GIM_Try, /*On fail goto*//*Label 1900*/ GIMT_Encode4(86126), // Rule ID 1542 //
30395 /* 86064 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30396 /* 86067 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadduwd),
30397 /* 86072 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30398 /* 86075 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30399 /* 86078 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30400 /* 86082 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30401 /* 86086 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30402 /* 86090 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30403 /* 86093 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30404 /* 86097 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30405 /* 86101 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30406 /* 86103 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30407 /* 86110 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16171:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUWDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
30408 /* 86110 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUWDrm),
30409 /* 86113 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30410 /* 86115 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30411 /* 86119 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30412 /* 86124 */ GIR_RootConstrainSelectedInstOperands,
30413 /* 86125 */ // GIR_Coverage, 1542,
30414 /* 86125 */ GIR_EraseRootFromParent_Done,
30415 /* 86126 */ // Label 1900: @86126
30416 /* 86126 */ GIM_Try, /*On fail goto*//*Label 1901*/ GIMT_Encode4(86193), // Rule ID 1544 //
30417 /* 86131 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30418 /* 86134 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddudq),
30419 /* 86139 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30420 /* 86142 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30421 /* 86145 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30422 /* 86149 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30423 /* 86153 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30424 /* 86157 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30425 /* 86160 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30426 /* 86164 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30427 /* 86168 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30428 /* 86170 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30429 /* 86177 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16170:{ *:[iPTR] }, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUDQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30430 /* 86177 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUDQrm),
30431 /* 86180 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30432 /* 86182 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30433 /* 86186 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30434 /* 86191 */ GIR_RootConstrainSelectedInstOperands,
30435 /* 86192 */ // GIR_Coverage, 1544,
30436 /* 86192 */ GIR_EraseRootFromParent_Done,
30437 /* 86193 */ // Label 1901: @86193
30438 /* 86193 */ GIM_Try, /*On fail goto*//*Label 1902*/ GIMT_Encode4(86260), // Rule ID 1546 //
30439 /* 86198 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30440 /* 86201 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubw),
30441 /* 86206 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
30442 /* 86209 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30443 /* 86212 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30444 /* 86216 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30445 /* 86220 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30446 /* 86224 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30447 /* 86227 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30448 /* 86231 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30449 /* 86235 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30450 /* 86237 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30451 /* 86244 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16169:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUBWrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
30452 /* 86244 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBWrm),
30453 /* 86247 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30454 /* 86249 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30455 /* 86253 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30456 /* 86258 */ GIR_RootConstrainSelectedInstOperands,
30457 /* 86259 */ // GIR_Coverage, 1546,
30458 /* 86259 */ GIR_EraseRootFromParent_Done,
30459 /* 86260 */ // Label 1902: @86260
30460 /* 86260 */ GIM_Try, /*On fail goto*//*Label 1903*/ GIMT_Encode4(86327), // Rule ID 1548 //
30461 /* 86265 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30462 /* 86268 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubq),
30463 /* 86273 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30464 /* 86276 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30465 /* 86279 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30466 /* 86283 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30467 /* 86287 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30468 /* 86291 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30469 /* 86294 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30470 /* 86298 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30471 /* 86302 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30472 /* 86304 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30473 /* 86311 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16168:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUBQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30474 /* 86311 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBQrm),
30475 /* 86314 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30476 /* 86316 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30477 /* 86320 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30478 /* 86325 */ GIR_RootConstrainSelectedInstOperands,
30479 /* 86326 */ // GIR_Coverage, 1548,
30480 /* 86326 */ GIR_EraseRootFromParent_Done,
30481 /* 86327 */ // Label 1903: @86327
30482 /* 86327 */ GIM_Try, /*On fail goto*//*Label 1904*/ GIMT_Encode4(86394), // Rule ID 1550 //
30483 /* 86332 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30484 /* 86335 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubd),
30485 /* 86340 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30486 /* 86343 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30487 /* 86346 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30488 /* 86350 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30489 /* 86354 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30490 /* 86358 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30491 /* 86361 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30492 /* 86365 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30493 /* 86369 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30494 /* 86371 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30495 /* 86378 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16167:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUBDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
30496 /* 86378 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBDrm),
30497 /* 86381 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30498 /* 86383 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30499 /* 86387 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30500 /* 86392 */ GIR_RootConstrainSelectedInstOperands,
30501 /* 86393 */ // GIR_Coverage, 1550,
30502 /* 86393 */ GIR_EraseRootFromParent_Done,
30503 /* 86394 */ // Label 1904: @86394
30504 /* 86394 */ GIM_Try, /*On fail goto*//*Label 1905*/ GIMT_Encode4(86461), // Rule ID 1552 //
30505 /* 86399 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30506 /* 86402 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadddq),
30507 /* 86407 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30508 /* 86410 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30509 /* 86413 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30510 /* 86417 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30511 /* 86421 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30512 /* 86425 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30513 /* 86428 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30514 /* 86432 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30515 /* 86436 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30516 /* 86438 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30517 /* 86445 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16166:{ *:[iPTR] }, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDDQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30518 /* 86445 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDDQrm),
30519 /* 86448 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30520 /* 86450 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30521 /* 86454 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30522 /* 86459 */ GIR_RootConstrainSelectedInstOperands,
30523 /* 86460 */ // GIR_Coverage, 1552,
30524 /* 86460 */ GIR_EraseRootFromParent_Done,
30525 /* 86461 */ // Label 1905: @86461
30526 /* 86461 */ GIM_Try, /*On fail goto*//*Label 1906*/ GIMT_Encode4(86528), // Rule ID 1554 //
30527 /* 86466 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30528 /* 86469 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbw),
30529 /* 86474 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
30530 /* 86477 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30531 /* 86480 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30532 /* 86484 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30533 /* 86488 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30534 /* 86492 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30535 /* 86495 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30536 /* 86499 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30537 /* 86503 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30538 /* 86505 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30539 /* 86512 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16165:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDBWrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
30540 /* 86512 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBWrm),
30541 /* 86515 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30542 /* 86517 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30543 /* 86521 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30544 /* 86526 */ GIR_RootConstrainSelectedInstOperands,
30545 /* 86527 */ // GIR_Coverage, 1554,
30546 /* 86527 */ GIR_EraseRootFromParent_Done,
30547 /* 86528 */ // Label 1906: @86528
30548 /* 86528 */ GIM_Try, /*On fail goto*//*Label 1907*/ GIMT_Encode4(86595), // Rule ID 1556 //
30549 /* 86533 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30550 /* 86536 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbq),
30551 /* 86541 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30552 /* 86544 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30553 /* 86547 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30554 /* 86551 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30555 /* 86555 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30556 /* 86559 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30557 /* 86562 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30558 /* 86566 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30559 /* 86570 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30560 /* 86572 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30561 /* 86579 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16164:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDBQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30562 /* 86579 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBQrm),
30563 /* 86582 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30564 /* 86584 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30565 /* 86588 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30566 /* 86593 */ GIR_RootConstrainSelectedInstOperands,
30567 /* 86594 */ // GIR_Coverage, 1556,
30568 /* 86594 */ GIR_EraseRootFromParent_Done,
30569 /* 86595 */ // Label 1907: @86595
30570 /* 86595 */ GIM_Try, /*On fail goto*//*Label 1908*/ GIMT_Encode4(86662), // Rule ID 1558 //
30571 /* 86600 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30572 /* 86603 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbd),
30573 /* 86608 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30574 /* 86611 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30575 /* 86614 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30576 /* 86618 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30577 /* 86622 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30578 /* 86626 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30579 /* 86629 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30580 /* 86633 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30581 /* 86637 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30582 /* 86639 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30583 /* 86646 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16163:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDBDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
30584 /* 86646 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBDrm),
30585 /* 86649 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30586 /* 86651 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30587 /* 86655 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30588 /* 86660 */ GIR_RootConstrainSelectedInstOperands,
30589 /* 86661 */ // GIR_Coverage, 1558,
30590 /* 86661 */ GIR_EraseRootFromParent_Done,
30591 /* 86662 */ // Label 1908: @86662
30592 /* 86662 */ GIM_Try, /*On fail goto*//*Label 1909*/ GIMT_Encode4(86729), // Rule ID 1564 //
30593 /* 86667 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30594 /* 86670 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ps),
30595 /* 86675 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30596 /* 86678 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30597 /* 86681 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30598 /* 86685 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30599 /* 86689 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30600 /* 86693 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30601 /* 86696 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30602 /* 86700 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30603 /* 86704 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30604 /* 86706 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30605 /* 86713 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16155:{ *:[iPTR] }, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFRCZPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
30606 /* 86713 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPSrm),
30607 /* 86716 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30608 /* 86718 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30609 /* 86722 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30610 /* 86727 */ GIR_RootConstrainSelectedInstOperands,
30611 /* 86728 */ // GIR_Coverage, 1564,
30612 /* 86728 */ GIR_EraseRootFromParent_Done,
30613 /* 86729 */ // Label 1909: @86729
30614 /* 86729 */ GIM_Try, /*On fail goto*//*Label 1910*/ GIMT_Encode4(86796), // Rule ID 1566 //
30615 /* 86734 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30616 /* 86737 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ps_256),
30617 /* 86742 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
30618 /* 86745 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
30619 /* 86748 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30620 /* 86752 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30621 /* 86756 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30622 /* 86760 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30623 /* 86763 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30624 /* 86767 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30625 /* 86771 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30626 /* 86773 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30627 /* 86780 */ // (intrinsic_wo_chain:{ *:[v8f32] } 16156:{ *:[iPTR] }, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFRCZPSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
30628 /* 86780 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPSYrm),
30629 /* 86783 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30630 /* 86785 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30631 /* 86789 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30632 /* 86794 */ GIR_RootConstrainSelectedInstOperands,
30633 /* 86795 */ // GIR_Coverage, 1566,
30634 /* 86795 */ GIR_EraseRootFromParent_Done,
30635 /* 86796 */ // Label 1910: @86796
30636 /* 86796 */ GIM_Try, /*On fail goto*//*Label 1911*/ GIMT_Encode4(86863), // Rule ID 1572 //
30637 /* 86801 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30638 /* 86804 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_pd),
30639 /* 86809 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30640 /* 86812 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
30641 /* 86815 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30642 /* 86819 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30643 /* 86823 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30644 /* 86827 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30645 /* 86830 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30646 /* 86834 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30647 /* 86838 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30648 /* 86840 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30649 /* 86847 */ // (intrinsic_wo_chain:{ *:[v2f64] } 16153:{ *:[iPTR] }, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFRCZPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
30650 /* 86847 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPDrm),
30651 /* 86850 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30652 /* 86852 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30653 /* 86856 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30654 /* 86861 */ GIR_RootConstrainSelectedInstOperands,
30655 /* 86862 */ // GIR_Coverage, 1572,
30656 /* 86862 */ GIR_EraseRootFromParent_Done,
30657 /* 86863 */ // Label 1911: @86863
30658 /* 86863 */ GIM_Try, /*On fail goto*//*Label 1912*/ GIMT_Encode4(86930), // Rule ID 1574 //
30659 /* 86868 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30660 /* 86871 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_pd_256),
30661 /* 86876 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
30662 /* 86879 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
30663 /* 86882 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30664 /* 86886 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30665 /* 86890 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30666 /* 86894 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30667 /* 86897 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30668 /* 86901 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30669 /* 86905 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30670 /* 86907 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30671 /* 86914 */ // (intrinsic_wo_chain:{ *:[v4f64] } 16154:{ *:[iPTR] }, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFRCZPDYrm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
30672 /* 86914 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPDYrm),
30673 /* 86917 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30674 /* 86919 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30675 /* 86923 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30676 /* 86928 */ GIR_RootConstrainSelectedInstOperands,
30677 /* 86929 */ // GIR_Coverage, 1574,
30678 /* 86929 */ GIR_EraseRootFromParent_Done,
30679 /* 86930 */ // Label 1912: @86930
30680 /* 86930 */ GIM_Try, /*On fail goto*//*Label 1913*/ GIMT_Encode4(86997), // Rule ID 3364 //
30681 /* 86935 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX),
30682 /* 86938 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesimc),
30683 /* 86943 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30684 /* 86946 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
30685 /* 86949 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30686 /* 86953 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30687 /* 86957 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30688 /* 86961 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30689 /* 86964 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30690 /* 86968 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30691 /* 86972 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30692 /* 86974 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30693 /* 86981 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14554:{ *:[iPTR] }, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESIMCrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)
30694 /* 86981 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESIMCrm),
30695 /* 86984 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30696 /* 86986 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
30697 /* 86990 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30698 /* 86995 */ GIR_RootConstrainSelectedInstOperands,
30699 /* 86996 */ // GIR_Coverage, 3364,
30700 /* 86996 */ GIR_EraseRootFromParent_Done,
30701 /* 86997 */ // Label 1913: @86997
30702 /* 86997 */ GIM_Try, /*On fail goto*//*Label 1914*/ GIMT_Encode4(87033), // Rule ID 1529 //
30703 /* 87002 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30704 /* 87005 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubwd),
30705 /* 87010 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30706 /* 87013 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30707 /* 87016 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30708 /* 87020 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30709 /* 87024 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16177:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHSUBWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src)
30710 /* 87024 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBWDrr),
30711 /* 87027 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30712 /* 87029 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30713 /* 87031 */ GIR_RootConstrainSelectedInstOperands,
30714 /* 87032 */ // GIR_Coverage, 1529,
30715 /* 87032 */ GIR_EraseRootFromParent_Done,
30716 /* 87033 */ // Label 1914: @87033
30717 /* 87033 */ GIM_Try, /*On fail goto*//*Label 1915*/ GIMT_Encode4(87069), // Rule ID 1531 //
30718 /* 87038 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30719 /* 87041 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubdq),
30720 /* 87046 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30721 /* 87049 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30722 /* 87052 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30723 /* 87056 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30724 /* 87060 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16176:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src) => (VPHSUBDQrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src)
30725 /* 87060 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBDQrr),
30726 /* 87063 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30727 /* 87065 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30728 /* 87067 */ GIR_RootConstrainSelectedInstOperands,
30729 /* 87068 */ // GIR_Coverage, 1531,
30730 /* 87068 */ GIR_EraseRootFromParent_Done,
30731 /* 87069 */ // Label 1915: @87069
30732 /* 87069 */ GIM_Try, /*On fail goto*//*Label 1916*/ GIMT_Encode4(87105), // Rule ID 1533 //
30733 /* 87074 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30734 /* 87077 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubbw),
30735 /* 87082 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
30736 /* 87085 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30737 /* 87088 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30738 /* 87092 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30739 /* 87096 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16175:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHSUBBWrr:{ *:[v8i16] } VR128:{ *:[v16i8] }:$src)
30740 /* 87096 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBBWrr),
30741 /* 87099 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30742 /* 87101 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30743 /* 87103 */ GIR_RootConstrainSelectedInstOperands,
30744 /* 87104 */ // GIR_Coverage, 1533,
30745 /* 87104 */ GIR_EraseRootFromParent_Done,
30746 /* 87105 */ // Label 1916: @87105
30747 /* 87105 */ GIM_Try, /*On fail goto*//*Label 1917*/ GIMT_Encode4(87141), // Rule ID 1535 //
30748 /* 87110 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30749 /* 87113 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddwq),
30750 /* 87118 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30751 /* 87121 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30752 /* 87124 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30753 /* 87128 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30754 /* 87132 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16174:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHADDWQrr:{ *:[v2i64] } VR128:{ *:[v8i16] }:$src)
30755 /* 87132 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDWQrr),
30756 /* 87135 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30757 /* 87137 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30758 /* 87139 */ GIR_RootConstrainSelectedInstOperands,
30759 /* 87140 */ // GIR_Coverage, 1535,
30760 /* 87140 */ GIR_EraseRootFromParent_Done,
30761 /* 87141 */ // Label 1917: @87141
30762 /* 87141 */ GIM_Try, /*On fail goto*//*Label 1918*/ GIMT_Encode4(87177), // Rule ID 1537 //
30763 /* 87146 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30764 /* 87149 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddwd),
30765 /* 87154 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30766 /* 87157 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30767 /* 87160 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30768 /* 87164 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30769 /* 87168 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16173:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHADDWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src)
30770 /* 87168 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDWDrr),
30771 /* 87171 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30772 /* 87173 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30773 /* 87175 */ GIR_RootConstrainSelectedInstOperands,
30774 /* 87176 */ // GIR_Coverage, 1537,
30775 /* 87176 */ GIR_EraseRootFromParent_Done,
30776 /* 87177 */ // Label 1918: @87177
30777 /* 87177 */ GIM_Try, /*On fail goto*//*Label 1919*/ GIMT_Encode4(87213), // Rule ID 1539 //
30778 /* 87182 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30779 /* 87185 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadduwq),
30780 /* 87190 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30781 /* 87193 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30782 /* 87196 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30783 /* 87200 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30784 /* 87204 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16172:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHADDUWQrr:{ *:[v2i64] } VR128:{ *:[v8i16] }:$src)
30785 /* 87204 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUWQrr),
30786 /* 87207 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30787 /* 87209 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30788 /* 87211 */ GIR_RootConstrainSelectedInstOperands,
30789 /* 87212 */ // GIR_Coverage, 1539,
30790 /* 87212 */ GIR_EraseRootFromParent_Done,
30791 /* 87213 */ // Label 1919: @87213
30792 /* 87213 */ GIM_Try, /*On fail goto*//*Label 1920*/ GIMT_Encode4(87249), // Rule ID 1541 //
30793 /* 87218 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30794 /* 87221 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadduwd),
30795 /* 87226 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30796 /* 87229 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30797 /* 87232 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30798 /* 87236 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30799 /* 87240 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16171:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHADDUWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src)
30800 /* 87240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUWDrr),
30801 /* 87243 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30802 /* 87245 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30803 /* 87247 */ GIR_RootConstrainSelectedInstOperands,
30804 /* 87248 */ // GIR_Coverage, 1541,
30805 /* 87248 */ GIR_EraseRootFromParent_Done,
30806 /* 87249 */ // Label 1920: @87249
30807 /* 87249 */ GIM_Try, /*On fail goto*//*Label 1921*/ GIMT_Encode4(87285), // Rule ID 1543 //
30808 /* 87254 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30809 /* 87257 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddudq),
30810 /* 87262 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30811 /* 87265 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30812 /* 87268 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30813 /* 87272 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30814 /* 87276 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16170:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src) => (VPHADDUDQrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src)
30815 /* 87276 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUDQrr),
30816 /* 87279 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30817 /* 87281 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30818 /* 87283 */ GIR_RootConstrainSelectedInstOperands,
30819 /* 87284 */ // GIR_Coverage, 1543,
30820 /* 87284 */ GIR_EraseRootFromParent_Done,
30821 /* 87285 */ // Label 1921: @87285
30822 /* 87285 */ GIM_Try, /*On fail goto*//*Label 1922*/ GIMT_Encode4(87321), // Rule ID 1545 //
30823 /* 87290 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30824 /* 87293 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubw),
30825 /* 87298 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
30826 /* 87301 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30827 /* 87304 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30828 /* 87308 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30829 /* 87312 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16169:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDUBWrr:{ *:[v8i16] } VR128:{ *:[v16i8] }:$src)
30830 /* 87312 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBWrr),
30831 /* 87315 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30832 /* 87317 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30833 /* 87319 */ GIR_RootConstrainSelectedInstOperands,
30834 /* 87320 */ // GIR_Coverage, 1545,
30835 /* 87320 */ GIR_EraseRootFromParent_Done,
30836 /* 87321 */ // Label 1922: @87321
30837 /* 87321 */ GIM_Try, /*On fail goto*//*Label 1923*/ GIMT_Encode4(87357), // Rule ID 1547 //
30838 /* 87326 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30839 /* 87329 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubq),
30840 /* 87334 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30841 /* 87337 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30842 /* 87340 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30843 /* 87344 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30844 /* 87348 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16168:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDUBQrr:{ *:[v2i64] } VR128:{ *:[v16i8] }:$src)
30845 /* 87348 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBQrr),
30846 /* 87351 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30847 /* 87353 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30848 /* 87355 */ GIR_RootConstrainSelectedInstOperands,
30849 /* 87356 */ // GIR_Coverage, 1547,
30850 /* 87356 */ GIR_EraseRootFromParent_Done,
30851 /* 87357 */ // Label 1923: @87357
30852 /* 87357 */ GIM_Try, /*On fail goto*//*Label 1924*/ GIMT_Encode4(87393), // Rule ID 1549 //
30853 /* 87362 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30854 /* 87365 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubd),
30855 /* 87370 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30856 /* 87373 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30857 /* 87376 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30858 /* 87380 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30859 /* 87384 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16167:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDUBDrr:{ *:[v4i32] } VR128:{ *:[v16i8] }:$src)
30860 /* 87384 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBDrr),
30861 /* 87387 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30862 /* 87389 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30863 /* 87391 */ GIR_RootConstrainSelectedInstOperands,
30864 /* 87392 */ // GIR_Coverage, 1549,
30865 /* 87392 */ GIR_EraseRootFromParent_Done,
30866 /* 87393 */ // Label 1924: @87393
30867 /* 87393 */ GIM_Try, /*On fail goto*//*Label 1925*/ GIMT_Encode4(87429), // Rule ID 1551 //
30868 /* 87398 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30869 /* 87401 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadddq),
30870 /* 87406 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30871 /* 87409 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30872 /* 87412 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30873 /* 87416 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30874 /* 87420 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16166:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src) => (VPHADDDQrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src)
30875 /* 87420 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDDQrr),
30876 /* 87423 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30877 /* 87425 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30878 /* 87427 */ GIR_RootConstrainSelectedInstOperands,
30879 /* 87428 */ // GIR_Coverage, 1551,
30880 /* 87428 */ GIR_EraseRootFromParent_Done,
30881 /* 87429 */ // Label 1925: @87429
30882 /* 87429 */ GIM_Try, /*On fail goto*//*Label 1926*/ GIMT_Encode4(87465), // Rule ID 1553 //
30883 /* 87434 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30884 /* 87437 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbw),
30885 /* 87442 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
30886 /* 87445 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30887 /* 87448 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30888 /* 87452 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30889 /* 87456 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16165:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDBWrr:{ *:[v8i16] } VR128:{ *:[v16i8] }:$src)
30890 /* 87456 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBWrr),
30891 /* 87459 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30892 /* 87461 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30893 /* 87463 */ GIR_RootConstrainSelectedInstOperands,
30894 /* 87464 */ // GIR_Coverage, 1553,
30895 /* 87464 */ GIR_EraseRootFromParent_Done,
30896 /* 87465 */ // Label 1926: @87465
30897 /* 87465 */ GIM_Try, /*On fail goto*//*Label 1927*/ GIMT_Encode4(87501), // Rule ID 1555 //
30898 /* 87470 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30899 /* 87473 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbq),
30900 /* 87478 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30901 /* 87481 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30902 /* 87484 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30903 /* 87488 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30904 /* 87492 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16164:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDBQrr:{ *:[v2i64] } VR128:{ *:[v16i8] }:$src)
30905 /* 87492 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBQrr),
30906 /* 87495 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30907 /* 87497 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30908 /* 87499 */ GIR_RootConstrainSelectedInstOperands,
30909 /* 87500 */ // GIR_Coverage, 1555,
30910 /* 87500 */ GIR_EraseRootFromParent_Done,
30911 /* 87501 */ // Label 1927: @87501
30912 /* 87501 */ GIM_Try, /*On fail goto*//*Label 1928*/ GIMT_Encode4(87537), // Rule ID 1557 //
30913 /* 87506 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30914 /* 87509 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbd),
30915 /* 87514 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30916 /* 87517 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30917 /* 87520 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30918 /* 87524 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30919 /* 87528 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16163:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDBDrr:{ *:[v4i32] } VR128:{ *:[v16i8] }:$src)
30920 /* 87528 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBDrr),
30921 /* 87531 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30922 /* 87533 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30923 /* 87535 */ GIR_RootConstrainSelectedInstOperands,
30924 /* 87536 */ // GIR_Coverage, 1557,
30925 /* 87536 */ GIR_EraseRootFromParent_Done,
30926 /* 87537 */ // Label 1928: @87537
30927 /* 87537 */ GIM_Try, /*On fail goto*//*Label 1929*/ GIMT_Encode4(87573), // Rule ID 1559 //
30928 /* 87542 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30929 /* 87545 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ss),
30930 /* 87550 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30931 /* 87553 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30932 /* 87556 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30933 /* 87560 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30934 /* 87564 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16158:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (VFRCZSSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
30935 /* 87564 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZSSrr),
30936 /* 87567 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30937 /* 87569 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30938 /* 87571 */ GIR_RootConstrainSelectedInstOperands,
30939 /* 87572 */ // GIR_Coverage, 1559,
30940 /* 87572 */ GIR_EraseRootFromParent_Done,
30941 /* 87573 */ // Label 1929: @87573
30942 /* 87573 */ GIM_Try, /*On fail goto*//*Label 1930*/ GIMT_Encode4(87609), // Rule ID 1563 //
30943 /* 87578 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30944 /* 87581 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ps),
30945 /* 87586 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30946 /* 87589 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30947 /* 87592 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30948 /* 87596 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30949 /* 87600 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16155:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (VFRCZPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
30950 /* 87600 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPSrr),
30951 /* 87603 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30952 /* 87605 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30953 /* 87607 */ GIR_RootConstrainSelectedInstOperands,
30954 /* 87608 */ // GIR_Coverage, 1563,
30955 /* 87608 */ GIR_EraseRootFromParent_Done,
30956 /* 87609 */ // Label 1930: @87609
30957 /* 87609 */ GIM_Try, /*On fail goto*//*Label 1931*/ GIMT_Encode4(87645), // Rule ID 1565 //
30958 /* 87614 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30959 /* 87617 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ps_256),
30960 /* 87622 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
30961 /* 87625 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
30962 /* 87628 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30963 /* 87632 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30964 /* 87636 */ // (intrinsic_wo_chain:{ *:[v8f32] } 16156:{ *:[iPTR] }, VR256:{ *:[v8f32] }:$src) => (VFRCZPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src)
30965 /* 87636 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPSYrr),
30966 /* 87639 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30967 /* 87641 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30968 /* 87643 */ GIR_RootConstrainSelectedInstOperands,
30969 /* 87644 */ // GIR_Coverage, 1565,
30970 /* 87644 */ GIR_EraseRootFromParent_Done,
30971 /* 87645 */ // Label 1931: @87645
30972 /* 87645 */ GIM_Try, /*On fail goto*//*Label 1932*/ GIMT_Encode4(87681), // Rule ID 1567 //
30973 /* 87650 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30974 /* 87653 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_sd),
30975 /* 87658 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30976 /* 87661 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
30977 /* 87664 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30978 /* 87668 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30979 /* 87672 */ // (intrinsic_wo_chain:{ *:[v2f64] } 16157:{ *:[iPTR] }, VR128:{ *:[v2f64] }:$src) => (VFRCZSDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
30980 /* 87672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZSDrr),
30981 /* 87675 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30982 /* 87677 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30983 /* 87679 */ GIR_RootConstrainSelectedInstOperands,
30984 /* 87680 */ // GIR_Coverage, 1567,
30985 /* 87680 */ GIR_EraseRootFromParent_Done,
30986 /* 87681 */ // Label 1932: @87681
30987 /* 87681 */ GIM_Try, /*On fail goto*//*Label 1933*/ GIMT_Encode4(87717), // Rule ID 1571 //
30988 /* 87686 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30989 /* 87689 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_pd),
30990 /* 87694 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30991 /* 87697 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
30992 /* 87700 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30993 /* 87704 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30994 /* 87708 */ // (intrinsic_wo_chain:{ *:[v2f64] } 16153:{ *:[iPTR] }, VR128:{ *:[v2f64] }:$src) => (VFRCZPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
30995 /* 87708 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPDrr),
30996 /* 87711 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30997 /* 87713 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30998 /* 87715 */ GIR_RootConstrainSelectedInstOperands,
30999 /* 87716 */ // GIR_Coverage, 1571,
31000 /* 87716 */ GIR_EraseRootFromParent_Done,
31001 /* 87717 */ // Label 1933: @87717
31002 /* 87717 */ GIM_Try, /*On fail goto*//*Label 1934*/ GIMT_Encode4(87753), // Rule ID 1573 //
31003 /* 87722 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31004 /* 87725 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_pd_256),
31005 /* 87730 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
31006 /* 87733 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
31007 /* 87736 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31008 /* 87740 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31009 /* 87744 */ // (intrinsic_wo_chain:{ *:[v4f64] } 16154:{ *:[iPTR] }, VR256:{ *:[v4f64] }:$src) => (VFRCZPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src)
31010 /* 87744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPDYrr),
31011 /* 87747 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31012 /* 87749 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31013 /* 87751 */ GIR_RootConstrainSelectedInstOperands,
31014 /* 87752 */ // GIR_Coverage, 1573,
31015 /* 87752 */ GIR_EraseRootFromParent_Done,
31016 /* 87753 */ // Label 1934: @87753
31017 /* 87753 */ GIM_Try, /*On fail goto*//*Label 1935*/ GIMT_Encode4(87789), // Rule ID 3363 //
31018 /* 87758 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX),
31019 /* 87761 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesimc),
31020 /* 87766 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31021 /* 87769 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31022 /* 87772 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31023 /* 87776 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31024 /* 87780 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14554:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1) => (VAESIMCrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1)
31025 /* 87780 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESIMCrr),
31026 /* 87783 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31027 /* 87785 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31028 /* 87787 */ GIR_RootConstrainSelectedInstOperands,
31029 /* 87788 */ // GIR_Coverage, 3363,
31030 /* 87788 */ GIR_EraseRootFromParent_Done,
31031 /* 87789 */ // Label 1935: @87789
31032 /* 87789 */ GIM_Try, /*On fail goto*//*Label 1936*/ GIMT_Encode4(87825), // Rule ID 3365 //
31033 /* 87794 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
31034 /* 87797 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesimc),
31035 /* 87802 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31036 /* 87805 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31037 /* 87808 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31038 /* 87812 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31039 /* 87816 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14554:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1) => (AESIMCrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1)
31040 /* 87816 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESIMCrr),
31041 /* 87819 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31042 /* 87821 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31043 /* 87823 */ GIR_RootConstrainSelectedInstOperands,
31044 /* 87824 */ // GIR_Coverage, 3365,
31045 /* 87824 */ GIR_EraseRootFromParent_Done,
31046 /* 87825 */ // Label 1936: @87825
31047 /* 87825 */ GIM_Try, /*On fail goto*//*Label 1937*/ GIMT_Encode4(87863), // Rule ID 18256 //
31048 /* 87830 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
31049 /* 87833 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse_rsqrt_ss),
31050 /* 87838 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31051 /* 87841 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31052 /* 87844 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31053 /* 87848 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31054 /* 87852 */ // (intrinsic_wo_chain:{ *:[v4f32] } 15889:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (RSQRTSSr_Int:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src, VR128:{ *:[v4f32] }:$src)
31055 /* 87852 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RSQRTSSr_Int),
31056 /* 87855 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31057 /* 87857 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31058 /* 87859 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31059 /* 87861 */ GIR_RootConstrainSelectedInstOperands,
31060 /* 87862 */ // GIR_Coverage, 18256,
31061 /* 87862 */ GIR_EraseRootFromParent_Done,
31062 /* 87863 */ // Label 1937: @87863
31063 /* 87863 */ GIM_Try, /*On fail goto*//*Label 1938*/ GIMT_Encode4(87901), // Rule ID 18260 //
31064 /* 87868 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
31065 /* 87871 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse_rsqrt_ss),
31066 /* 87876 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31067 /* 87879 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31068 /* 87882 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31069 /* 87886 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31070 /* 87890 */ // (intrinsic_wo_chain:{ *:[v4f32] } 15889:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (VRSQRTSSr_Int:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src, VR128:{ *:[v4f32] }:$src)
31071 /* 87890 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VRSQRTSSr_Int),
31072 /* 87893 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31073 /* 87895 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31074 /* 87897 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31075 /* 87899 */ GIR_RootConstrainSelectedInstOperands,
31076 /* 87900 */ // GIR_Coverage, 18260,
31077 /* 87900 */ GIR_EraseRootFromParent_Done,
31078 /* 87901 */ // Label 1938: @87901
31079 /* 87901 */ GIM_Try, /*On fail goto*//*Label 1939*/ GIMT_Encode4(87939), // Rule ID 18276 //
31080 /* 87906 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
31081 /* 87909 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse_rcp_ss),
31082 /* 87914 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31083 /* 87917 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31084 /* 87920 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31085 /* 87924 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31086 /* 87928 */ // (intrinsic_wo_chain:{ *:[v4f32] } 15887:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (RCPSSr_Int:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src, VR128:{ *:[v4f32] }:$src)
31087 /* 87928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RCPSSr_Int),
31088 /* 87931 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31089 /* 87933 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31090 /* 87935 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31091 /* 87937 */ GIR_RootConstrainSelectedInstOperands,
31092 /* 87938 */ // GIR_Coverage, 18276,
31093 /* 87938 */ GIR_EraseRootFromParent_Done,
31094 /* 87939 */ // Label 1939: @87939
31095 /* 87939 */ GIM_Try, /*On fail goto*//*Label 1940*/ GIMT_Encode4(87977), // Rule ID 18280 //
31096 /* 87944 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
31097 /* 87947 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse_rcp_ss),
31098 /* 87952 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31099 /* 87955 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31100 /* 87958 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31101 /* 87962 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31102 /* 87966 */ // (intrinsic_wo_chain:{ *:[v4f32] } 15887:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (VRCPSSr_Int:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src, VR128:{ *:[v4f32] }:$src)
31103 /* 87966 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VRCPSSr_Int),
31104 /* 87969 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31105 /* 87971 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31106 /* 87973 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31107 /* 87975 */ GIR_RootConstrainSelectedInstOperands,
31108 /* 87976 */ // GIR_Coverage, 18280,
31109 /* 87976 */ GIR_EraseRootFromParent_Done,
31110 /* 87977 */ // Label 1940: @87977
31111 /* 87977 */ GIM_Reject,
31112 /* 87978 */ // Label 1893: @87978
31113 /* 87978 */ GIM_Try, /*On fail goto*//*Label 1941*/ GIMT_Encode4(94185),
31114 /* 87983 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/4,
31115 /* 87986 */ GIM_Try, /*On fail goto*//*Label 1942*/ GIMT_Encode4(88058), // Rule ID 3368 //
31116 /* 87991 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX),
31117 /* 87994 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aeskeygenassist),
31118 /* 87999 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31119 /* 88002 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31120 /* 88005 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31121 /* 88009 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
31122 /* 88013 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31123 /* 88017 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31124 /* 88020 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31125 /* 88024 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31126 /* 88028 */ // MIs[0] src2
31127 /* 88028 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
31128 /* 88031 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31129 /* 88033 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31130 /* 88040 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14555:{ *:[iPTR] }, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (timm:{ *:[i8] }):$src2) => (VAESKEYGENASSISTrmi:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1, (timm:{ *:[i8] }):$src2)
31131 /* 88040 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESKEYGENASSISTrmi),
31132 /* 88043 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31133 /* 88045 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
31134 /* 88049 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
31135 /* 88051 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31136 /* 88056 */ GIR_RootConstrainSelectedInstOperands,
31137 /* 88057 */ // GIR_Coverage, 3368,
31138 /* 88057 */ GIR_EraseRootFromParent_Done,
31139 /* 88058 */ // Label 1942: @88058
31140 /* 88058 */ GIM_Try, /*On fail goto*//*Label 1943*/ GIMT_Encode4(88134), // Rule ID 16794 //
31141 /* 88063 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
31142 /* 88066 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4128),
31143 /* 88071 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31144 /* 88074 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31145 /* 88077 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
31146 /* 88080 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31147 /* 88084 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31148 /* 88088 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31149 /* 88092 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31150 /* 88096 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31151 /* 88099 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31152 /* 88103 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31153 /* 88107 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31154 /* 88109 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31155 /* 88116 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16132:{ *:[iPTR] }, VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4Z128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31156 /* 88116 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Z128rm),
31157 /* 88119 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31158 /* 88121 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31159 /* 88123 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31160 /* 88127 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31161 /* 88132 */ GIR_RootConstrainSelectedInstOperands,
31162 /* 88133 */ // GIR_Coverage, 16794,
31163 /* 88133 */ GIR_EraseRootFromParent_Done,
31164 /* 88134 */ // Label 1943: @88134
31165 /* 88134 */ GIM_Try, /*On fail goto*//*Label 1944*/ GIMT_Encode4(88210), // Rule ID 16796 //
31166 /* 88139 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
31167 /* 88142 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4256),
31168 /* 88147 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
31169 /* 88150 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
31170 /* 88153 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
31171 /* 88156 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31172 /* 88160 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31173 /* 88164 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31174 /* 88168 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31175 /* 88172 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31176 /* 88175 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31177 /* 88179 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31178 /* 88183 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31179 /* 88185 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31180 /* 88192 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16133:{ *:[iPTR] }, VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4Z256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31181 /* 88192 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Z256rm),
31182 /* 88195 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31183 /* 88197 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31184 /* 88199 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31185 /* 88203 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31186 /* 88208 */ GIR_RootConstrainSelectedInstOperands,
31187 /* 88209 */ // GIR_Coverage, 16796,
31188 /* 88209 */ GIR_EraseRootFromParent_Done,
31189 /* 88210 */ // Label 1944: @88210
31190 /* 88210 */ GIM_Try, /*On fail goto*//*Label 1945*/ GIMT_Encode4(88286), // Rule ID 16800 //
31191 /* 88215 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
31192 /* 88218 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4128),
31193 /* 88223 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31194 /* 88226 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31195 /* 88229 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
31196 /* 88232 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31197 /* 88236 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31198 /* 88240 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31199 /* 88244 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31200 /* 88248 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31201 /* 88251 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31202 /* 88255 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31203 /* 88259 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31204 /* 88261 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31205 /* 88268 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16135:{ *:[iPTR] }, VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4Z128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31206 /* 88268 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Z128rm),
31207 /* 88271 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31208 /* 88273 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31209 /* 88275 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31210 /* 88279 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31211 /* 88284 */ GIR_RootConstrainSelectedInstOperands,
31212 /* 88285 */ // GIR_Coverage, 16800,
31213 /* 88285 */ GIR_EraseRootFromParent_Done,
31214 /* 88286 */ // Label 1945: @88286
31215 /* 88286 */ GIM_Try, /*On fail goto*//*Label 1946*/ GIMT_Encode4(88362), // Rule ID 16802 //
31216 /* 88291 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
31217 /* 88294 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4256),
31218 /* 88299 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
31219 /* 88302 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
31220 /* 88305 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
31221 /* 88308 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31222 /* 88312 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31223 /* 88316 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31224 /* 88320 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31225 /* 88324 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31226 /* 88327 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31227 /* 88331 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31228 /* 88335 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31229 /* 88337 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31230 /* 88344 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16136:{ *:[iPTR] }, VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4Z256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31231 /* 88344 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Z256rm),
31232 /* 88347 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31233 /* 88349 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31234 /* 88351 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31235 /* 88355 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31236 /* 88360 */ GIR_RootConstrainSelectedInstOperands,
31237 /* 88361 */ // GIR_Coverage, 16802,
31238 /* 88361 */ GIR_EraseRootFromParent_Done,
31239 /* 88362 */ // Label 1946: @88362
31240 /* 88362 */ GIM_Try, /*On fail goto*//*Label 1947*/ GIMT_Encode4(88438), // Rule ID 3023 //
31241 /* 88367 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
31242 /* 88370 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_b_128),
31243 /* 88375 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
31244 /* 88378 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31245 /* 88381 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
31246 /* 88384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31247 /* 88388 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31248 /* 88392 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31249 /* 88396 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31250 /* 88400 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31251 /* 88403 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31252 /* 88407 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31253 /* 88411 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31254 /* 88413 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31255 /* 88420 */ // (intrinsic_wo_chain:{ *:[v16i8] } 16027:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
31256 /* 88420 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNBrm),
31257 /* 88423 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31258 /* 88425 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31259 /* 88427 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31260 /* 88431 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31261 /* 88436 */ GIR_RootConstrainSelectedInstOperands,
31262 /* 88437 */ // GIR_Coverage, 3023,
31263 /* 88437 */ GIR_EraseRootFromParent_Done,
31264 /* 88438 */ // Label 1947: @88438
31265 /* 88438 */ GIM_Try, /*On fail goto*//*Label 1948*/ GIMT_Encode4(88514), // Rule ID 3025 //
31266 /* 88443 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
31267 /* 88446 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_w_128),
31268 /* 88451 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
31269 /* 88454 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
31270 /* 88457 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
31271 /* 88460 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31272 /* 88464 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31273 /* 88468 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31274 /* 88472 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31275 /* 88476 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31276 /* 88479 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31277 /* 88483 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31278 /* 88487 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31279 /* 88489 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31280 /* 88496 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16031:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
31281 /* 88496 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNWrm),
31282 /* 88499 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31283 /* 88501 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31284 /* 88503 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31285 /* 88507 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31286 /* 88512 */ GIR_RootConstrainSelectedInstOperands,
31287 /* 88513 */ // GIR_Coverage, 3025,
31288 /* 88513 */ GIR_EraseRootFromParent_Done,
31289 /* 88514 */ // Label 1948: @88514
31290 /* 88514 */ GIM_Try, /*On fail goto*//*Label 1949*/ GIMT_Encode4(88590), // Rule ID 3027 //
31291 /* 88519 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
31292 /* 88522 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_d_128),
31293 /* 88527 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31294 /* 88530 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31295 /* 88533 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
31296 /* 88536 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31297 /* 88540 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31298 /* 88544 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31299 /* 88548 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31300 /* 88552 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31301 /* 88555 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31302 /* 88559 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31303 /* 88563 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31304 /* 88565 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31305 /* 88572 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16029:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31306 /* 88572 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNDrm),
31307 /* 88575 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31308 /* 88577 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31309 /* 88579 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31310 /* 88583 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31311 /* 88588 */ GIR_RootConstrainSelectedInstOperands,
31312 /* 88589 */ // GIR_Coverage, 3027,
31313 /* 88589 */ GIR_EraseRootFromParent_Done,
31314 /* 88590 */ // Label 1949: @88590
31315 /* 88590 */ GIM_Try, /*On fail goto*//*Label 1950*/ GIMT_Encode4(88666), // Rule ID 3047 //
31316 /* 88595 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
31317 /* 88598 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_b),
31318 /* 88603 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s8,
31319 /* 88606 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
31320 /* 88609 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
31321 /* 88612 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31322 /* 88616 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31323 /* 88620 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31324 /* 88624 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31325 /* 88628 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31326 /* 88631 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31327 /* 88635 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31328 /* 88639 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31329 /* 88641 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31330 /* 88648 */ // (intrinsic_wo_chain:{ *:[v32i8] } 14918:{ *:[iPTR] }, VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
31331 /* 88648 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNBYrm),
31332 /* 88651 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31333 /* 88653 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31334 /* 88655 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31335 /* 88659 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31336 /* 88664 */ GIR_RootConstrainSelectedInstOperands,
31337 /* 88665 */ // GIR_Coverage, 3047,
31338 /* 88665 */ GIR_EraseRootFromParent_Done,
31339 /* 88666 */ // Label 1950: @88666
31340 /* 88666 */ GIM_Try, /*On fail goto*//*Label 1951*/ GIMT_Encode4(88742), // Rule ID 3049 //
31341 /* 88671 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
31342 /* 88674 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_w),
31343 /* 88679 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s16,
31344 /* 88682 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
31345 /* 88685 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
31346 /* 88688 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31347 /* 88692 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31348 /* 88696 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31349 /* 88700 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31350 /* 88704 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31351 /* 88707 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31352 /* 88711 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31353 /* 88715 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31354 /* 88717 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31355 /* 88724 */ // (intrinsic_wo_chain:{ *:[v16i16] } 14920:{ *:[iPTR] }, VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
31356 /* 88724 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNWYrm),
31357 /* 88727 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31358 /* 88729 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31359 /* 88731 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31360 /* 88735 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31361 /* 88740 */ GIR_RootConstrainSelectedInstOperands,
31362 /* 88741 */ // GIR_Coverage, 3049,
31363 /* 88741 */ GIR_EraseRootFromParent_Done,
31364 /* 88742 */ // Label 1951: @88742
31365 /* 88742 */ GIM_Try, /*On fail goto*//*Label 1952*/ GIMT_Encode4(88818), // Rule ID 3051 //
31366 /* 88747 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
31367 /* 88750 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_d),
31368 /* 88755 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
31369 /* 88758 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
31370 /* 88761 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
31371 /* 88764 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31372 /* 88768 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31373 /* 88772 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31374 /* 88776 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31375 /* 88780 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31376 /* 88783 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31377 /* 88787 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31378 /* 88791 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31379 /* 88793 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31380 /* 88800 */ // (intrinsic_wo_chain:{ *:[v8i32] } 14919:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31381 /* 88800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNDYrm),
31382 /* 88803 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31383 /* 88805 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31384 /* 88807 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31385 /* 88811 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31386 /* 88816 */ GIR_RootConstrainSelectedInstOperands,
31387 /* 88817 */ // GIR_Coverage, 3051,
31388 /* 88817 */ GIR_EraseRootFromParent_Done,
31389 /* 88818 */ // Label 1952: @88818
31390 /* 88818 */ GIM_Try, /*On fail goto*//*Label 1953*/ GIMT_Encode4(88894), // Rule ID 3310 //
31391 /* 88823 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
31392 /* 88826 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_8),
31393 /* 88831 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31394 /* 88834 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31395 /* 88837 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
31396 /* 88840 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31397 /* 88844 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31398 /* 88848 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31399 /* 88852 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31400 /* 88856 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31401 /* 88859 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31402 /* 88863 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31403 /* 88867 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31404 /* 88869 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31405 /* 88876 */ // (intrinsic_wo_chain:{ *:[i32] } 15985:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m8:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31406 /* 88876 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m8),
31407 /* 88879 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31408 /* 88881 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31409 /* 88883 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31410 /* 88887 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31411 /* 88892 */ GIR_RootConstrainSelectedInstOperands,
31412 /* 88893 */ // GIR_Coverage, 3310,
31413 /* 88893 */ GIR_EraseRootFromParent_Done,
31414 /* 88894 */ // Label 1953: @88894
31415 /* 88894 */ GIM_Try, /*On fail goto*//*Label 1954*/ GIMT_Encode4(88970), // Rule ID 3312 //
31416 /* 88899 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
31417 /* 88902 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_16),
31418 /* 88907 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31419 /* 88910 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31420 /* 88913 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
31421 /* 88916 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31422 /* 88920 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31423 /* 88924 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31424 /* 88928 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31425 /* 88932 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31426 /* 88935 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31427 /* 88939 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31428 /* 88943 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31429 /* 88945 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31430 /* 88952 */ // (intrinsic_wo_chain:{ *:[i32] } 15983:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m16:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31431 /* 88952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m16),
31432 /* 88955 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31433 /* 88957 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31434 /* 88959 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31435 /* 88963 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31436 /* 88968 */ GIR_RootConstrainSelectedInstOperands,
31437 /* 88969 */ // GIR_Coverage, 3312,
31438 /* 88969 */ GIR_EraseRootFromParent_Done,
31439 /* 88970 */ // Label 1954: @88970
31440 /* 88970 */ GIM_Try, /*On fail goto*//*Label 1955*/ GIMT_Encode4(89046), // Rule ID 3314 //
31441 /* 88975 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
31442 /* 88978 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_32),
31443 /* 88983 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31444 /* 88986 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31445 /* 88989 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
31446 /* 88992 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31447 /* 88996 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31448 /* 89000 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31449 /* 89004 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31450 /* 89008 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31451 /* 89011 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31452 /* 89015 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31453 /* 89019 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31454 /* 89021 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31455 /* 89028 */ // (intrinsic_wo_chain:{ *:[i32] } 15984:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m32:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31456 /* 89028 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m32),
31457 /* 89031 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31458 /* 89033 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31459 /* 89035 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31460 /* 89039 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31461 /* 89044 */ GIR_RootConstrainSelectedInstOperands,
31462 /* 89045 */ // GIR_Coverage, 3314,
31463 /* 89045 */ GIR_EraseRootFromParent_Done,
31464 /* 89046 */ // Label 1955: @89046
31465 /* 89046 */ GIM_Try, /*On fail goto*//*Label 1956*/ GIMT_Encode4(89122), // Rule ID 3316 //
31466 /* 89051 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
31467 /* 89054 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_64_64),
31468 /* 89059 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
31469 /* 89062 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
31470 /* 89065 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
31471 /* 89068 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
31472 /* 89072 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
31473 /* 89076 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31474 /* 89080 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31475 /* 89084 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31476 /* 89087 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31477 /* 89091 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31478 /* 89095 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31479 /* 89097 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31480 /* 89104 */ // (intrinsic_wo_chain:{ *:[i64] } 15986:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r64m64:{ *:[i64] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31481 /* 89104 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r64m64),
31482 /* 89107 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31483 /* 89109 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31484 /* 89111 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31485 /* 89115 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31486 /* 89120 */ GIR_RootConstrainSelectedInstOperands,
31487 /* 89121 */ // GIR_Coverage, 3316,
31488 /* 89121 */ GIR_EraseRootFromParent_Done,
31489 /* 89122 */ // Label 1956: @89122
31490 /* 89122 */ GIM_Try, /*On fail goto*//*Label 1957*/ GIMT_Encode4(89198), // Rule ID 3318 //
31491 /* 89127 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
31492 /* 89130 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_8),
31493 /* 89135 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31494 /* 89138 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31495 /* 89141 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
31496 /* 89144 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31497 /* 89148 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31498 /* 89152 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31499 /* 89156 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31500 /* 89160 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31501 /* 89163 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31502 /* 89167 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31503 /* 89171 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31504 /* 89173 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31505 /* 89180 */ // (intrinsic_wo_chain:{ *:[i32] } 15985:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m8_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31506 /* 89180 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m8_EVEX),
31507 /* 89183 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31508 /* 89185 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31509 /* 89187 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31510 /* 89191 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31511 /* 89196 */ GIR_RootConstrainSelectedInstOperands,
31512 /* 89197 */ // GIR_Coverage, 3318,
31513 /* 89197 */ GIR_EraseRootFromParent_Done,
31514 /* 89198 */ // Label 1957: @89198
31515 /* 89198 */ GIM_Try, /*On fail goto*//*Label 1958*/ GIMT_Encode4(89274), // Rule ID 3320 //
31516 /* 89203 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
31517 /* 89206 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_16),
31518 /* 89211 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31519 /* 89214 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31520 /* 89217 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
31521 /* 89220 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31522 /* 89224 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31523 /* 89228 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31524 /* 89232 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31525 /* 89236 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31526 /* 89239 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31527 /* 89243 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31528 /* 89247 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31529 /* 89249 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31530 /* 89256 */ // (intrinsic_wo_chain:{ *:[i32] } 15983:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m16_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31531 /* 89256 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m16_EVEX),
31532 /* 89259 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31533 /* 89261 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31534 /* 89263 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31535 /* 89267 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31536 /* 89272 */ GIR_RootConstrainSelectedInstOperands,
31537 /* 89273 */ // GIR_Coverage, 3320,
31538 /* 89273 */ GIR_EraseRootFromParent_Done,
31539 /* 89274 */ // Label 1958: @89274
31540 /* 89274 */ GIM_Try, /*On fail goto*//*Label 1959*/ GIMT_Encode4(89350), // Rule ID 3322 //
31541 /* 89279 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
31542 /* 89282 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_32),
31543 /* 89287 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31544 /* 89290 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31545 /* 89293 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
31546 /* 89296 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31547 /* 89300 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31548 /* 89304 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31549 /* 89308 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31550 /* 89312 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31551 /* 89315 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31552 /* 89319 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31553 /* 89323 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31554 /* 89325 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31555 /* 89332 */ // (intrinsic_wo_chain:{ *:[i32] } 15984:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m32_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31556 /* 89332 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m32_EVEX),
31557 /* 89335 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31558 /* 89337 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31559 /* 89339 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31560 /* 89343 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31561 /* 89348 */ GIR_RootConstrainSelectedInstOperands,
31562 /* 89349 */ // GIR_Coverage, 3322,
31563 /* 89349 */ GIR_EraseRootFromParent_Done,
31564 /* 89350 */ // Label 1959: @89350
31565 /* 89350 */ GIM_Try, /*On fail goto*//*Label 1960*/ GIMT_Encode4(89426), // Rule ID 3324 //
31566 /* 89355 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
31567 /* 89358 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_64_64),
31568 /* 89363 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
31569 /* 89366 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
31570 /* 89369 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
31571 /* 89372 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
31572 /* 89376 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
31573 /* 89380 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31574 /* 89384 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31575 /* 89388 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31576 /* 89391 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31577 /* 89395 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31578 /* 89399 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31579 /* 89401 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31580 /* 89408 */ // (intrinsic_wo_chain:{ *:[i64] } 15986:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r64m64_EVEX:{ *:[i64] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31581 /* 89408 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r64m64_EVEX),
31582 /* 89411 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31583 /* 89413 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31584 /* 89415 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31585 /* 89419 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31586 /* 89424 */ GIR_RootConstrainSelectedInstOperands,
31587 /* 89425 */ // GIR_Coverage, 3324,
31588 /* 89425 */ GIR_EraseRootFromParent_Done,
31589 /* 89426 */ // Label 1960: @89426
31590 /* 89426 */ GIM_Try, /*On fail goto*//*Label 1961*/ GIMT_Encode4(89502), // Rule ID 3340 //
31591 /* 89431 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
31592 /* 89434 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
31593 /* 89439 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31594 /* 89442 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31595 /* 89445 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
31596 /* 89448 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31597 /* 89452 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31598 /* 89456 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31599 /* 89460 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31600 /* 89464 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31601 /* 89467 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31602 /* 89471 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31603 /* 89475 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31604 /* 89477 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31605 /* 89484 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14548:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31606 /* 89484 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCrm),
31607 /* 89487 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31608 /* 89489 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31609 /* 89491 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31610 /* 89495 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31611 /* 89500 */ GIR_RootConstrainSelectedInstOperands,
31612 /* 89501 */ // GIR_Coverage, 3340,
31613 /* 89501 */ GIR_EraseRootFromParent_Done,
31614 /* 89502 */ // Label 1961: @89502
31615 /* 89502 */ GIM_Try, /*On fail goto*//*Label 1962*/ GIMT_Encode4(89578), // Rule ID 3342 //
31616 /* 89507 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
31617 /* 89510 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
31618 /* 89515 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31619 /* 89518 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31620 /* 89521 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
31621 /* 89524 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31622 /* 89528 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31623 /* 89532 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31624 /* 89536 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31625 /* 89540 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31626 /* 89543 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31627 /* 89547 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31628 /* 89551 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31629 /* 89553 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31630 /* 89560 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14551:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31631 /* 89560 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTrm),
31632 /* 89563 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31633 /* 89565 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31634 /* 89567 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31635 /* 89571 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31636 /* 89576 */ GIR_RootConstrainSelectedInstOperands,
31637 /* 89577 */ // GIR_Coverage, 3342,
31638 /* 89577 */ GIR_EraseRootFromParent_Done,
31639 /* 89578 */ // Label 1962: @89578
31640 /* 89578 */ GIM_Try, /*On fail goto*//*Label 1963*/ GIMT_Encode4(89654), // Rule ID 3344 //
31641 /* 89583 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
31642 /* 89586 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
31643 /* 89591 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31644 /* 89594 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31645 /* 89597 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
31646 /* 89600 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31647 /* 89604 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31648 /* 89608 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31649 /* 89612 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31650 /* 89616 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31651 /* 89619 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31652 /* 89623 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31653 /* 89627 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31654 /* 89629 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31655 /* 89636 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14542:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31656 /* 89636 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECrm),
31657 /* 89639 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31658 /* 89641 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31659 /* 89643 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31660 /* 89647 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31661 /* 89652 */ GIR_RootConstrainSelectedInstOperands,
31662 /* 89653 */ // GIR_Coverage, 3344,
31663 /* 89653 */ GIR_EraseRootFromParent_Done,
31664 /* 89654 */ // Label 1963: @89654
31665 /* 89654 */ GIM_Try, /*On fail goto*//*Label 1964*/ GIMT_Encode4(89730), // Rule ID 3346 //
31666 /* 89659 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
31667 /* 89662 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
31668 /* 89667 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31669 /* 89670 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31670 /* 89673 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
31671 /* 89676 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31672 /* 89680 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31673 /* 89684 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31674 /* 89688 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31675 /* 89692 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31676 /* 89695 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31677 /* 89699 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31678 /* 89703 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31679 /* 89705 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31680 /* 89712 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14545:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31681 /* 89712 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTrm),
31682 /* 89715 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31683 /* 89717 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31684 /* 89719 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31685 /* 89723 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31686 /* 89728 */ GIR_RootConstrainSelectedInstOperands,
31687 /* 89729 */ // GIR_Coverage, 3346,
31688 /* 89729 */ GIR_EraseRootFromParent_Done,
31689 /* 89730 */ // Label 1964: @89730
31690 /* 89730 */ GIM_Try, /*On fail goto*//*Label 1965*/ GIMT_Encode4(89806), // Rule ID 3348 //
31691 /* 89735 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
31692 /* 89738 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_256),
31693 /* 89743 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
31694 /* 89746 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
31695 /* 89749 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
31696 /* 89752 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31697 /* 89756 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31698 /* 89760 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31699 /* 89764 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31700 /* 89768 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31701 /* 89771 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31702 /* 89775 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31703 /* 89779 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31704 /* 89781 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31705 /* 89788 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14549:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31706 /* 89788 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCYrm),
31707 /* 89791 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31708 /* 89793 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31709 /* 89795 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31710 /* 89799 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31711 /* 89804 */ GIR_RootConstrainSelectedInstOperands,
31712 /* 89805 */ // GIR_Coverage, 3348,
31713 /* 89805 */ GIR_EraseRootFromParent_Done,
31714 /* 89806 */ // Label 1965: @89806
31715 /* 89806 */ GIM_Try, /*On fail goto*//*Label 1966*/ GIMT_Encode4(89882), // Rule ID 3350 //
31716 /* 89811 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
31717 /* 89814 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_256),
31718 /* 89819 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
31719 /* 89822 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
31720 /* 89825 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
31721 /* 89828 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31722 /* 89832 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31723 /* 89836 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31724 /* 89840 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31725 /* 89844 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31726 /* 89847 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31727 /* 89851 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31728 /* 89855 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31729 /* 89857 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31730 /* 89864 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14552:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31731 /* 89864 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTYrm),
31732 /* 89867 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31733 /* 89869 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31734 /* 89871 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31735 /* 89875 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31736 /* 89880 */ GIR_RootConstrainSelectedInstOperands,
31737 /* 89881 */ // GIR_Coverage, 3350,
31738 /* 89881 */ GIR_EraseRootFromParent_Done,
31739 /* 89882 */ // Label 1966: @89882
31740 /* 89882 */ GIM_Try, /*On fail goto*//*Label 1967*/ GIMT_Encode4(89958), // Rule ID 3352 //
31741 /* 89887 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
31742 /* 89890 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_256),
31743 /* 89895 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
31744 /* 89898 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
31745 /* 89901 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
31746 /* 89904 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31747 /* 89908 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31748 /* 89912 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31749 /* 89916 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31750 /* 89920 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31751 /* 89923 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31752 /* 89927 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31753 /* 89931 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31754 /* 89933 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31755 /* 89940 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14543:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31756 /* 89940 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECYrm),
31757 /* 89943 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31758 /* 89945 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31759 /* 89947 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31760 /* 89951 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31761 /* 89956 */ GIR_RootConstrainSelectedInstOperands,
31762 /* 89957 */ // GIR_Coverage, 3352,
31763 /* 89957 */ GIR_EraseRootFromParent_Done,
31764 /* 89958 */ // Label 1967: @89958
31765 /* 89958 */ GIM_Try, /*On fail goto*//*Label 1968*/ GIMT_Encode4(90034), // Rule ID 3354 //
31766 /* 89963 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
31767 /* 89966 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_256),
31768 /* 89971 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
31769 /* 89974 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
31770 /* 89977 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
31771 /* 89980 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31772 /* 89984 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31773 /* 89988 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31774 /* 89992 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31775 /* 89996 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31776 /* 89999 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31777 /* 90003 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31778 /* 90007 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31779 /* 90009 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31780 /* 90016 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14546:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31781 /* 90016 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTYrm),
31782 /* 90019 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31783 /* 90021 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31784 /* 90023 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31785 /* 90027 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31786 /* 90032 */ GIR_RootConstrainSelectedInstOperands,
31787 /* 90033 */ // GIR_Coverage, 3354,
31788 /* 90033 */ GIR_EraseRootFromParent_Done,
31789 /* 90034 */ // Label 1968: @90034
31790 /* 90034 */ GIM_Try, /*On fail goto*//*Label 1969*/ GIMT_Encode4(90110), // Rule ID 3565 //
31791 /* 90039 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
31792 /* 90042 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4128),
31793 /* 90047 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31794 /* 90050 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31795 /* 90053 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
31796 /* 90056 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31797 /* 90060 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31798 /* 90064 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31799 /* 90068 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31800 /* 90072 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31801 /* 90075 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31802 /* 90079 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31803 /* 90083 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31804 /* 90085 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31805 /* 90092 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16132:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4rm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31806 /* 90092 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4rm),
31807 /* 90095 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31808 /* 90097 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31809 /* 90099 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31810 /* 90103 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31811 /* 90108 */ GIR_RootConstrainSelectedInstOperands,
31812 /* 90109 */ // GIR_Coverage, 3565,
31813 /* 90109 */ GIR_EraseRootFromParent_Done,
31814 /* 90110 */ // Label 1969: @90110
31815 /* 90110 */ GIM_Try, /*On fail goto*//*Label 1970*/ GIMT_Encode4(90186), // Rule ID 3567 //
31816 /* 90115 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
31817 /* 90118 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4256),
31818 /* 90123 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
31819 /* 90126 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
31820 /* 90129 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
31821 /* 90132 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31822 /* 90136 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31823 /* 90140 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31824 /* 90144 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31825 /* 90148 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31826 /* 90151 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31827 /* 90155 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31828 /* 90159 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31829 /* 90161 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31830 /* 90168 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16133:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4Yrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31831 /* 90168 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Yrm),
31832 /* 90171 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31833 /* 90173 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31834 /* 90175 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31835 /* 90179 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31836 /* 90184 */ GIR_RootConstrainSelectedInstOperands,
31837 /* 90185 */ // GIR_Coverage, 3567,
31838 /* 90185 */ GIR_EraseRootFromParent_Done,
31839 /* 90186 */ // Label 1970: @90186
31840 /* 90186 */ GIM_Try, /*On fail goto*//*Label 1971*/ GIMT_Encode4(90262), // Rule ID 3569 //
31841 /* 90191 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
31842 /* 90194 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4128),
31843 /* 90199 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31844 /* 90202 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31845 /* 90205 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
31846 /* 90208 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31847 /* 90212 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31848 /* 90216 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31849 /* 90220 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31850 /* 90224 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31851 /* 90227 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31852 /* 90231 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31853 /* 90235 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31854 /* 90237 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31855 /* 90244 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16135:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4rm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31856 /* 90244 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4rm),
31857 /* 90247 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31858 /* 90249 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31859 /* 90251 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31860 /* 90255 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31861 /* 90260 */ GIR_RootConstrainSelectedInstOperands,
31862 /* 90261 */ // GIR_Coverage, 3569,
31863 /* 90261 */ GIR_EraseRootFromParent_Done,
31864 /* 90262 */ // Label 1971: @90262
31865 /* 90262 */ GIM_Try, /*On fail goto*//*Label 1972*/ GIMT_Encode4(90338), // Rule ID 3571 //
31866 /* 90267 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
31867 /* 90270 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4256),
31868 /* 90275 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
31869 /* 90278 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
31870 /* 90281 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
31871 /* 90284 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31872 /* 90288 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31873 /* 90292 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31874 /* 90296 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31875 /* 90300 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31876 /* 90303 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31877 /* 90307 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31878 /* 90311 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31879 /* 90313 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31880 /* 90320 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16136:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4Yrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31881 /* 90320 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Yrm),
31882 /* 90323 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31883 /* 90325 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31884 /* 90327 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31885 /* 90331 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31886 /* 90336 */ GIR_RootConstrainSelectedInstOperands,
31887 /* 90337 */ // GIR_Coverage, 3571,
31888 /* 90337 */ GIR_EraseRootFromParent_Done,
31889 /* 90338 */ // Label 1972: @90338
31890 /* 90338 */ GIM_Try, /*On fail goto*//*Label 1973*/ GIMT_Encode4(90414), // Rule ID 14065 //
31891 /* 90343 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
31892 /* 90346 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
31893 /* 90351 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31894 /* 90354 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31895 /* 90357 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
31896 /* 90360 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31897 /* 90364 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31898 /* 90368 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31899 /* 90372 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31900 /* 90376 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31901 /* 90379 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31902 /* 90383 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31903 /* 90387 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31904 /* 90389 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31905 /* 90396 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14548:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31906 /* 90396 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZ128rm),
31907 /* 90399 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31908 /* 90401 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31909 /* 90403 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31910 /* 90407 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31911 /* 90412 */ GIR_RootConstrainSelectedInstOperands,
31912 /* 90413 */ // GIR_Coverage, 14065,
31913 /* 90413 */ GIR_EraseRootFromParent_Done,
31914 /* 90414 */ // Label 1973: @90414
31915 /* 90414 */ GIM_Try, /*On fail goto*//*Label 1974*/ GIMT_Encode4(90490), // Rule ID 14067 //
31916 /* 90419 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
31917 /* 90422 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_256),
31918 /* 90427 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
31919 /* 90430 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
31920 /* 90433 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
31921 /* 90436 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31922 /* 90440 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31923 /* 90444 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31924 /* 90448 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31925 /* 90452 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31926 /* 90455 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31927 /* 90459 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31928 /* 90463 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31929 /* 90465 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31930 /* 90472 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14549:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31931 /* 90472 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZ256rm),
31932 /* 90475 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31933 /* 90477 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31934 /* 90479 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31935 /* 90483 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31936 /* 90488 */ GIR_RootConstrainSelectedInstOperands,
31937 /* 90489 */ // GIR_Coverage, 14067,
31938 /* 90489 */ GIR_EraseRootFromParent_Done,
31939 /* 90490 */ // Label 1974: @90490
31940 /* 90490 */ GIM_Try, /*On fail goto*//*Label 1975*/ GIMT_Encode4(90566), // Rule ID 14069 //
31941 /* 90495 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
31942 /* 90498 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_512),
31943 /* 90503 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
31944 /* 90506 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
31945 /* 90509 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
31946 /* 90512 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
31947 /* 90516 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
31948 /* 90520 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31949 /* 90524 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31950 /* 90528 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31951 /* 90531 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31952 /* 90535 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31953 /* 90539 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31954 /* 90541 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31955 /* 90548 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14550:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31956 /* 90548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZrm),
31957 /* 90551 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31958 /* 90553 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31959 /* 90555 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31960 /* 90559 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31961 /* 90564 */ GIR_RootConstrainSelectedInstOperands,
31962 /* 90565 */ // GIR_Coverage, 14069,
31963 /* 90565 */ GIR_EraseRootFromParent_Done,
31964 /* 90566 */ // Label 1975: @90566
31965 /* 90566 */ GIM_Try, /*On fail goto*//*Label 1976*/ GIMT_Encode4(90642), // Rule ID 14071 //
31966 /* 90571 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
31967 /* 90574 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
31968 /* 90579 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31969 /* 90582 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31970 /* 90585 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
31971 /* 90588 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31972 /* 90592 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31973 /* 90596 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31974 /* 90600 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31975 /* 90604 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31976 /* 90607 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31977 /* 90611 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31978 /* 90615 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31979 /* 90617 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31980 /* 90624 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14551:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31981 /* 90624 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZ128rm),
31982 /* 90627 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31983 /* 90629 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31984 /* 90631 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31985 /* 90635 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31986 /* 90640 */ GIR_RootConstrainSelectedInstOperands,
31987 /* 90641 */ // GIR_Coverage, 14071,
31988 /* 90641 */ GIR_EraseRootFromParent_Done,
31989 /* 90642 */ // Label 1976: @90642
31990 /* 90642 */ GIM_Try, /*On fail goto*//*Label 1977*/ GIMT_Encode4(90718), // Rule ID 14073 //
31991 /* 90647 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
31992 /* 90650 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_256),
31993 /* 90655 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
31994 /* 90658 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
31995 /* 90661 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
31996 /* 90664 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31997 /* 90668 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31998 /* 90672 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31999 /* 90676 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32000 /* 90680 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32001 /* 90683 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32002 /* 90687 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32003 /* 90691 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32004 /* 90693 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32005 /* 90700 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14552:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32006 /* 90700 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZ256rm),
32007 /* 90703 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32008 /* 90705 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32009 /* 90707 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32010 /* 90711 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32011 /* 90716 */ GIR_RootConstrainSelectedInstOperands,
32012 /* 90717 */ // GIR_Coverage, 14073,
32013 /* 90717 */ GIR_EraseRootFromParent_Done,
32014 /* 90718 */ // Label 1977: @90718
32015 /* 90718 */ GIM_Try, /*On fail goto*//*Label 1978*/ GIMT_Encode4(90794), // Rule ID 14075 //
32016 /* 90723 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
32017 /* 90726 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_512),
32018 /* 90731 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
32019 /* 90734 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
32020 /* 90737 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
32021 /* 90740 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32022 /* 90744 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32023 /* 90748 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32024 /* 90752 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32025 /* 90756 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32026 /* 90759 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32027 /* 90763 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32028 /* 90767 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32029 /* 90769 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32030 /* 90776 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14553:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32031 /* 90776 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZrm),
32032 /* 90779 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32033 /* 90781 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32034 /* 90783 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32035 /* 90787 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32036 /* 90792 */ GIR_RootConstrainSelectedInstOperands,
32037 /* 90793 */ // GIR_Coverage, 14075,
32038 /* 90793 */ GIR_EraseRootFromParent_Done,
32039 /* 90794 */ // Label 1978: @90794
32040 /* 90794 */ GIM_Try, /*On fail goto*//*Label 1979*/ GIMT_Encode4(90870), // Rule ID 14077 //
32041 /* 90799 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
32042 /* 90802 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
32043 /* 90807 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32044 /* 90810 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32045 /* 90813 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32046 /* 90816 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32047 /* 90820 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32048 /* 90824 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32049 /* 90828 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32050 /* 90832 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32051 /* 90835 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32052 /* 90839 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32053 /* 90843 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32054 /* 90845 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32055 /* 90852 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14542:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32056 /* 90852 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZ128rm),
32057 /* 90855 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32058 /* 90857 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32059 /* 90859 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32060 /* 90863 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32061 /* 90868 */ GIR_RootConstrainSelectedInstOperands,
32062 /* 90869 */ // GIR_Coverage, 14077,
32063 /* 90869 */ GIR_EraseRootFromParent_Done,
32064 /* 90870 */ // Label 1979: @90870
32065 /* 90870 */ GIM_Try, /*On fail goto*//*Label 1980*/ GIMT_Encode4(90946), // Rule ID 14079 //
32066 /* 90875 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
32067 /* 90878 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_256),
32068 /* 90883 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32069 /* 90886 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32070 /* 90889 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32071 /* 90892 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32072 /* 90896 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32073 /* 90900 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32074 /* 90904 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32075 /* 90908 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32076 /* 90911 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32077 /* 90915 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32078 /* 90919 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32079 /* 90921 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32080 /* 90928 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14543:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32081 /* 90928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZ256rm),
32082 /* 90931 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32083 /* 90933 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32084 /* 90935 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32085 /* 90939 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32086 /* 90944 */ GIR_RootConstrainSelectedInstOperands,
32087 /* 90945 */ // GIR_Coverage, 14079,
32088 /* 90945 */ GIR_EraseRootFromParent_Done,
32089 /* 90946 */ // Label 1980: @90946
32090 /* 90946 */ GIM_Try, /*On fail goto*//*Label 1981*/ GIMT_Encode4(91022), // Rule ID 14081 //
32091 /* 90951 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
32092 /* 90954 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_512),
32093 /* 90959 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
32094 /* 90962 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
32095 /* 90965 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
32096 /* 90968 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32097 /* 90972 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32098 /* 90976 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32099 /* 90980 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32100 /* 90984 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32101 /* 90987 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32102 /* 90991 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32103 /* 90995 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32104 /* 90997 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32105 /* 91004 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14544:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32106 /* 91004 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZrm),
32107 /* 91007 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32108 /* 91009 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32109 /* 91011 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32110 /* 91015 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32111 /* 91020 */ GIR_RootConstrainSelectedInstOperands,
32112 /* 91021 */ // GIR_Coverage, 14081,
32113 /* 91021 */ GIR_EraseRootFromParent_Done,
32114 /* 91022 */ // Label 1981: @91022
32115 /* 91022 */ GIM_Try, /*On fail goto*//*Label 1982*/ GIMT_Encode4(91098), // Rule ID 14083 //
32116 /* 91027 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
32117 /* 91030 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
32118 /* 91035 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32119 /* 91038 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32120 /* 91041 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32121 /* 91044 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32122 /* 91048 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32123 /* 91052 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32124 /* 91056 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32125 /* 91060 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32126 /* 91063 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32127 /* 91067 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32128 /* 91071 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32129 /* 91073 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32130 /* 91080 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14545:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32131 /* 91080 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZ128rm),
32132 /* 91083 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32133 /* 91085 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32134 /* 91087 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32135 /* 91091 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32136 /* 91096 */ GIR_RootConstrainSelectedInstOperands,
32137 /* 91097 */ // GIR_Coverage, 14083,
32138 /* 91097 */ GIR_EraseRootFromParent_Done,
32139 /* 91098 */ // Label 1982: @91098
32140 /* 91098 */ GIM_Try, /*On fail goto*//*Label 1983*/ GIMT_Encode4(91174), // Rule ID 14085 //
32141 /* 91103 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
32142 /* 91106 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_256),
32143 /* 91111 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32144 /* 91114 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32145 /* 91117 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32146 /* 91120 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32147 /* 91124 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32148 /* 91128 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32149 /* 91132 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32150 /* 91136 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32151 /* 91139 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32152 /* 91143 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32153 /* 91147 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32154 /* 91149 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32155 /* 91156 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14546:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32156 /* 91156 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZ256rm),
32157 /* 91159 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32158 /* 91161 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32159 /* 91163 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32160 /* 91167 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32161 /* 91172 */ GIR_RootConstrainSelectedInstOperands,
32162 /* 91173 */ // GIR_Coverage, 14085,
32163 /* 91173 */ GIR_EraseRootFromParent_Done,
32164 /* 91174 */ // Label 1983: @91174
32165 /* 91174 */ GIM_Try, /*On fail goto*//*Label 1984*/ GIMT_Encode4(91250), // Rule ID 14087 //
32166 /* 91179 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
32167 /* 91182 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_512),
32168 /* 91187 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
32169 /* 91190 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
32170 /* 91193 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
32171 /* 91196 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32172 /* 91200 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32173 /* 91204 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32174 /* 91208 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32175 /* 91212 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32176 /* 91215 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32177 /* 91219 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32178 /* 91223 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32179 /* 91225 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32180 /* 91232 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14547:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32181 /* 91232 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZrm),
32182 /* 91235 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32183 /* 91237 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32184 /* 91239 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32185 /* 91243 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32186 /* 91248 */ GIR_RootConstrainSelectedInstOperands,
32187 /* 91249 */ // GIR_Coverage, 14087,
32188 /* 91249 */ GIR_EraseRootFromParent_Done,
32189 /* 91250 */ // Label 1984: @91250
32190 /* 91250 */ GIM_Try, /*On fail goto*//*Label 1985*/ GIMT_Encode4(91326), // Rule ID 16798 //
32191 /* 91255 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
32192 /* 91258 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4512),
32193 /* 91263 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
32194 /* 91266 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
32195 /* 91269 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
32196 /* 91272 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32197 /* 91276 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32198 /* 91280 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32199 /* 91284 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32200 /* 91288 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32201 /* 91291 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32202 /* 91295 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32203 /* 91299 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32204 /* 91301 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32205 /* 91308 */ // (intrinsic_wo_chain:{ *:[v16i32] } 16134:{ *:[iPTR] }, VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4Zrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32206 /* 91308 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Zrm),
32207 /* 91311 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32208 /* 91313 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32209 /* 91315 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32210 /* 91319 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32211 /* 91324 */ GIR_RootConstrainSelectedInstOperands,
32212 /* 91325 */ // GIR_Coverage, 16798,
32213 /* 91325 */ GIR_EraseRootFromParent_Done,
32214 /* 91326 */ // Label 1985: @91326
32215 /* 91326 */ GIM_Try, /*On fail goto*//*Label 1986*/ GIMT_Encode4(91402), // Rule ID 16804 //
32216 /* 91331 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
32217 /* 91334 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4512),
32218 /* 91339 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
32219 /* 91342 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
32220 /* 91345 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
32221 /* 91348 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32222 /* 91352 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32223 /* 91356 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32224 /* 91360 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32225 /* 91364 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32226 /* 91367 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32227 /* 91371 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32228 /* 91375 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32229 /* 91377 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32230 /* 91384 */ // (intrinsic_wo_chain:{ *:[v16i32] } 16137:{ *:[iPTR] }, VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4Zrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32231 /* 91384 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Zrm),
32232 /* 91387 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32233 /* 91389 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32234 /* 91391 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32235 /* 91395 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32236 /* 91400 */ GIR_RootConstrainSelectedInstOperands,
32237 /* 91401 */ // GIR_Coverage, 16804,
32238 /* 91401 */ GIR_EraseRootFromParent_Done,
32239 /* 91402 */ // Label 1986: @91402
32240 /* 91402 */ GIM_Try, /*On fail goto*//*Label 1987*/ GIMT_Encode4(91443), // Rule ID 3367 //
32241 /* 91407 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX),
32242 /* 91410 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aeskeygenassist),
32243 /* 91415 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32244 /* 91418 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32245 /* 91421 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32246 /* 91425 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32247 /* 91429 */ // MIs[0] src2
32248 /* 91429 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
32249 /* 91432 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14555:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (timm:{ *:[i8] }):$src2) => (VAESKEYGENASSISTrri:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (timm:{ *:[i8] }):$src2)
32250 /* 91432 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESKEYGENASSISTrri),
32251 /* 91435 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32252 /* 91437 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32253 /* 91439 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32254 /* 91441 */ GIR_RootConstrainSelectedInstOperands,
32255 /* 91442 */ // GIR_Coverage, 3367,
32256 /* 91442 */ GIR_EraseRootFromParent_Done,
32257 /* 91443 */ // Label 1987: @91443
32258 /* 91443 */ GIM_Try, /*On fail goto*//*Label 1988*/ GIMT_Encode4(91484), // Rule ID 3369 //
32259 /* 91448 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
32260 /* 91451 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aeskeygenassist),
32261 /* 91456 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32262 /* 91459 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32263 /* 91462 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32264 /* 91466 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32265 /* 91470 */ // MIs[0] src2
32266 /* 91470 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
32267 /* 91473 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14555:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (timm:{ *:[i8] }):$src2) => (AESKEYGENASSISTrri:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (timm:{ *:[i8] }):$src2)
32268 /* 91473 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESKEYGENASSISTrri),
32269 /* 91476 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32270 /* 91478 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32271 /* 91480 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32272 /* 91482 */ GIR_RootConstrainSelectedInstOperands,
32273 /* 91483 */ // GIR_Coverage, 3369,
32274 /* 91483 */ GIR_EraseRootFromParent_Done,
32275 /* 91484 */ // Label 1988: @91484
32276 /* 91484 */ GIM_Try, /*On fail goto*//*Label 1989*/ GIMT_Encode4(91529), // Rule ID 16793 //
32277 /* 91489 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
32278 /* 91492 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4128),
32279 /* 91497 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32280 /* 91500 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32281 /* 91503 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32282 /* 91506 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32283 /* 91510 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32284 /* 91514 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32285 /* 91518 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16132:{ *:[iPTR] }, VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VSM4KEY4Z128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
32286 /* 91518 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Z128rr),
32287 /* 91521 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32288 /* 91523 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32289 /* 91525 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32290 /* 91527 */ GIR_RootConstrainSelectedInstOperands,
32291 /* 91528 */ // GIR_Coverage, 16793,
32292 /* 91528 */ GIR_EraseRootFromParent_Done,
32293 /* 91529 */ // Label 1989: @91529
32294 /* 91529 */ GIM_Try, /*On fail goto*//*Label 1990*/ GIMT_Encode4(91574), // Rule ID 16795 //
32295 /* 91534 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
32296 /* 91537 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4256),
32297 /* 91542 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
32298 /* 91545 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
32299 /* 91548 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
32300 /* 91551 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32301 /* 91555 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32302 /* 91559 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32303 /* 91563 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16133:{ *:[iPTR] }, VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VSM4KEY4Z256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
32304 /* 91563 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Z256rr),
32305 /* 91566 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32306 /* 91568 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32307 /* 91570 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32308 /* 91572 */ GIR_RootConstrainSelectedInstOperands,
32309 /* 91573 */ // GIR_Coverage, 16795,
32310 /* 91573 */ GIR_EraseRootFromParent_Done,
32311 /* 91574 */ // Label 1990: @91574
32312 /* 91574 */ GIM_Try, /*On fail goto*//*Label 1991*/ GIMT_Encode4(91619), // Rule ID 16799 //
32313 /* 91579 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
32314 /* 91582 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4128),
32315 /* 91587 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32316 /* 91590 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32317 /* 91593 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32318 /* 91596 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32319 /* 91600 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32320 /* 91604 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32321 /* 91608 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16135:{ *:[iPTR] }, VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VSM4RNDS4Z128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
32322 /* 91608 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Z128rr),
32323 /* 91611 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32324 /* 91613 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32325 /* 91615 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32326 /* 91617 */ GIR_RootConstrainSelectedInstOperands,
32327 /* 91618 */ // GIR_Coverage, 16799,
32328 /* 91618 */ GIR_EraseRootFromParent_Done,
32329 /* 91619 */ // Label 1991: @91619
32330 /* 91619 */ GIM_Try, /*On fail goto*//*Label 1992*/ GIMT_Encode4(91664), // Rule ID 16801 //
32331 /* 91624 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
32332 /* 91627 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4256),
32333 /* 91632 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
32334 /* 91635 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
32335 /* 91638 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
32336 /* 91641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32337 /* 91645 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32338 /* 91649 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32339 /* 91653 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16136:{ *:[iPTR] }, VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VSM4RNDS4Z256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
32340 /* 91653 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Z256rr),
32341 /* 91656 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32342 /* 91658 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32343 /* 91660 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32344 /* 91662 */ GIR_RootConstrainSelectedInstOperands,
32345 /* 91663 */ // GIR_Coverage, 16801,
32346 /* 91663 */ GIR_EraseRootFromParent_Done,
32347 /* 91664 */ // Label 1992: @91664
32348 /* 91664 */ GIM_Try, /*On fail goto*//*Label 1993*/ GIMT_Encode4(91709), // Rule ID 3022 //
32349 /* 91669 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
32350 /* 91672 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_b_128),
32351 /* 91677 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
32352 /* 91680 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
32353 /* 91683 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
32354 /* 91686 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32355 /* 91690 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32356 /* 91694 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32357 /* 91698 */ // (intrinsic_wo_chain:{ *:[v16i8] } 16027:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPSIGNBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
32358 /* 91698 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNBrr),
32359 /* 91701 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32360 /* 91703 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32361 /* 91705 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32362 /* 91707 */ GIR_RootConstrainSelectedInstOperands,
32363 /* 91708 */ // GIR_Coverage, 3022,
32364 /* 91708 */ GIR_EraseRootFromParent_Done,
32365 /* 91709 */ // Label 1993: @91709
32366 /* 91709 */ GIM_Try, /*On fail goto*//*Label 1994*/ GIMT_Encode4(91754), // Rule ID 3024 //
32367 /* 91714 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
32368 /* 91717 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_w_128),
32369 /* 91722 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
32370 /* 91725 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
32371 /* 91728 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
32372 /* 91731 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32373 /* 91735 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32374 /* 91739 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32375 /* 91743 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16031:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPSIGNWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
32376 /* 91743 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNWrr),
32377 /* 91746 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32378 /* 91748 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32379 /* 91750 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32380 /* 91752 */ GIR_RootConstrainSelectedInstOperands,
32381 /* 91753 */ // GIR_Coverage, 3024,
32382 /* 91753 */ GIR_EraseRootFromParent_Done,
32383 /* 91754 */ // Label 1994: @91754
32384 /* 91754 */ GIM_Try, /*On fail goto*//*Label 1995*/ GIMT_Encode4(91799), // Rule ID 3026 //
32385 /* 91759 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
32386 /* 91762 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_d_128),
32387 /* 91767 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32388 /* 91770 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32389 /* 91773 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32390 /* 91776 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32391 /* 91780 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32392 /* 91784 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32393 /* 91788 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16029:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPSIGNDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32394 /* 91788 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNDrr),
32395 /* 91791 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32396 /* 91793 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32397 /* 91795 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32398 /* 91797 */ GIR_RootConstrainSelectedInstOperands,
32399 /* 91798 */ // GIR_Coverage, 3026,
32400 /* 91798 */ GIR_EraseRootFromParent_Done,
32401 /* 91799 */ // Label 1995: @91799
32402 /* 91799 */ GIM_Try, /*On fail goto*//*Label 1996*/ GIMT_Encode4(91844), // Rule ID 3046 //
32403 /* 91804 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
32404 /* 91807 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_b),
32405 /* 91812 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s8,
32406 /* 91815 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
32407 /* 91818 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
32408 /* 91821 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32409 /* 91825 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32410 /* 91829 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32411 /* 91833 */ // (intrinsic_wo_chain:{ *:[v32i8] } 14918:{ *:[iPTR] }, VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPSIGNBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
32412 /* 91833 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNBYrr),
32413 /* 91836 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32414 /* 91838 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32415 /* 91840 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32416 /* 91842 */ GIR_RootConstrainSelectedInstOperands,
32417 /* 91843 */ // GIR_Coverage, 3046,
32418 /* 91843 */ GIR_EraseRootFromParent_Done,
32419 /* 91844 */ // Label 1996: @91844
32420 /* 91844 */ GIM_Try, /*On fail goto*//*Label 1997*/ GIMT_Encode4(91889), // Rule ID 3048 //
32421 /* 91849 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
32422 /* 91852 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_w),
32423 /* 91857 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s16,
32424 /* 91860 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
32425 /* 91863 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
32426 /* 91866 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32427 /* 91870 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32428 /* 91874 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32429 /* 91878 */ // (intrinsic_wo_chain:{ *:[v16i16] } 14920:{ *:[iPTR] }, VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPSIGNWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
32430 /* 91878 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNWYrr),
32431 /* 91881 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32432 /* 91883 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32433 /* 91885 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32434 /* 91887 */ GIR_RootConstrainSelectedInstOperands,
32435 /* 91888 */ // GIR_Coverage, 3048,
32436 /* 91888 */ GIR_EraseRootFromParent_Done,
32437 /* 91889 */ // Label 1997: @91889
32438 /* 91889 */ GIM_Try, /*On fail goto*//*Label 1998*/ GIMT_Encode4(91934), // Rule ID 3050 //
32439 /* 91894 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
32440 /* 91897 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_d),
32441 /* 91902 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
32442 /* 91905 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
32443 /* 91908 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
32444 /* 91911 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32445 /* 91915 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32446 /* 91919 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32447 /* 91923 */ // (intrinsic_wo_chain:{ *:[v8i32] } 14919:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPSIGNDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
32448 /* 91923 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNDYrr),
32449 /* 91926 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32450 /* 91928 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32451 /* 91930 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32452 /* 91932 */ GIR_RootConstrainSelectedInstOperands,
32453 /* 91933 */ // GIR_Coverage, 3050,
32454 /* 91933 */ GIR_EraseRootFromParent_Done,
32455 /* 91934 */ // Label 1998: @91934
32456 /* 91934 */ GIM_Try, /*On fail goto*//*Label 1999*/ GIMT_Encode4(91979), // Rule ID 3064 //
32457 /* 91939 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
32458 /* 91942 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_b_128),
32459 /* 91947 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
32460 /* 91950 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
32461 /* 91953 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
32462 /* 91956 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32463 /* 91960 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32464 /* 91964 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32465 /* 91968 */ // (intrinsic_wo_chain:{ *:[v16i8] } 16027:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PSIGNBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
32466 /* 91968 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PSIGNBrr),
32467 /* 91971 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32468 /* 91973 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32469 /* 91975 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32470 /* 91977 */ GIR_RootConstrainSelectedInstOperands,
32471 /* 91978 */ // GIR_Coverage, 3064,
32472 /* 91978 */ GIR_EraseRootFromParent_Done,
32473 /* 91979 */ // Label 1999: @91979
32474 /* 91979 */ GIM_Try, /*On fail goto*//*Label 2000*/ GIMT_Encode4(92024), // Rule ID 3066 //
32475 /* 91984 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
32476 /* 91987 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_w_128),
32477 /* 91992 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
32478 /* 91995 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
32479 /* 91998 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
32480 /* 92001 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32481 /* 92005 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32482 /* 92009 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32483 /* 92013 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16031:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PSIGNWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
32484 /* 92013 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PSIGNWrr),
32485 /* 92016 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32486 /* 92018 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32487 /* 92020 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32488 /* 92022 */ GIR_RootConstrainSelectedInstOperands,
32489 /* 92023 */ // GIR_Coverage, 3066,
32490 /* 92023 */ GIR_EraseRootFromParent_Done,
32491 /* 92024 */ // Label 2000: @92024
32492 /* 92024 */ GIM_Try, /*On fail goto*//*Label 2001*/ GIMT_Encode4(92069), // Rule ID 3068 //
32493 /* 92029 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
32494 /* 92032 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_d_128),
32495 /* 92037 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32496 /* 92040 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32497 /* 92043 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32498 /* 92046 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32499 /* 92050 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32500 /* 92054 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32501 /* 92058 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16029:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PSIGNDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32502 /* 92058 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PSIGNDrr),
32503 /* 92061 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32504 /* 92063 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32505 /* 92065 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32506 /* 92067 */ GIR_RootConstrainSelectedInstOperands,
32507 /* 92068 */ // GIR_Coverage, 3068,
32508 /* 92068 */ GIR_EraseRootFromParent_Done,
32509 /* 92069 */ // Label 2001: @92069
32510 /* 92069 */ GIM_Try, /*On fail goto*//*Label 2002*/ GIMT_Encode4(92114), // Rule ID 3309 //
32511 /* 92074 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
32512 /* 92077 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_8),
32513 /* 92082 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32514 /* 92085 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32515 /* 92088 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
32516 /* 92091 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32517 /* 92095 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32518 /* 92099 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
32519 /* 92103 */ // (intrinsic_wo_chain:{ *:[i32] } 15985:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2) => (CRC32r32r8:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2)
32520 /* 92103 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r8),
32521 /* 92106 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32522 /* 92108 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32523 /* 92110 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32524 /* 92112 */ GIR_RootConstrainSelectedInstOperands,
32525 /* 92113 */ // GIR_Coverage, 3309,
32526 /* 92113 */ GIR_EraseRootFromParent_Done,
32527 /* 92114 */ // Label 2002: @92114
32528 /* 92114 */ GIM_Try, /*On fail goto*//*Label 2003*/ GIMT_Encode4(92159), // Rule ID 3311 //
32529 /* 92119 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
32530 /* 92122 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_16),
32531 /* 92127 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32532 /* 92130 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32533 /* 92133 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
32534 /* 92136 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32535 /* 92140 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32536 /* 92144 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
32537 /* 92148 */ // (intrinsic_wo_chain:{ *:[i32] } 15983:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR16:{ *:[i16] }:$src2) => (CRC32r32r16:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR16:{ *:[i16] }:$src2)
32538 /* 92148 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r16),
32539 /* 92151 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32540 /* 92153 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32541 /* 92155 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32542 /* 92157 */ GIR_RootConstrainSelectedInstOperands,
32543 /* 92158 */ // GIR_Coverage, 3311,
32544 /* 92158 */ GIR_EraseRootFromParent_Done,
32545 /* 92159 */ // Label 2003: @92159
32546 /* 92159 */ GIM_Try, /*On fail goto*//*Label 2004*/ GIMT_Encode4(92204), // Rule ID 3313 //
32547 /* 92164 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
32548 /* 92167 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_32),
32549 /* 92172 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32550 /* 92175 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32551 /* 92178 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
32552 /* 92181 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32553 /* 92185 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32554 /* 92189 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32555 /* 92193 */ // (intrinsic_wo_chain:{ *:[i32] } 15984:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (CRC32r32r32:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
32556 /* 92193 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r32),
32557 /* 92196 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32558 /* 92198 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32559 /* 92200 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32560 /* 92202 */ GIR_RootConstrainSelectedInstOperands,
32561 /* 92203 */ // GIR_Coverage, 3313,
32562 /* 92203 */ GIR_EraseRootFromParent_Done,
32563 /* 92204 */ // Label 2004: @92204
32564 /* 92204 */ GIM_Try, /*On fail goto*//*Label 2005*/ GIMT_Encode4(92249), // Rule ID 3315 //
32565 /* 92209 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
32566 /* 92212 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_64_64),
32567 /* 92217 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
32568 /* 92220 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
32569 /* 92223 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
32570 /* 92226 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
32571 /* 92230 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
32572 /* 92234 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
32573 /* 92238 */ // (intrinsic_wo_chain:{ *:[i64] } 15986:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (CRC32r64r64:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
32574 /* 92238 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r64r64),
32575 /* 92241 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32576 /* 92243 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32577 /* 92245 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32578 /* 92247 */ GIR_RootConstrainSelectedInstOperands,
32579 /* 92248 */ // GIR_Coverage, 3315,
32580 /* 92248 */ GIR_EraseRootFromParent_Done,
32581 /* 92249 */ // Label 2005: @92249
32582 /* 92249 */ GIM_Try, /*On fail goto*//*Label 2006*/ GIMT_Encode4(92294), // Rule ID 3317 //
32583 /* 92254 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
32584 /* 92257 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_8),
32585 /* 92262 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32586 /* 92265 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32587 /* 92268 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
32588 /* 92271 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32589 /* 92275 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32590 /* 92279 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
32591 /* 92283 */ // (intrinsic_wo_chain:{ *:[i32] } 15985:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2) => (CRC32r32r8_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2)
32592 /* 92283 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r8_EVEX),
32593 /* 92286 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32594 /* 92288 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32595 /* 92290 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32596 /* 92292 */ GIR_RootConstrainSelectedInstOperands,
32597 /* 92293 */ // GIR_Coverage, 3317,
32598 /* 92293 */ GIR_EraseRootFromParent_Done,
32599 /* 92294 */ // Label 2006: @92294
32600 /* 92294 */ GIM_Try, /*On fail goto*//*Label 2007*/ GIMT_Encode4(92339), // Rule ID 3319 //
32601 /* 92299 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
32602 /* 92302 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_16),
32603 /* 92307 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32604 /* 92310 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32605 /* 92313 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
32606 /* 92316 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32607 /* 92320 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32608 /* 92324 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
32609 /* 92328 */ // (intrinsic_wo_chain:{ *:[i32] } 15983:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR16:{ *:[i16] }:$src2) => (CRC32r32r16_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR16:{ *:[i16] }:$src2)
32610 /* 92328 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r16_EVEX),
32611 /* 92331 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32612 /* 92333 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32613 /* 92335 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32614 /* 92337 */ GIR_RootConstrainSelectedInstOperands,
32615 /* 92338 */ // GIR_Coverage, 3319,
32616 /* 92338 */ GIR_EraseRootFromParent_Done,
32617 /* 92339 */ // Label 2007: @92339
32618 /* 92339 */ GIM_Try, /*On fail goto*//*Label 2008*/ GIMT_Encode4(92384), // Rule ID 3321 //
32619 /* 92344 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
32620 /* 92347 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_32),
32621 /* 92352 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32622 /* 92355 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32623 /* 92358 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
32624 /* 92361 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32625 /* 92365 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32626 /* 92369 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32627 /* 92373 */ // (intrinsic_wo_chain:{ *:[i32] } 15984:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (CRC32r32r32_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
32628 /* 92373 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r32_EVEX),
32629 /* 92376 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32630 /* 92378 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32631 /* 92380 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32632 /* 92382 */ GIR_RootConstrainSelectedInstOperands,
32633 /* 92383 */ // GIR_Coverage, 3321,
32634 /* 92383 */ GIR_EraseRootFromParent_Done,
32635 /* 92384 */ // Label 2008: @92384
32636 /* 92384 */ GIM_Try, /*On fail goto*//*Label 2009*/ GIMT_Encode4(92429), // Rule ID 3323 //
32637 /* 92389 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
32638 /* 92392 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_64_64),
32639 /* 92397 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
32640 /* 92400 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
32641 /* 92403 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
32642 /* 92406 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
32643 /* 92410 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
32644 /* 92414 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
32645 /* 92418 */ // (intrinsic_wo_chain:{ *:[i64] } 15986:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (CRC32r64r64_EVEX:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
32646 /* 92418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r64r64_EVEX),
32647 /* 92421 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32648 /* 92423 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32649 /* 92425 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32650 /* 92427 */ GIR_RootConstrainSelectedInstOperands,
32651 /* 92428 */ // GIR_Coverage, 3323,
32652 /* 92428 */ GIR_EraseRootFromParent_Done,
32653 /* 92429 */ // Label 2009: @92429
32654 /* 92429 */ GIM_Try, /*On fail goto*//*Label 2010*/ GIMT_Encode4(92474), // Rule ID 3327 //
32655 /* 92434 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
32656 /* 92437 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha1nexte),
32657 /* 92442 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32658 /* 92445 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32659 /* 92448 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32660 /* 92451 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32661 /* 92455 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32662 /* 92459 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32663 /* 92463 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15855:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA1NEXTErr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32664 /* 92463 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA1NEXTErr),
32665 /* 92466 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32666 /* 92468 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32667 /* 92470 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32668 /* 92472 */ GIR_RootConstrainSelectedInstOperands,
32669 /* 92473 */ // GIR_Coverage, 3327,
32670 /* 92473 */ GIR_EraseRootFromParent_Done,
32671 /* 92474 */ // Label 2010: @92474
32672 /* 92474 */ GIM_Try, /*On fail goto*//*Label 2011*/ GIMT_Encode4(92519), // Rule ID 3329 //
32673 /* 92479 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
32674 /* 92482 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha1msg1),
32675 /* 92487 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32676 /* 92490 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32677 /* 92493 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32678 /* 92496 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32679 /* 92500 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32680 /* 92504 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32681 /* 92508 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15853:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA1MSG1rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32682 /* 92508 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA1MSG1rr),
32683 /* 92511 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32684 /* 92513 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32685 /* 92515 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32686 /* 92517 */ GIR_RootConstrainSelectedInstOperands,
32687 /* 92518 */ // GIR_Coverage, 3329,
32688 /* 92518 */ GIR_EraseRootFromParent_Done,
32689 /* 92519 */ // Label 2011: @92519
32690 /* 92519 */ GIM_Try, /*On fail goto*//*Label 2012*/ GIMT_Encode4(92564), // Rule ID 3331 //
32691 /* 92524 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
32692 /* 92527 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha1msg2),
32693 /* 92532 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32694 /* 92535 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32695 /* 92538 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32696 /* 92541 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32697 /* 92545 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32698 /* 92549 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32699 /* 92553 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15854:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA1MSG2rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32700 /* 92553 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA1MSG2rr),
32701 /* 92556 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32702 /* 92558 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32703 /* 92560 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32704 /* 92562 */ GIR_RootConstrainSelectedInstOperands,
32705 /* 92563 */ // GIR_Coverage, 3331,
32706 /* 92563 */ GIR_EraseRootFromParent_Done,
32707 /* 92564 */ // Label 2012: @92564
32708 /* 92564 */ GIM_Try, /*On fail goto*//*Label 2013*/ GIMT_Encode4(92609), // Rule ID 3335 //
32709 /* 92569 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
32710 /* 92572 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha256msg1),
32711 /* 92577 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32712 /* 92580 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32713 /* 92583 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32714 /* 92586 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32715 /* 92590 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32716 /* 92594 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32717 /* 92598 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15857:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA256MSG1rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32718 /* 92598 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA256MSG1rr),
32719 /* 92601 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32720 /* 92603 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32721 /* 92605 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32722 /* 92607 */ GIR_RootConstrainSelectedInstOperands,
32723 /* 92608 */ // GIR_Coverage, 3335,
32724 /* 92608 */ GIR_EraseRootFromParent_Done,
32725 /* 92609 */ // Label 2013: @92609
32726 /* 92609 */ GIM_Try, /*On fail goto*//*Label 2014*/ GIMT_Encode4(92654), // Rule ID 3337 //
32727 /* 92614 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
32728 /* 92617 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha256msg2),
32729 /* 92622 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32730 /* 92625 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32731 /* 92628 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32732 /* 92631 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32733 /* 92635 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32734 /* 92639 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32735 /* 92643 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15858:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA256MSG2rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32736 /* 92643 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA256MSG2rr),
32737 /* 92646 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32738 /* 92648 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32739 /* 92650 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32740 /* 92652 */ GIR_RootConstrainSelectedInstOperands,
32741 /* 92653 */ // GIR_Coverage, 3337,
32742 /* 92653 */ GIR_EraseRootFromParent_Done,
32743 /* 92654 */ // Label 2014: @92654
32744 /* 92654 */ GIM_Try, /*On fail goto*//*Label 2015*/ GIMT_Encode4(92699), // Rule ID 3339 //
32745 /* 92659 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
32746 /* 92662 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
32747 /* 92667 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32748 /* 92670 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32749 /* 92673 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32750 /* 92676 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32751 /* 92680 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32752 /* 92684 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32753 /* 92688 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14548:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VAESENCrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
32754 /* 92688 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCrr),
32755 /* 92691 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32756 /* 92693 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32757 /* 92695 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32758 /* 92697 */ GIR_RootConstrainSelectedInstOperands,
32759 /* 92698 */ // GIR_Coverage, 3339,
32760 /* 92698 */ GIR_EraseRootFromParent_Done,
32761 /* 92699 */ // Label 2015: @92699
32762 /* 92699 */ GIM_Try, /*On fail goto*//*Label 2016*/ GIMT_Encode4(92744), // Rule ID 3341 //
32763 /* 92704 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
32764 /* 92707 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
32765 /* 92712 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32766 /* 92715 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32767 /* 92718 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32768 /* 92721 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32769 /* 92725 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32770 /* 92729 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32771 /* 92733 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14551:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VAESENCLASTrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
32772 /* 92733 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTrr),
32773 /* 92736 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32774 /* 92738 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32775 /* 92740 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32776 /* 92742 */ GIR_RootConstrainSelectedInstOperands,
32777 /* 92743 */ // GIR_Coverage, 3341,
32778 /* 92743 */ GIR_EraseRootFromParent_Done,
32779 /* 92744 */ // Label 2016: @92744
32780 /* 92744 */ GIM_Try, /*On fail goto*//*Label 2017*/ GIMT_Encode4(92789), // Rule ID 3343 //
32781 /* 92749 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
32782 /* 92752 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
32783 /* 92757 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32784 /* 92760 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32785 /* 92763 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32786 /* 92766 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32787 /* 92770 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32788 /* 92774 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32789 /* 92778 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14542:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VAESDECrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
32790 /* 92778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECrr),
32791 /* 92781 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32792 /* 92783 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32793 /* 92785 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32794 /* 92787 */ GIR_RootConstrainSelectedInstOperands,
32795 /* 92788 */ // GIR_Coverage, 3343,
32796 /* 92788 */ GIR_EraseRootFromParent_Done,
32797 /* 92789 */ // Label 2017: @92789
32798 /* 92789 */ GIM_Try, /*On fail goto*//*Label 2018*/ GIMT_Encode4(92834), // Rule ID 3345 //
32799 /* 92794 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
32800 /* 92797 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
32801 /* 92802 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32802 /* 92805 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32803 /* 92808 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32804 /* 92811 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32805 /* 92815 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32806 /* 92819 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32807 /* 92823 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14545:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VAESDECLASTrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
32808 /* 92823 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTrr),
32809 /* 92826 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32810 /* 92828 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32811 /* 92830 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32812 /* 92832 */ GIR_RootConstrainSelectedInstOperands,
32813 /* 92833 */ // GIR_Coverage, 3345,
32814 /* 92833 */ GIR_EraseRootFromParent_Done,
32815 /* 92834 */ // Label 2018: @92834
32816 /* 92834 */ GIM_Try, /*On fail goto*//*Label 2019*/ GIMT_Encode4(92879), // Rule ID 3347 //
32817 /* 92839 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
32818 /* 92842 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_256),
32819 /* 92847 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32820 /* 92850 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32821 /* 92853 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32822 /* 92856 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32823 /* 92860 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32824 /* 92864 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32825 /* 92868 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14549:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VAESENCYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
32826 /* 92868 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCYrr),
32827 /* 92871 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32828 /* 92873 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32829 /* 92875 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32830 /* 92877 */ GIR_RootConstrainSelectedInstOperands,
32831 /* 92878 */ // GIR_Coverage, 3347,
32832 /* 92878 */ GIR_EraseRootFromParent_Done,
32833 /* 92879 */ // Label 2019: @92879
32834 /* 92879 */ GIM_Try, /*On fail goto*//*Label 2020*/ GIMT_Encode4(92924), // Rule ID 3349 //
32835 /* 92884 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
32836 /* 92887 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_256),
32837 /* 92892 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32838 /* 92895 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32839 /* 92898 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32840 /* 92901 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32841 /* 92905 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32842 /* 92909 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32843 /* 92913 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14552:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VAESENCLASTYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
32844 /* 92913 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTYrr),
32845 /* 92916 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32846 /* 92918 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32847 /* 92920 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32848 /* 92922 */ GIR_RootConstrainSelectedInstOperands,
32849 /* 92923 */ // GIR_Coverage, 3349,
32850 /* 92923 */ GIR_EraseRootFromParent_Done,
32851 /* 92924 */ // Label 2020: @92924
32852 /* 92924 */ GIM_Try, /*On fail goto*//*Label 2021*/ GIMT_Encode4(92969), // Rule ID 3351 //
32853 /* 92929 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
32854 /* 92932 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_256),
32855 /* 92937 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32856 /* 92940 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32857 /* 92943 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32858 /* 92946 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32859 /* 92950 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32860 /* 92954 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32861 /* 92958 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14543:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VAESDECYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
32862 /* 92958 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECYrr),
32863 /* 92961 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32864 /* 92963 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32865 /* 92965 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32866 /* 92967 */ GIR_RootConstrainSelectedInstOperands,
32867 /* 92968 */ // GIR_Coverage, 3351,
32868 /* 92968 */ GIR_EraseRootFromParent_Done,
32869 /* 92969 */ // Label 2021: @92969
32870 /* 92969 */ GIM_Try, /*On fail goto*//*Label 2022*/ GIMT_Encode4(93014), // Rule ID 3353 //
32871 /* 92974 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
32872 /* 92977 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_256),
32873 /* 92982 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32874 /* 92985 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32875 /* 92988 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32876 /* 92991 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32877 /* 92995 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32878 /* 92999 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32879 /* 93003 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14546:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VAESDECLASTYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
32880 /* 93003 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTYrr),
32881 /* 93006 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32882 /* 93008 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32883 /* 93010 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32884 /* 93012 */ GIR_RootConstrainSelectedInstOperands,
32885 /* 93013 */ // GIR_Coverage, 3353,
32886 /* 93013 */ GIR_EraseRootFromParent_Done,
32887 /* 93014 */ // Label 2022: @93014
32888 /* 93014 */ GIM_Try, /*On fail goto*//*Label 2023*/ GIMT_Encode4(93059), // Rule ID 3355 //
32889 /* 93019 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
32890 /* 93022 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
32891 /* 93027 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32892 /* 93030 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32893 /* 93033 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32894 /* 93036 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32895 /* 93040 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32896 /* 93044 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32897 /* 93048 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14548:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (AESENCrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
32898 /* 93048 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESENCrr),
32899 /* 93051 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32900 /* 93053 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32901 /* 93055 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32902 /* 93057 */ GIR_RootConstrainSelectedInstOperands,
32903 /* 93058 */ // GIR_Coverage, 3355,
32904 /* 93058 */ GIR_EraseRootFromParent_Done,
32905 /* 93059 */ // Label 2023: @93059
32906 /* 93059 */ GIM_Try, /*On fail goto*//*Label 2024*/ GIMT_Encode4(93104), // Rule ID 3357 //
32907 /* 93064 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
32908 /* 93067 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
32909 /* 93072 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32910 /* 93075 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32911 /* 93078 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32912 /* 93081 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32913 /* 93085 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32914 /* 93089 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32915 /* 93093 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14551:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (AESENCLASTrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
32916 /* 93093 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESENCLASTrr),
32917 /* 93096 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32918 /* 93098 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32919 /* 93100 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32920 /* 93102 */ GIR_RootConstrainSelectedInstOperands,
32921 /* 93103 */ // GIR_Coverage, 3357,
32922 /* 93103 */ GIR_EraseRootFromParent_Done,
32923 /* 93104 */ // Label 2024: @93104
32924 /* 93104 */ GIM_Try, /*On fail goto*//*Label 2025*/ GIMT_Encode4(93149), // Rule ID 3359 //
32925 /* 93109 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
32926 /* 93112 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
32927 /* 93117 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32928 /* 93120 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32929 /* 93123 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32930 /* 93126 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32931 /* 93130 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32932 /* 93134 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32933 /* 93138 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14542:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (AESDECrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
32934 /* 93138 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESDECrr),
32935 /* 93141 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32936 /* 93143 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32937 /* 93145 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32938 /* 93147 */ GIR_RootConstrainSelectedInstOperands,
32939 /* 93148 */ // GIR_Coverage, 3359,
32940 /* 93148 */ GIR_EraseRootFromParent_Done,
32941 /* 93149 */ // Label 2025: @93149
32942 /* 93149 */ GIM_Try, /*On fail goto*//*Label 2026*/ GIMT_Encode4(93194), // Rule ID 3361 //
32943 /* 93154 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
32944 /* 93157 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
32945 /* 93162 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32946 /* 93165 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32947 /* 93168 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32948 /* 93171 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32949 /* 93175 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32950 /* 93179 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32951 /* 93183 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14545:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (AESDECLASTrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
32952 /* 93183 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESDECLASTrr),
32953 /* 93186 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32954 /* 93188 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32955 /* 93190 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32956 /* 93192 */ GIR_RootConstrainSelectedInstOperands,
32957 /* 93193 */ // GIR_Coverage, 3361,
32958 /* 93193 */ GIR_EraseRootFromParent_Done,
32959 /* 93194 */ // Label 2026: @93194
32960 /* 93194 */ GIM_Try, /*On fail goto*//*Label 2027*/ GIMT_Encode4(93239), // Rule ID 3378 //
32961 /* 93199 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE4A),
32962 /* 93202 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse4a_extrq),
32963 /* 93207 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32964 /* 93210 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32965 /* 93213 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
32966 /* 93216 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32967 /* 93220 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32968 /* 93224 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32969 /* 93228 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16001:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src, VR128:{ *:[v16i8] }:$mask) => (EXTRQ:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src, VR128:{ *:[v16i8] }:$mask)
32970 /* 93228 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::EXTRQ),
32971 /* 93231 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32972 /* 93233 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
32973 /* 93235 */ GIR_RootToRootCopy, /*OpIdx*/3, // mask
32974 /* 93237 */ GIR_RootConstrainSelectedInstOperands,
32975 /* 93238 */ // GIR_Coverage, 3378,
32976 /* 93238 */ GIR_EraseRootFromParent_Done,
32977 /* 93239 */ // Label 2027: @93239
32978 /* 93239 */ GIM_Try, /*On fail goto*//*Label 2028*/ GIMT_Encode4(93284), // Rule ID 3380 //
32979 /* 93244 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE4A),
32980 /* 93247 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse4a_insertq),
32981 /* 93252 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32982 /* 93255 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32983 /* 93258 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32984 /* 93261 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32985 /* 93265 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32986 /* 93269 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32987 /* 93273 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16003:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src, VR128:{ *:[v2i64] }:$mask) => (INSERTQ:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src, VR128:{ *:[v2i64] }:$mask)
32988 /* 93273 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INSERTQ),
32989 /* 93276 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32990 /* 93278 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
32991 /* 93280 */ GIR_RootToRootCopy, /*OpIdx*/3, // mask
32992 /* 93282 */ GIR_RootConstrainSelectedInstOperands,
32993 /* 93283 */ // GIR_Coverage, 3380,
32994 /* 93283 */ GIR_EraseRootFromParent_Done,
32995 /* 93284 */ // Label 2028: @93284
32996 /* 93284 */ GIM_Try, /*On fail goto*//*Label 2029*/ GIMT_Encode4(93329), // Rule ID 3555 //
32997 /* 93289 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA512),
32998 /* 93292 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsha512msg1),
32999 /* 93297 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33000 /* 93300 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33001 /* 93303 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33002 /* 93306 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33003 /* 93310 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33004 /* 93314 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33005 /* 93318 */ // (intrinsic_wo_chain:{ *:[v4i64] } 16126:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VSHA512MSG1rr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
33006 /* 93318 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSHA512MSG1rr),
33007 /* 93321 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33008 /* 93323 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33009 /* 93325 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33010 /* 93327 */ GIR_RootConstrainSelectedInstOperands,
33011 /* 93328 */ // GIR_Coverage, 3555,
33012 /* 93328 */ GIR_EraseRootFromParent_Done,
33013 /* 93329 */ // Label 2029: @93329
33014 /* 93329 */ GIM_Try, /*On fail goto*//*Label 2030*/ GIMT_Encode4(93374), // Rule ID 3556 //
33015 /* 93334 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA512),
33016 /* 93337 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsha512msg2),
33017 /* 93342 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33018 /* 93345 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33019 /* 93348 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33020 /* 93351 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33021 /* 93355 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33022 /* 93359 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33023 /* 93363 */ // (intrinsic_wo_chain:{ *:[v4i64] } 16127:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VSHA512MSG2rr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
33024 /* 93363 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSHA512MSG2rr),
33025 /* 93366 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33026 /* 93368 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33027 /* 93370 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33028 /* 93372 */ GIR_RootConstrainSelectedInstOperands,
33029 /* 93373 */ // GIR_Coverage, 3556,
33030 /* 93373 */ GIR_EraseRootFromParent_Done,
33031 /* 93374 */ // Label 2030: @93374
33032 /* 93374 */ GIM_Try, /*On fail goto*//*Label 2031*/ GIMT_Encode4(93419), // Rule ID 3564 //
33033 /* 93379 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
33034 /* 93382 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4128),
33035 /* 93387 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33036 /* 93390 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33037 /* 93393 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33038 /* 93396 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33039 /* 93400 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33040 /* 93404 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33041 /* 93408 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16132:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VSM4KEY4rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
33042 /* 93408 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4rr),
33043 /* 93411 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33044 /* 93413 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33045 /* 93415 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33046 /* 93417 */ GIR_RootConstrainSelectedInstOperands,
33047 /* 93418 */ // GIR_Coverage, 3564,
33048 /* 93418 */ GIR_EraseRootFromParent_Done,
33049 /* 93419 */ // Label 2031: @93419
33050 /* 93419 */ GIM_Try, /*On fail goto*//*Label 2032*/ GIMT_Encode4(93464), // Rule ID 3566 //
33051 /* 93424 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
33052 /* 93427 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4256),
33053 /* 93432 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
33054 /* 93435 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
33055 /* 93438 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
33056 /* 93441 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33057 /* 93445 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33058 /* 93449 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33059 /* 93453 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16133:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VSM4KEY4Yrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
33060 /* 93453 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Yrr),
33061 /* 93456 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33062 /* 93458 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33063 /* 93460 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33064 /* 93462 */ GIR_RootConstrainSelectedInstOperands,
33065 /* 93463 */ // GIR_Coverage, 3566,
33066 /* 93463 */ GIR_EraseRootFromParent_Done,
33067 /* 93464 */ // Label 2032: @93464
33068 /* 93464 */ GIM_Try, /*On fail goto*//*Label 2033*/ GIMT_Encode4(93509), // Rule ID 3568 //
33069 /* 93469 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
33070 /* 93472 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4128),
33071 /* 93477 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33072 /* 93480 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33073 /* 93483 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33074 /* 93486 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33075 /* 93490 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33076 /* 93494 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33077 /* 93498 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16135:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VSM4RNDS4rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
33078 /* 93498 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4rr),
33079 /* 93501 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33080 /* 93503 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33081 /* 93505 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33082 /* 93507 */ GIR_RootConstrainSelectedInstOperands,
33083 /* 93508 */ // GIR_Coverage, 3568,
33084 /* 93508 */ GIR_EraseRootFromParent_Done,
33085 /* 93509 */ // Label 2033: @93509
33086 /* 93509 */ GIM_Try, /*On fail goto*//*Label 2034*/ GIMT_Encode4(93554), // Rule ID 3570 //
33087 /* 93514 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
33088 /* 93517 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4256),
33089 /* 93522 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
33090 /* 93525 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
33091 /* 93528 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
33092 /* 93531 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33093 /* 93535 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33094 /* 93539 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33095 /* 93543 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16136:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VSM4RNDS4Yrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
33096 /* 93543 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Yrr),
33097 /* 93546 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33098 /* 93548 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33099 /* 93550 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33100 /* 93552 */ GIR_RootConstrainSelectedInstOperands,
33101 /* 93553 */ // GIR_Coverage, 3570,
33102 /* 93553 */ GIR_EraseRootFromParent_Done,
33103 /* 93554 */ // Label 2034: @93554
33104 /* 93554 */ GIM_Try, /*On fail goto*//*Label 2035*/ GIMT_Encode4(93599), // Rule ID 14064 //
33105 /* 93559 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33106 /* 93562 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
33107 /* 93567 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33108 /* 93570 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33109 /* 93573 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33110 /* 93576 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33111 /* 93580 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33112 /* 93584 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33113 /* 93588 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14548:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VAESENCZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
33114 /* 93588 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZ128rr),
33115 /* 93591 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33116 /* 93593 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33117 /* 93595 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33118 /* 93597 */ GIR_RootConstrainSelectedInstOperands,
33119 /* 93598 */ // GIR_Coverage, 14064,
33120 /* 93598 */ GIR_EraseRootFromParent_Done,
33121 /* 93599 */ // Label 2035: @93599
33122 /* 93599 */ GIM_Try, /*On fail goto*//*Label 2036*/ GIMT_Encode4(93644), // Rule ID 14066 //
33123 /* 93604 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33124 /* 93607 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_256),
33125 /* 93612 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33126 /* 93615 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33127 /* 93618 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33128 /* 93621 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33129 /* 93625 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33130 /* 93629 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33131 /* 93633 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14549:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VAESENCZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
33132 /* 93633 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZ256rr),
33133 /* 93636 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33134 /* 93638 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33135 /* 93640 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33136 /* 93642 */ GIR_RootConstrainSelectedInstOperands,
33137 /* 93643 */ // GIR_Coverage, 14066,
33138 /* 93643 */ GIR_EraseRootFromParent_Done,
33139 /* 93644 */ // Label 2036: @93644
33140 /* 93644 */ GIM_Try, /*On fail goto*//*Label 2037*/ GIMT_Encode4(93689), // Rule ID 14068 //
33141 /* 93649 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
33142 /* 93652 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_512),
33143 /* 93657 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
33144 /* 93660 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
33145 /* 93663 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
33146 /* 93666 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33147 /* 93670 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33148 /* 93674 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33149 /* 93678 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14550:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VAESENCZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
33150 /* 93678 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZrr),
33151 /* 93681 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33152 /* 93683 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33153 /* 93685 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33154 /* 93687 */ GIR_RootConstrainSelectedInstOperands,
33155 /* 93688 */ // GIR_Coverage, 14068,
33156 /* 93688 */ GIR_EraseRootFromParent_Done,
33157 /* 93689 */ // Label 2037: @93689
33158 /* 93689 */ GIM_Try, /*On fail goto*//*Label 2038*/ GIMT_Encode4(93734), // Rule ID 14070 //
33159 /* 93694 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33160 /* 93697 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
33161 /* 93702 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33162 /* 93705 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33163 /* 93708 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33164 /* 93711 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33165 /* 93715 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33166 /* 93719 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33167 /* 93723 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14551:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VAESENCLASTZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
33168 /* 93723 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZ128rr),
33169 /* 93726 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33170 /* 93728 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33171 /* 93730 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33172 /* 93732 */ GIR_RootConstrainSelectedInstOperands,
33173 /* 93733 */ // GIR_Coverage, 14070,
33174 /* 93733 */ GIR_EraseRootFromParent_Done,
33175 /* 93734 */ // Label 2038: @93734
33176 /* 93734 */ GIM_Try, /*On fail goto*//*Label 2039*/ GIMT_Encode4(93779), // Rule ID 14072 //
33177 /* 93739 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33178 /* 93742 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_256),
33179 /* 93747 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33180 /* 93750 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33181 /* 93753 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33182 /* 93756 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33183 /* 93760 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33184 /* 93764 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33185 /* 93768 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14552:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VAESENCLASTZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
33186 /* 93768 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZ256rr),
33187 /* 93771 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33188 /* 93773 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33189 /* 93775 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33190 /* 93777 */ GIR_RootConstrainSelectedInstOperands,
33191 /* 93778 */ // GIR_Coverage, 14072,
33192 /* 93778 */ GIR_EraseRootFromParent_Done,
33193 /* 93779 */ // Label 2039: @93779
33194 /* 93779 */ GIM_Try, /*On fail goto*//*Label 2040*/ GIMT_Encode4(93824), // Rule ID 14074 //
33195 /* 93784 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
33196 /* 93787 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_512),
33197 /* 93792 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
33198 /* 93795 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
33199 /* 93798 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
33200 /* 93801 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33201 /* 93805 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33202 /* 93809 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33203 /* 93813 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14553:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VAESENCLASTZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
33204 /* 93813 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZrr),
33205 /* 93816 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33206 /* 93818 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33207 /* 93820 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33208 /* 93822 */ GIR_RootConstrainSelectedInstOperands,
33209 /* 93823 */ // GIR_Coverage, 14074,
33210 /* 93823 */ GIR_EraseRootFromParent_Done,
33211 /* 93824 */ // Label 2040: @93824
33212 /* 93824 */ GIM_Try, /*On fail goto*//*Label 2041*/ GIMT_Encode4(93869), // Rule ID 14076 //
33213 /* 93829 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33214 /* 93832 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
33215 /* 93837 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33216 /* 93840 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33217 /* 93843 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33218 /* 93846 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33219 /* 93850 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33220 /* 93854 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33221 /* 93858 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14542:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VAESDECZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
33222 /* 93858 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZ128rr),
33223 /* 93861 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33224 /* 93863 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33225 /* 93865 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33226 /* 93867 */ GIR_RootConstrainSelectedInstOperands,
33227 /* 93868 */ // GIR_Coverage, 14076,
33228 /* 93868 */ GIR_EraseRootFromParent_Done,
33229 /* 93869 */ // Label 2041: @93869
33230 /* 93869 */ GIM_Try, /*On fail goto*//*Label 2042*/ GIMT_Encode4(93914), // Rule ID 14078 //
33231 /* 93874 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33232 /* 93877 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_256),
33233 /* 93882 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33234 /* 93885 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33235 /* 93888 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33236 /* 93891 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33237 /* 93895 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33238 /* 93899 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33239 /* 93903 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14543:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VAESDECZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
33240 /* 93903 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZ256rr),
33241 /* 93906 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33242 /* 93908 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33243 /* 93910 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33244 /* 93912 */ GIR_RootConstrainSelectedInstOperands,
33245 /* 93913 */ // GIR_Coverage, 14078,
33246 /* 93913 */ GIR_EraseRootFromParent_Done,
33247 /* 93914 */ // Label 2042: @93914
33248 /* 93914 */ GIM_Try, /*On fail goto*//*Label 2043*/ GIMT_Encode4(93959), // Rule ID 14080 //
33249 /* 93919 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
33250 /* 93922 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_512),
33251 /* 93927 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
33252 /* 93930 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
33253 /* 93933 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
33254 /* 93936 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33255 /* 93940 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33256 /* 93944 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33257 /* 93948 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14544:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VAESDECZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
33258 /* 93948 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZrr),
33259 /* 93951 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33260 /* 93953 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33261 /* 93955 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33262 /* 93957 */ GIR_RootConstrainSelectedInstOperands,
33263 /* 93958 */ // GIR_Coverage, 14080,
33264 /* 93958 */ GIR_EraseRootFromParent_Done,
33265 /* 93959 */ // Label 2043: @93959
33266 /* 93959 */ GIM_Try, /*On fail goto*//*Label 2044*/ GIMT_Encode4(94004), // Rule ID 14082 //
33267 /* 93964 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33268 /* 93967 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
33269 /* 93972 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33270 /* 93975 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33271 /* 93978 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33272 /* 93981 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33273 /* 93985 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33274 /* 93989 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33275 /* 93993 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14545:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VAESDECLASTZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
33276 /* 93993 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZ128rr),
33277 /* 93996 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33278 /* 93998 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33279 /* 94000 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33280 /* 94002 */ GIR_RootConstrainSelectedInstOperands,
33281 /* 94003 */ // GIR_Coverage, 14082,
33282 /* 94003 */ GIR_EraseRootFromParent_Done,
33283 /* 94004 */ // Label 2044: @94004
33284 /* 94004 */ GIM_Try, /*On fail goto*//*Label 2045*/ GIMT_Encode4(94049), // Rule ID 14084 //
33285 /* 94009 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33286 /* 94012 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_256),
33287 /* 94017 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33288 /* 94020 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33289 /* 94023 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33290 /* 94026 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33291 /* 94030 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33292 /* 94034 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33293 /* 94038 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14546:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VAESDECLASTZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
33294 /* 94038 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZ256rr),
33295 /* 94041 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33296 /* 94043 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33297 /* 94045 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33298 /* 94047 */ GIR_RootConstrainSelectedInstOperands,
33299 /* 94048 */ // GIR_Coverage, 14084,
33300 /* 94048 */ GIR_EraseRootFromParent_Done,
33301 /* 94049 */ // Label 2045: @94049
33302 /* 94049 */ GIM_Try, /*On fail goto*//*Label 2046*/ GIMT_Encode4(94094), // Rule ID 14086 //
33303 /* 94054 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
33304 /* 94057 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_512),
33305 /* 94062 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
33306 /* 94065 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
33307 /* 94068 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
33308 /* 94071 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33309 /* 94075 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33310 /* 94079 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33311 /* 94083 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14547:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VAESDECLASTZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
33312 /* 94083 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZrr),
33313 /* 94086 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33314 /* 94088 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33315 /* 94090 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33316 /* 94092 */ GIR_RootConstrainSelectedInstOperands,
33317 /* 94093 */ // GIR_Coverage, 14086,
33318 /* 94093 */ GIR_EraseRootFromParent_Done,
33319 /* 94094 */ // Label 2046: @94094
33320 /* 94094 */ GIM_Try, /*On fail goto*//*Label 2047*/ GIMT_Encode4(94139), // Rule ID 16797 //
33321 /* 94099 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
33322 /* 94102 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4512),
33323 /* 94107 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
33324 /* 94110 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
33325 /* 94113 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
33326 /* 94116 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33327 /* 94120 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33328 /* 94124 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33329 /* 94128 */ // (intrinsic_wo_chain:{ *:[v16i32] } 16134:{ *:[iPTR] }, VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VSM4KEY4Zrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
33330 /* 94128 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Zrr),
33331 /* 94131 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33332 /* 94133 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33333 /* 94135 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33334 /* 94137 */ GIR_RootConstrainSelectedInstOperands,
33335 /* 94138 */ // GIR_Coverage, 16797,
33336 /* 94138 */ GIR_EraseRootFromParent_Done,
33337 /* 94139 */ // Label 2047: @94139
33338 /* 94139 */ GIM_Try, /*On fail goto*//*Label 2048*/ GIMT_Encode4(94184), // Rule ID 16803 //
33339 /* 94144 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
33340 /* 94147 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4512),
33341 /* 94152 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
33342 /* 94155 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
33343 /* 94158 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
33344 /* 94161 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33345 /* 94165 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33346 /* 94169 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33347 /* 94173 */ // (intrinsic_wo_chain:{ *:[v16i32] } 16137:{ *:[iPTR] }, VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VSM4RNDS4Zrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
33348 /* 94173 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Zrr),
33349 /* 94176 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33350 /* 94178 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33351 /* 94180 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33352 /* 94182 */ GIR_RootConstrainSelectedInstOperands,
33353 /* 94183 */ // GIR_Coverage, 16803,
33354 /* 94183 */ GIR_EraseRootFromParent_Done,
33355 /* 94184 */ // Label 2048: @94184
33356 /* 94184 */ GIM_Reject,
33357 /* 94185 */ // Label 1941: @94185
33358 /* 94185 */ GIM_Try, /*On fail goto*//*Label 2049*/ GIMT_Encode4(98066),
33359 /* 94190 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/5,
33360 /* 94193 */ GIM_Try, /*On fail goto*//*Label 2050*/ GIMT_Encode4(94274), // Rule ID 23616 //
33361 /* 94198 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
33362 /* 94201 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dpps),
33363 /* 94206 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33364 /* 94209 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33365 /* 94212 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33366 /* 94215 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33367 /* 94219 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33368 /* 94223 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33369 /* 94227 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33370 /* 94230 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33371 /* 94234 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33372 /* 94238 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33373 /* 94242 */ // MIs[0] src3
33374 /* 94242 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33375 /* 94245 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33376 /* 94247 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33377 /* 94254 */ // (intrinsic_wo_chain:{ *:[v4f32] } 15970:{ *:[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)
33378 /* 94254 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSrmi),
33379 /* 94257 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33380 /* 94259 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33381 /* 94261 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33382 /* 94265 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33383 /* 94267 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33384 /* 94272 */ GIR_RootConstrainSelectedInstOperands,
33385 /* 94273 */ // GIR_Coverage, 23616,
33386 /* 94273 */ GIR_EraseRootFromParent_Done,
33387 /* 94274 */ // Label 2050: @94274
33388 /* 94274 */ GIM_Try, /*On fail goto*//*Label 2051*/ GIMT_Encode4(94355), // Rule ID 23617 //
33389 /* 94279 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
33390 /* 94282 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dppd),
33391 /* 94287 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33392 /* 94290 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33393 /* 94293 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33394 /* 94296 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33395 /* 94300 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33396 /* 94304 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33397 /* 94308 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33398 /* 94311 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33399 /* 94315 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33400 /* 94319 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33401 /* 94323 */ // MIs[0] src3
33402 /* 94323 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33403 /* 94326 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33404 /* 94328 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33405 /* 94335 */ // (intrinsic_wo_chain:{ *:[v2f64] } 15969:{ *:[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)
33406 /* 94335 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPDrmi),
33407 /* 94338 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33408 /* 94340 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33409 /* 94342 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33410 /* 94346 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33411 /* 94348 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33412 /* 94353 */ GIR_RootConstrainSelectedInstOperands,
33413 /* 94354 */ // GIR_Coverage, 23617,
33414 /* 94354 */ GIR_EraseRootFromParent_Done,
33415 /* 94355 */ // Label 2051: @94355
33416 /* 94355 */ GIM_Try, /*On fail goto*//*Label 2052*/ GIMT_Encode4(94436), // Rule ID 23618 //
33417 /* 94360 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
33418 /* 94363 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_dp_ps_256),
33419 /* 94368 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
33420 /* 94371 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
33421 /* 94374 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
33422 /* 94377 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33423 /* 94381 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33424 /* 94385 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33425 /* 94389 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33426 /* 94392 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33427 /* 94396 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33428 /* 94400 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33429 /* 94404 */ // MIs[0] src3
33430 /* 94404 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33431 /* 94407 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33432 /* 94409 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33433 /* 94416 */ // (intrinsic_wo_chain:{ *:[v8f32] } 14580:{ *:[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)
33434 /* 94416 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSYrmi),
33435 /* 94419 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33436 /* 94421 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33437 /* 94423 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33438 /* 94427 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33439 /* 94429 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33440 /* 94434 */ GIR_RootConstrainSelectedInstOperands,
33441 /* 94435 */ // GIR_Coverage, 23618,
33442 /* 94435 */ GIR_EraseRootFromParent_Done,
33443 /* 94436 */ // Label 2052: @94436
33444 /* 94436 */ GIM_Try, /*On fail goto*//*Label 2053*/ GIMT_Encode4(94517), // Rule ID 3254 //
33445 /* 94441 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
33446 /* 94444 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dpps),
33447 /* 94449 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33448 /* 94452 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33449 /* 94455 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33450 /* 94458 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33451 /* 94462 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33452 /* 94466 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33453 /* 94470 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33454 /* 94474 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33455 /* 94477 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33456 /* 94481 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33457 /* 94485 */ // MIs[0] src3
33458 /* 94485 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33459 /* 94488 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33460 /* 94490 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33461 /* 94497 */ // (intrinsic_wo_chain:{ *:[v4f32] } 15970:{ *:[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)
33462 /* 94497 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSrmi),
33463 /* 94500 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33464 /* 94502 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33465 /* 94504 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33466 /* 94508 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33467 /* 94510 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33468 /* 94515 */ GIR_RootConstrainSelectedInstOperands,
33469 /* 94516 */ // GIR_Coverage, 3254,
33470 /* 94516 */ GIR_EraseRootFromParent_Done,
33471 /* 94517 */ // Label 2053: @94517
33472 /* 94517 */ GIM_Try, /*On fail goto*//*Label 2054*/ GIMT_Encode4(94598), // Rule ID 3256 //
33473 /* 94522 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
33474 /* 94525 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dppd),
33475 /* 94530 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33476 /* 94533 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33477 /* 94536 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33478 /* 94539 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33479 /* 94543 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33480 /* 94547 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33481 /* 94551 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33482 /* 94555 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33483 /* 94558 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33484 /* 94562 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33485 /* 94566 */ // MIs[0] src3
33486 /* 94566 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33487 /* 94569 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33488 /* 94571 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33489 /* 94578 */ // (intrinsic_wo_chain:{ *:[v2f64] } 15969:{ *:[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)
33490 /* 94578 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPDrmi),
33491 /* 94581 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33492 /* 94583 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33493 /* 94585 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33494 /* 94589 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33495 /* 94591 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33496 /* 94596 */ GIR_RootConstrainSelectedInstOperands,
33497 /* 94597 */ // GIR_Coverage, 3256,
33498 /* 94597 */ GIR_EraseRootFromParent_Done,
33499 /* 94598 */ // Label 2054: @94598
33500 /* 94598 */ GIM_Try, /*On fail goto*//*Label 2055*/ GIMT_Encode4(94679), // Rule ID 3258 //
33501 /* 94603 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
33502 /* 94606 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_dp_ps_256),
33503 /* 94611 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
33504 /* 94614 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
33505 /* 94617 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
33506 /* 94620 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33507 /* 94624 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33508 /* 94628 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33509 /* 94632 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33510 /* 94636 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33511 /* 94639 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33512 /* 94643 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33513 /* 94647 */ // MIs[0] src3
33514 /* 94647 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33515 /* 94650 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33516 /* 94652 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33517 /* 94659 */ // (intrinsic_wo_chain:{ *:[v8f32] } 14580:{ *:[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)
33518 /* 94659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSYrmi),
33519 /* 94662 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33520 /* 94664 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33521 /* 94666 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33522 /* 94670 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33523 /* 94672 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33524 /* 94677 */ GIR_RootConstrainSelectedInstOperands,
33525 /* 94678 */ // GIR_Coverage, 3258,
33526 /* 94678 */ GIR_EraseRootFromParent_Done,
33527 /* 94679 */ // Label 2055: @94679
33528 /* 94679 */ GIM_Try, /*On fail goto*//*Label 2056*/ GIMT_Encode4(94764), // Rule ID 23418 //
33529 /* 94684 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
33530 /* 94687 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcswd),
33531 /* 94692 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33532 /* 94695 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33533 /* 94698 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33534 /* 94701 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33535 /* 94704 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33536 /* 94708 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33537 /* 94712 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33538 /* 94716 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33539 /* 94719 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33540 /* 94723 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33541 /* 94727 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33542 /* 94731 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33543 /* 94735 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33544 /* 94737 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33545 /* 94744 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16189:{ *:[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)
33546 /* 94744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSWDrm),
33547 /* 94747 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33548 /* 94749 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33549 /* 94751 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33550 /* 94755 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33551 /* 94757 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33552 /* 94762 */ GIR_RootConstrainSelectedInstOperands,
33553 /* 94763 */ // GIR_Coverage, 23418,
33554 /* 94763 */ GIR_EraseRootFromParent_Done,
33555 /* 94764 */ // Label 2056: @94764
33556 /* 94764 */ GIM_Try, /*On fail goto*//*Label 2057*/ GIMT_Encode4(94849), // Rule ID 23419 //
33557 /* 94769 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
33558 /* 94772 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcsswd),
33559 /* 94777 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33560 /* 94780 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33561 /* 94783 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33562 /* 94786 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33563 /* 94789 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33564 /* 94793 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33565 /* 94797 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33566 /* 94801 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33567 /* 94804 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33568 /* 94808 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33569 /* 94812 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33570 /* 94816 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33571 /* 94820 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33572 /* 94822 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33573 /* 94829 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16188:{ *:[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)
33574 /* 94829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSSWDrm),
33575 /* 94832 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33576 /* 94834 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33577 /* 94836 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33578 /* 94840 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33579 /* 94842 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33580 /* 94847 */ GIR_RootConstrainSelectedInstOperands,
33581 /* 94848 */ // GIR_Coverage, 23419,
33582 /* 94848 */ GIR_EraseRootFromParent_Done,
33583 /* 94849 */ // Label 2057: @94849
33584 /* 94849 */ GIM_Try, /*On fail goto*//*Label 2058*/ GIMT_Encode4(94934), // Rule ID 23420 //
33585 /* 94854 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
33586 /* 94857 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsww),
33587 /* 94862 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
33588 /* 94865 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33589 /* 94868 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33590 /* 94871 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
33591 /* 94874 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33592 /* 94878 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33593 /* 94882 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33594 /* 94886 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33595 /* 94889 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33596 /* 94893 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33597 /* 94897 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33598 /* 94901 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33599 /* 94905 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33600 /* 94907 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33601 /* 94914 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16187:{ *:[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)
33602 /* 94914 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrm),
33603 /* 94917 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33604 /* 94919 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33605 /* 94921 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33606 /* 94925 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33607 /* 94927 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33608 /* 94932 */ GIR_RootConstrainSelectedInstOperands,
33609 /* 94933 */ // GIR_Coverage, 23420,
33610 /* 94933 */ GIR_EraseRootFromParent_Done,
33611 /* 94934 */ // Label 2058: @94934
33612 /* 94934 */ GIM_Try, /*On fail goto*//*Label 2059*/ GIMT_Encode4(95019), // Rule ID 23421 //
33613 /* 94939 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
33614 /* 94942 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacswd),
33615 /* 94947 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33616 /* 94950 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33617 /* 94953 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33618 /* 94956 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33619 /* 94959 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33620 /* 94963 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33621 /* 94967 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33622 /* 94971 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33623 /* 94974 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33624 /* 94978 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33625 /* 94982 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33626 /* 94986 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33627 /* 94990 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33628 /* 94992 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33629 /* 94999 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16186:{ *:[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)
33630 /* 94999 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWDrm),
33631 /* 95002 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33632 /* 95004 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33633 /* 95006 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33634 /* 95010 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33635 /* 95012 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33636 /* 95017 */ GIR_RootConstrainSelectedInstOperands,
33637 /* 95018 */ // GIR_Coverage, 23421,
33638 /* 95018 */ GIR_EraseRootFromParent_Done,
33639 /* 95019 */ // Label 2059: @95019
33640 /* 95019 */ GIM_Try, /*On fail goto*//*Label 2060*/ GIMT_Encode4(95104), // Rule ID 23422 //
33641 /* 95024 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
33642 /* 95027 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssww),
33643 /* 95032 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
33644 /* 95035 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33645 /* 95038 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33646 /* 95041 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
33647 /* 95044 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33648 /* 95048 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33649 /* 95052 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33650 /* 95056 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33651 /* 95059 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33652 /* 95063 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33653 /* 95067 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33654 /* 95071 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33655 /* 95075 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33656 /* 95077 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33657 /* 95084 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16185:{ *:[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)
33658 /* 95084 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWWrm),
33659 /* 95087 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33660 /* 95089 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33661 /* 95091 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33662 /* 95095 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33663 /* 95097 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33664 /* 95102 */ GIR_RootConstrainSelectedInstOperands,
33665 /* 95103 */ // GIR_Coverage, 23422,
33666 /* 95103 */ GIR_EraseRootFromParent_Done,
33667 /* 95104 */ // Label 2060: @95104
33668 /* 95104 */ GIM_Try, /*On fail goto*//*Label 2061*/ GIMT_Encode4(95189), // Rule ID 23423 //
33669 /* 95109 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
33670 /* 95112 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsswd),
33671 /* 95117 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33672 /* 95120 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33673 /* 95123 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33674 /* 95126 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33675 /* 95129 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33676 /* 95133 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33677 /* 95137 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33678 /* 95141 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33679 /* 95144 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33680 /* 95148 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33681 /* 95152 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33682 /* 95156 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33683 /* 95160 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33684 /* 95162 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33685 /* 95169 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16184:{ *:[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)
33686 /* 95169 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWDrm),
33687 /* 95172 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33688 /* 95174 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33689 /* 95176 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33690 /* 95180 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33691 /* 95182 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33692 /* 95187 */ GIR_RootConstrainSelectedInstOperands,
33693 /* 95188 */ // GIR_Coverage, 23423,
33694 /* 95188 */ GIR_EraseRootFromParent_Done,
33695 /* 95189 */ // Label 2061: @95189
33696 /* 95189 */ GIM_Try, /*On fail goto*//*Label 2062*/ GIMT_Encode4(95274), // Rule ID 23424 //
33697 /* 95194 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
33698 /* 95197 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdql),
33699 /* 95202 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33700 /* 95205 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33701 /* 95208 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33702 /* 95211 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
33703 /* 95214 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33704 /* 95218 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33705 /* 95222 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33706 /* 95226 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33707 /* 95229 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33708 /* 95233 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33709 /* 95237 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33710 /* 95241 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33711 /* 95245 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33712 /* 95247 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33713 /* 95254 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16183:{ *:[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)
33714 /* 95254 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQLrm),
33715 /* 95257 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33716 /* 95259 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33717 /* 95261 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33718 /* 95265 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33719 /* 95267 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33720 /* 95272 */ GIR_RootConstrainSelectedInstOperands,
33721 /* 95273 */ // GIR_Coverage, 23424,
33722 /* 95273 */ GIR_EraseRootFromParent_Done,
33723 /* 95274 */ // Label 2062: @95274
33724 /* 95274 */ GIM_Try, /*On fail goto*//*Label 2063*/ GIMT_Encode4(95359), // Rule ID 23425 //
33725 /* 95279 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
33726 /* 95282 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdqh),
33727 /* 95287 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33728 /* 95290 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33729 /* 95293 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33730 /* 95296 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
33731 /* 95299 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33732 /* 95303 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33733 /* 95307 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33734 /* 95311 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33735 /* 95314 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33736 /* 95318 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33737 /* 95322 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33738 /* 95326 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33739 /* 95330 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33740 /* 95332 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33741 /* 95339 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16182:{ *:[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)
33742 /* 95339 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQHrm),
33743 /* 95342 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33744 /* 95344 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33745 /* 95346 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33746 /* 95350 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33747 /* 95352 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33748 /* 95357 */ GIR_RootConstrainSelectedInstOperands,
33749 /* 95358 */ // GIR_Coverage, 23425,
33750 /* 95358 */ GIR_EraseRootFromParent_Done,
33751 /* 95359 */ // Label 2063: @95359
33752 /* 95359 */ GIM_Try, /*On fail goto*//*Label 2064*/ GIMT_Encode4(95444), // Rule ID 23426 //
33753 /* 95364 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
33754 /* 95367 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdd),
33755 /* 95372 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33756 /* 95375 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33757 /* 95378 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33758 /* 95381 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33759 /* 95384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33760 /* 95388 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33761 /* 95392 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33762 /* 95396 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33763 /* 95399 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33764 /* 95403 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33765 /* 95407 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33766 /* 95411 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33767 /* 95415 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33768 /* 95417 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33769 /* 95424 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16181:{ *:[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)
33770 /* 95424 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDDrm),
33771 /* 95427 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33772 /* 95429 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33773 /* 95431 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33774 /* 95435 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33775 /* 95437 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33776 /* 95442 */ GIR_RootConstrainSelectedInstOperands,
33777 /* 95443 */ // GIR_Coverage, 23426,
33778 /* 95443 */ GIR_EraseRootFromParent_Done,
33779 /* 95444 */ // Label 2064: @95444
33780 /* 95444 */ GIM_Try, /*On fail goto*//*Label 2065*/ GIMT_Encode4(95529), // Rule ID 23427 //
33781 /* 95449 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
33782 /* 95452 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdql),
33783 /* 95457 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33784 /* 95460 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33785 /* 95463 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33786 /* 95466 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
33787 /* 95469 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33788 /* 95473 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33789 /* 95477 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33790 /* 95481 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33791 /* 95484 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33792 /* 95488 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33793 /* 95492 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33794 /* 95496 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33795 /* 95500 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33796 /* 95502 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33797 /* 95509 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16180:{ *:[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)
33798 /* 95509 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQLrm),
33799 /* 95512 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33800 /* 95514 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33801 /* 95516 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33802 /* 95520 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33803 /* 95522 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33804 /* 95527 */ GIR_RootConstrainSelectedInstOperands,
33805 /* 95528 */ // GIR_Coverage, 23427,
33806 /* 95528 */ GIR_EraseRootFromParent_Done,
33807 /* 95529 */ // Label 2065: @95529
33808 /* 95529 */ GIM_Try, /*On fail goto*//*Label 2066*/ GIMT_Encode4(95614), // Rule ID 23428 //
33809 /* 95534 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
33810 /* 95537 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdqh),
33811 /* 95542 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33812 /* 95545 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33813 /* 95548 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33814 /* 95551 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
33815 /* 95554 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33816 /* 95558 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33817 /* 95562 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33818 /* 95566 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33819 /* 95569 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33820 /* 95573 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33821 /* 95577 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33822 /* 95581 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33823 /* 95585 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33824 /* 95587 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33825 /* 95594 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16179:{ *:[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)
33826 /* 95594 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQHrm),
33827 /* 95597 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33828 /* 95599 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33829 /* 95601 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33830 /* 95605 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33831 /* 95607 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33832 /* 95612 */ GIR_RootConstrainSelectedInstOperands,
33833 /* 95613 */ // GIR_Coverage, 23428,
33834 /* 95613 */ GIR_EraseRootFromParent_Done,
33835 /* 95614 */ // Label 2066: @95614
33836 /* 95614 */ GIM_Try, /*On fail goto*//*Label 2067*/ GIMT_Encode4(95699), // Rule ID 23429 //
33837 /* 95619 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
33838 /* 95622 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdd),
33839 /* 95627 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33840 /* 95630 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33841 /* 95633 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33842 /* 95636 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33843 /* 95639 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33844 /* 95643 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33845 /* 95647 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33846 /* 95651 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33847 /* 95654 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33848 /* 95658 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33849 /* 95662 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33850 /* 95666 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33851 /* 95670 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33852 /* 95672 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33853 /* 95679 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16178:{ *:[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)
33854 /* 95679 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrm),
33855 /* 95682 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33856 /* 95684 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33857 /* 95686 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33858 /* 95690 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33859 /* 95692 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33860 /* 95697 */ GIR_RootConstrainSelectedInstOperands,
33861 /* 95698 */ // GIR_Coverage, 23429,
33862 /* 95698 */ GIR_EraseRootFromParent_Done,
33863 /* 95699 */ // Label 2067: @95699
33864 /* 95699 */ GIM_Try, /*On fail goto*//*Label 2068*/ GIMT_Encode4(95784), // Rule ID 1620 //
33865 /* 95704 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
33866 /* 95707 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcswd),
33867 /* 95712 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33868 /* 95715 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33869 /* 95718 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33870 /* 95721 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33871 /* 95724 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33872 /* 95728 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33873 /* 95732 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33874 /* 95736 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33875 /* 95740 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33876 /* 95743 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33877 /* 95747 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33878 /* 95751 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33879 /* 95755 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33880 /* 95757 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33881 /* 95764 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16189:{ *:[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)
33882 /* 95764 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSWDrm),
33883 /* 95767 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33884 /* 95769 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33885 /* 95771 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33886 /* 95775 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33887 /* 95777 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33888 /* 95782 */ GIR_RootConstrainSelectedInstOperands,
33889 /* 95783 */ // GIR_Coverage, 1620,
33890 /* 95783 */ GIR_EraseRootFromParent_Done,
33891 /* 95784 */ // Label 2068: @95784
33892 /* 95784 */ GIM_Try, /*On fail goto*//*Label 2069*/ GIMT_Encode4(95869), // Rule ID 1622 //
33893 /* 95789 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
33894 /* 95792 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcsswd),
33895 /* 95797 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33896 /* 95800 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33897 /* 95803 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33898 /* 95806 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33899 /* 95809 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33900 /* 95813 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33901 /* 95817 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33902 /* 95821 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33903 /* 95825 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33904 /* 95828 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33905 /* 95832 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33906 /* 95836 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33907 /* 95840 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33908 /* 95842 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33909 /* 95849 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16188:{ *:[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)
33910 /* 95849 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSSWDrm),
33911 /* 95852 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33912 /* 95854 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33913 /* 95856 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33914 /* 95860 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33915 /* 95862 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33916 /* 95867 */ GIR_RootConstrainSelectedInstOperands,
33917 /* 95868 */ // GIR_Coverage, 1622,
33918 /* 95868 */ GIR_EraseRootFromParent_Done,
33919 /* 95869 */ // Label 2069: @95869
33920 /* 95869 */ GIM_Try, /*On fail goto*//*Label 2070*/ GIMT_Encode4(95954), // Rule ID 1624 //
33921 /* 95874 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
33922 /* 95877 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsww),
33923 /* 95882 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
33924 /* 95885 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33925 /* 95888 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33926 /* 95891 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
33927 /* 95894 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33928 /* 95898 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33929 /* 95902 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33930 /* 95906 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33931 /* 95910 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33932 /* 95913 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33933 /* 95917 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33934 /* 95921 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33935 /* 95925 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33936 /* 95927 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33937 /* 95934 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16187:{ *:[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)
33938 /* 95934 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrm),
33939 /* 95937 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33940 /* 95939 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33941 /* 95941 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33942 /* 95945 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33943 /* 95947 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33944 /* 95952 */ GIR_RootConstrainSelectedInstOperands,
33945 /* 95953 */ // GIR_Coverage, 1624,
33946 /* 95953 */ GIR_EraseRootFromParent_Done,
33947 /* 95954 */ // Label 2070: @95954
33948 /* 95954 */ GIM_Try, /*On fail goto*//*Label 2071*/ GIMT_Encode4(96039), // Rule ID 1626 //
33949 /* 95959 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
33950 /* 95962 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacswd),
33951 /* 95967 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33952 /* 95970 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33953 /* 95973 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33954 /* 95976 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33955 /* 95979 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33956 /* 95983 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33957 /* 95987 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33958 /* 95991 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33959 /* 95995 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33960 /* 95998 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33961 /* 96002 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33962 /* 96006 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33963 /* 96010 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33964 /* 96012 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33965 /* 96019 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16186:{ *:[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)
33966 /* 96019 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWDrm),
33967 /* 96022 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33968 /* 96024 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33969 /* 96026 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33970 /* 96030 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33971 /* 96032 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33972 /* 96037 */ GIR_RootConstrainSelectedInstOperands,
33973 /* 96038 */ // GIR_Coverage, 1626,
33974 /* 96038 */ GIR_EraseRootFromParent_Done,
33975 /* 96039 */ // Label 2071: @96039
33976 /* 96039 */ GIM_Try, /*On fail goto*//*Label 2072*/ GIMT_Encode4(96124), // Rule ID 1628 //
33977 /* 96044 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
33978 /* 96047 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssww),
33979 /* 96052 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
33980 /* 96055 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33981 /* 96058 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33982 /* 96061 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
33983 /* 96064 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33984 /* 96068 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33985 /* 96072 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33986 /* 96076 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33987 /* 96080 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33988 /* 96083 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33989 /* 96087 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33990 /* 96091 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33991 /* 96095 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33992 /* 96097 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33993 /* 96104 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16185:{ *:[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)
33994 /* 96104 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWWrm),
33995 /* 96107 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33996 /* 96109 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33997 /* 96111 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33998 /* 96115 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33999 /* 96117 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34000 /* 96122 */ GIR_RootConstrainSelectedInstOperands,
34001 /* 96123 */ // GIR_Coverage, 1628,
34002 /* 96123 */ GIR_EraseRootFromParent_Done,
34003 /* 96124 */ // Label 2072: @96124
34004 /* 96124 */ GIM_Try, /*On fail goto*//*Label 2073*/ GIMT_Encode4(96209), // Rule ID 1630 //
34005 /* 96129 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34006 /* 96132 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsswd),
34007 /* 96137 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34008 /* 96140 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34009 /* 96143 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34010 /* 96146 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34011 /* 96149 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34012 /* 96153 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34013 /* 96157 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34014 /* 96161 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34015 /* 96165 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34016 /* 96168 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34017 /* 96172 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34018 /* 96176 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34019 /* 96180 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34020 /* 96182 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34021 /* 96189 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16184:{ *:[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)
34022 /* 96189 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWDrm),
34023 /* 96192 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34024 /* 96194 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34025 /* 96196 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34026 /* 96200 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34027 /* 96202 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34028 /* 96207 */ GIR_RootConstrainSelectedInstOperands,
34029 /* 96208 */ // GIR_Coverage, 1630,
34030 /* 96208 */ GIR_EraseRootFromParent_Done,
34031 /* 96209 */ // Label 2073: @96209
34032 /* 96209 */ GIM_Try, /*On fail goto*//*Label 2074*/ GIMT_Encode4(96294), // Rule ID 1632 //
34033 /* 96214 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34034 /* 96217 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdql),
34035 /* 96222 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34036 /* 96225 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34037 /* 96228 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34038 /* 96231 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34039 /* 96234 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34040 /* 96238 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34041 /* 96242 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34042 /* 96246 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34043 /* 96250 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34044 /* 96253 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34045 /* 96257 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34046 /* 96261 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34047 /* 96265 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34048 /* 96267 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34049 /* 96274 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16183:{ *:[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)
34050 /* 96274 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQLrm),
34051 /* 96277 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34052 /* 96279 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34053 /* 96281 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34054 /* 96285 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34055 /* 96287 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34056 /* 96292 */ GIR_RootConstrainSelectedInstOperands,
34057 /* 96293 */ // GIR_Coverage, 1632,
34058 /* 96293 */ GIR_EraseRootFromParent_Done,
34059 /* 96294 */ // Label 2074: @96294
34060 /* 96294 */ GIM_Try, /*On fail goto*//*Label 2075*/ GIMT_Encode4(96379), // Rule ID 1634 //
34061 /* 96299 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34062 /* 96302 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdqh),
34063 /* 96307 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34064 /* 96310 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34065 /* 96313 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34066 /* 96316 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34067 /* 96319 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34068 /* 96323 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34069 /* 96327 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34070 /* 96331 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34071 /* 96335 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34072 /* 96338 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34073 /* 96342 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34074 /* 96346 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34075 /* 96350 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34076 /* 96352 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34077 /* 96359 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16182:{ *:[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)
34078 /* 96359 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQHrm),
34079 /* 96362 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34080 /* 96364 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34081 /* 96366 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34082 /* 96370 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34083 /* 96372 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34084 /* 96377 */ GIR_RootConstrainSelectedInstOperands,
34085 /* 96378 */ // GIR_Coverage, 1634,
34086 /* 96378 */ GIR_EraseRootFromParent_Done,
34087 /* 96379 */ // Label 2075: @96379
34088 /* 96379 */ GIM_Try, /*On fail goto*//*Label 2076*/ GIMT_Encode4(96464), // Rule ID 1636 //
34089 /* 96384 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34090 /* 96387 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdd),
34091 /* 96392 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34092 /* 96395 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34093 /* 96398 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34094 /* 96401 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34095 /* 96404 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34096 /* 96408 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34097 /* 96412 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34098 /* 96416 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34099 /* 96420 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34100 /* 96423 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34101 /* 96427 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34102 /* 96431 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34103 /* 96435 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34104 /* 96437 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34105 /* 96444 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16181:{ *:[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)
34106 /* 96444 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDDrm),
34107 /* 96447 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34108 /* 96449 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34109 /* 96451 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34110 /* 96455 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34111 /* 96457 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34112 /* 96462 */ GIR_RootConstrainSelectedInstOperands,
34113 /* 96463 */ // GIR_Coverage, 1636,
34114 /* 96463 */ GIR_EraseRootFromParent_Done,
34115 /* 96464 */ // Label 2076: @96464
34116 /* 96464 */ GIM_Try, /*On fail goto*//*Label 2077*/ GIMT_Encode4(96549), // Rule ID 1638 //
34117 /* 96469 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34118 /* 96472 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdql),
34119 /* 96477 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34120 /* 96480 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34121 /* 96483 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34122 /* 96486 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34123 /* 96489 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34124 /* 96493 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34125 /* 96497 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34126 /* 96501 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34127 /* 96505 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34128 /* 96508 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34129 /* 96512 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34130 /* 96516 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34131 /* 96520 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34132 /* 96522 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34133 /* 96529 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16180:{ *:[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)
34134 /* 96529 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQLrm),
34135 /* 96532 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34136 /* 96534 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34137 /* 96536 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34138 /* 96540 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34139 /* 96542 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34140 /* 96547 */ GIR_RootConstrainSelectedInstOperands,
34141 /* 96548 */ // GIR_Coverage, 1638,
34142 /* 96548 */ GIR_EraseRootFromParent_Done,
34143 /* 96549 */ // Label 2077: @96549
34144 /* 96549 */ GIM_Try, /*On fail goto*//*Label 2078*/ GIMT_Encode4(96634), // Rule ID 1640 //
34145 /* 96554 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34146 /* 96557 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdqh),
34147 /* 96562 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34148 /* 96565 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34149 /* 96568 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34150 /* 96571 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34151 /* 96574 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34152 /* 96578 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34153 /* 96582 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34154 /* 96586 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34155 /* 96590 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34156 /* 96593 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34157 /* 96597 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34158 /* 96601 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34159 /* 96605 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34160 /* 96607 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34161 /* 96614 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16179:{ *:[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)
34162 /* 96614 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQHrm),
34163 /* 96617 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34164 /* 96619 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34165 /* 96621 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34166 /* 96625 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34167 /* 96627 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34168 /* 96632 */ GIR_RootConstrainSelectedInstOperands,
34169 /* 96633 */ // GIR_Coverage, 1640,
34170 /* 96633 */ GIR_EraseRootFromParent_Done,
34171 /* 96634 */ // Label 2078: @96634
34172 /* 96634 */ GIM_Try, /*On fail goto*//*Label 2079*/ GIMT_Encode4(96719), // Rule ID 1642 //
34173 /* 96639 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34174 /* 96642 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdd),
34175 /* 96647 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34176 /* 96650 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34177 /* 96653 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34178 /* 96656 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34179 /* 96659 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34180 /* 96663 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34181 /* 96667 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34182 /* 96671 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34183 /* 96675 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34184 /* 96678 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34185 /* 96682 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34186 /* 96686 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34187 /* 96690 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34188 /* 96692 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34189 /* 96699 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16178:{ *:[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)
34190 /* 96699 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrm),
34191 /* 96702 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34192 /* 96704 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34193 /* 96706 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34194 /* 96710 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34195 /* 96712 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34196 /* 96717 */ GIR_RootConstrainSelectedInstOperands,
34197 /* 96718 */ // GIR_Coverage, 1642,
34198 /* 96718 */ GIR_EraseRootFromParent_Done,
34199 /* 96719 */ // Label 2079: @96719
34200 /* 96719 */ GIM_Try, /*On fail goto*//*Label 2080*/ GIMT_Encode4(96804), // Rule ID 3559 //
34201 /* 96724 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM3),
34202 /* 96727 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3msg1),
34203 /* 96732 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34204 /* 96735 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34205 /* 96738 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34206 /* 96741 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34207 /* 96744 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34208 /* 96748 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34209 /* 96752 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34210 /* 96756 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/4, // MIs[1]
34211 /* 96760 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34212 /* 96764 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34213 /* 96767 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34214 /* 96771 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34215 /* 96775 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34216 /* 96777 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34217 /* 96784 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16129:{ *:[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)
34218 /* 96784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3MSG1rm),
34219 /* 96787 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34220 /* 96789 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34221 /* 96791 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34222 /* 96793 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
34223 /* 96797 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34224 /* 96802 */ GIR_RootConstrainSelectedInstOperands,
34225 /* 96803 */ // GIR_Coverage, 3559,
34226 /* 96803 */ GIR_EraseRootFromParent_Done,
34227 /* 96804 */ // Label 2080: @96804
34228 /* 96804 */ GIM_Try, /*On fail goto*//*Label 2081*/ GIMT_Encode4(96889), // Rule ID 3561 //
34229 /* 96809 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM3),
34230 /* 96812 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3msg2),
34231 /* 96817 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34232 /* 96820 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34233 /* 96823 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34234 /* 96826 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34235 /* 96829 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34236 /* 96833 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34237 /* 96837 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34238 /* 96841 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/4, // MIs[1]
34239 /* 96845 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34240 /* 96849 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34241 /* 96852 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34242 /* 96856 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34243 /* 96860 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34244 /* 96862 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34245 /* 96869 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16130:{ *:[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)
34246 /* 96869 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3MSG2rm),
34247 /* 96872 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34248 /* 96874 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34249 /* 96876 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34250 /* 96878 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
34251 /* 96882 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34252 /* 96887 */ GIR_RootConstrainSelectedInstOperands,
34253 /* 96888 */ // GIR_Coverage, 3561,
34254 /* 96888 */ GIR_EraseRootFromParent_Done,
34255 /* 96889 */ // Label 2081: @96889
34256 /* 96889 */ GIM_Try, /*On fail goto*//*Label 2082*/ GIMT_Encode4(96939), // Rule ID 3253 //
34257 /* 96894 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
34258 /* 96897 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dpps),
34259 /* 96902 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34260 /* 96905 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34261 /* 96908 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34262 /* 96911 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34263 /* 96915 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34264 /* 96919 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34265 /* 96923 */ // MIs[0] src3
34266 /* 96923 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34267 /* 96926 */ // (intrinsic_wo_chain:{ *:[v4f32] } 15970:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, (timm:{ *:[i8] }):$src3) => (VDPPSrri:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, (timm:{ *:[i8] }):$src3)
34268 /* 96926 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSrri),
34269 /* 96929 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34270 /* 96931 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34271 /* 96933 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34272 /* 96935 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34273 /* 96937 */ GIR_RootConstrainSelectedInstOperands,
34274 /* 96938 */ // GIR_Coverage, 3253,
34275 /* 96938 */ GIR_EraseRootFromParent_Done,
34276 /* 96939 */ // Label 2082: @96939
34277 /* 96939 */ GIM_Try, /*On fail goto*//*Label 2083*/ GIMT_Encode4(96989), // Rule ID 3255 //
34278 /* 96944 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
34279 /* 96947 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dppd),
34280 /* 96952 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34281 /* 96955 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
34282 /* 96958 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
34283 /* 96961 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34284 /* 96965 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34285 /* 96969 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34286 /* 96973 */ // MIs[0] src3
34287 /* 96973 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34288 /* 96976 */ // (intrinsic_wo_chain:{ *:[v2f64] } 15969:{ *:[iPTR] }, VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, (timm:{ *:[i8] }):$src3) => (VDPPDrri:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, (timm:{ *:[i8] }):$src3)
34289 /* 96976 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPDrri),
34290 /* 96979 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34291 /* 96981 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34292 /* 96983 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34293 /* 96985 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34294 /* 96987 */ GIR_RootConstrainSelectedInstOperands,
34295 /* 96988 */ // GIR_Coverage, 3255,
34296 /* 96988 */ GIR_EraseRootFromParent_Done,
34297 /* 96989 */ // Label 2083: @96989
34298 /* 96989 */ GIM_Try, /*On fail goto*//*Label 2084*/ GIMT_Encode4(97039), // Rule ID 3257 //
34299 /* 96994 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
34300 /* 96997 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_dp_ps_256),
34301 /* 97002 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
34302 /* 97005 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
34303 /* 97008 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
34304 /* 97011 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34305 /* 97015 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34306 /* 97019 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34307 /* 97023 */ // MIs[0] src3
34308 /* 97023 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34309 /* 97026 */ // (intrinsic_wo_chain:{ *:[v8f32] } 14580:{ *:[iPTR] }, VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, (timm:{ *:[i8] }):$src3) => (VDPPSYrri:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, (timm:{ *:[i8] }):$src3)
34310 /* 97026 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSYrri),
34311 /* 97029 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34312 /* 97031 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34313 /* 97033 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34314 /* 97035 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34315 /* 97037 */ GIR_RootConstrainSelectedInstOperands,
34316 /* 97038 */ // GIR_Coverage, 3257,
34317 /* 97038 */ GIR_EraseRootFromParent_Done,
34318 /* 97039 */ // Label 2084: @97039
34319 /* 97039 */ GIM_Try, /*On fail goto*//*Label 2085*/ GIMT_Encode4(97089), // Rule ID 3263 //
34320 /* 97044 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
34321 /* 97047 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dpps),
34322 /* 97052 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34323 /* 97055 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34324 /* 97058 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34325 /* 97061 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34326 /* 97065 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34327 /* 97069 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34328 /* 97073 */ // MIs[0] src3
34329 /* 97073 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34330 /* 97076 */ // (intrinsic_wo_chain:{ *:[v4f32] } 15970:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, (timm:{ *:[i8] }):$src3) => (DPPSrri:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, (timm:{ *:[i8] }):$src3)
34331 /* 97076 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DPPSrri),
34332 /* 97079 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34333 /* 97081 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34334 /* 97083 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34335 /* 97085 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34336 /* 97087 */ GIR_RootConstrainSelectedInstOperands,
34337 /* 97088 */ // GIR_Coverage, 3263,
34338 /* 97088 */ GIR_EraseRootFromParent_Done,
34339 /* 97089 */ // Label 2085: @97089
34340 /* 97089 */ GIM_Try, /*On fail goto*//*Label 2086*/ GIMT_Encode4(97139), // Rule ID 3265 //
34341 /* 97094 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
34342 /* 97097 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dppd),
34343 /* 97102 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34344 /* 97105 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
34345 /* 97108 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
34346 /* 97111 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34347 /* 97115 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34348 /* 97119 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34349 /* 97123 */ // MIs[0] src3
34350 /* 97123 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34351 /* 97126 */ // (intrinsic_wo_chain:{ *:[v2f64] } 15969:{ *:[iPTR] }, VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, (timm:{ *:[i8] }):$src3) => (DPPDrri:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, (timm:{ *:[i8] }):$src3)
34352 /* 97126 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DPPDrri),
34353 /* 97129 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34354 /* 97131 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34355 /* 97133 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34356 /* 97135 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34357 /* 97137 */ GIR_RootConstrainSelectedInstOperands,
34358 /* 97138 */ // GIR_Coverage, 3265,
34359 /* 97138 */ GIR_EraseRootFromParent_Done,
34360 /* 97139 */ // Label 2086: @97139
34361 /* 97139 */ GIM_Try, /*On fail goto*//*Label 2087*/ GIMT_Encode4(97189), // Rule ID 3325 //
34362 /* 97144 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
34363 /* 97147 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha1rnds4),
34364 /* 97152 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34365 /* 97155 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34366 /* 97158 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34367 /* 97161 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34368 /* 97165 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34369 /* 97169 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34370 /* 97173 */ // MIs[0] src3
34371 /* 97173 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34372 /* 97176 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15856:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, (timm:{ *:[i8] }):$src3) => (SHA1RNDS4rri:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, (timm:{ *:[i8] }):$src3)
34373 /* 97176 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA1RNDS4rri),
34374 /* 97179 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34375 /* 97181 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34376 /* 97183 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34377 /* 97185 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34378 /* 97187 */ GIR_RootConstrainSelectedInstOperands,
34379 /* 97188 */ // GIR_Coverage, 3325,
34380 /* 97188 */ GIR_EraseRootFromParent_Done,
34381 /* 97189 */ // Label 2087: @97189
34382 /* 97189 */ GIM_Try, /*On fail goto*//*Label 2088*/ GIMT_Encode4(97243), // Rule ID 1619 //
34383 /* 97194 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34384 /* 97197 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcswd),
34385 /* 97202 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34386 /* 97205 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34387 /* 97208 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34388 /* 97211 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34389 /* 97214 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34390 /* 97218 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34391 /* 97222 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34392 /* 97226 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34393 /* 97230 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16189:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMADCSWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3)
34394 /* 97230 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSWDrr),
34395 /* 97233 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34396 /* 97235 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34397 /* 97237 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34398 /* 97239 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34399 /* 97241 */ GIR_RootConstrainSelectedInstOperands,
34400 /* 97242 */ // GIR_Coverage, 1619,
34401 /* 97242 */ GIR_EraseRootFromParent_Done,
34402 /* 97243 */ // Label 2088: @97243
34403 /* 97243 */ GIM_Try, /*On fail goto*//*Label 2089*/ GIMT_Encode4(97297), // Rule ID 1621 //
34404 /* 97248 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34405 /* 97251 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcsswd),
34406 /* 97256 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34407 /* 97259 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34408 /* 97262 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34409 /* 97265 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34410 /* 97268 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34411 /* 97272 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34412 /* 97276 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34413 /* 97280 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34414 /* 97284 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16188:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMADCSSWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3)
34415 /* 97284 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSSWDrr),
34416 /* 97287 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34417 /* 97289 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34418 /* 97291 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34419 /* 97293 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34420 /* 97295 */ GIR_RootConstrainSelectedInstOperands,
34421 /* 97296 */ // GIR_Coverage, 1621,
34422 /* 97296 */ GIR_EraseRootFromParent_Done,
34423 /* 97297 */ // Label 2089: @97297
34424 /* 97297 */ GIM_Try, /*On fail goto*//*Label 2090*/ GIMT_Encode4(97351), // Rule ID 1623 //
34425 /* 97302 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34426 /* 97305 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsww),
34427 /* 97310 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
34428 /* 97313 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34429 /* 97316 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34430 /* 97319 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
34431 /* 97322 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34432 /* 97326 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34433 /* 97330 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34434 /* 97334 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34435 /* 97338 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16187:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3) => (VPMACSWWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3)
34436 /* 97338 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrr),
34437 /* 97341 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34438 /* 97343 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34439 /* 97345 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34440 /* 97347 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34441 /* 97349 */ GIR_RootConstrainSelectedInstOperands,
34442 /* 97350 */ // GIR_Coverage, 1623,
34443 /* 97350 */ GIR_EraseRootFromParent_Done,
34444 /* 97351 */ // Label 2090: @97351
34445 /* 97351 */ GIM_Try, /*On fail goto*//*Label 2091*/ GIMT_Encode4(97405), // Rule ID 1625 //
34446 /* 97356 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34447 /* 97359 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacswd),
34448 /* 97364 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34449 /* 97367 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34450 /* 97370 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34451 /* 97373 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34452 /* 97376 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34453 /* 97380 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34454 /* 97384 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34455 /* 97388 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34456 /* 97392 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16186:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMACSWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3)
34457 /* 97392 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWDrr),
34458 /* 97395 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34459 /* 97397 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34460 /* 97399 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34461 /* 97401 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34462 /* 97403 */ GIR_RootConstrainSelectedInstOperands,
34463 /* 97404 */ // GIR_Coverage, 1625,
34464 /* 97404 */ GIR_EraseRootFromParent_Done,
34465 /* 97405 */ // Label 2091: @97405
34466 /* 97405 */ GIM_Try, /*On fail goto*//*Label 2092*/ GIMT_Encode4(97459), // Rule ID 1627 //
34467 /* 97410 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34468 /* 97413 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssww),
34469 /* 97418 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
34470 /* 97421 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34471 /* 97424 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34472 /* 97427 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
34473 /* 97430 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34474 /* 97434 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34475 /* 97438 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34476 /* 97442 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34477 /* 97446 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16185:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3) => (VPMACSSWWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3)
34478 /* 97446 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWWrr),
34479 /* 97449 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34480 /* 97451 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34481 /* 97453 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34482 /* 97455 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34483 /* 97457 */ GIR_RootConstrainSelectedInstOperands,
34484 /* 97458 */ // GIR_Coverage, 1627,
34485 /* 97458 */ GIR_EraseRootFromParent_Done,
34486 /* 97459 */ // Label 2092: @97459
34487 /* 97459 */ GIM_Try, /*On fail goto*//*Label 2093*/ GIMT_Encode4(97513), // Rule ID 1629 //
34488 /* 97464 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34489 /* 97467 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsswd),
34490 /* 97472 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34491 /* 97475 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34492 /* 97478 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34493 /* 97481 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34494 /* 97484 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34495 /* 97488 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34496 /* 97492 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34497 /* 97496 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34498 /* 97500 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16184:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMACSSWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3)
34499 /* 97500 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWDrr),
34500 /* 97503 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34501 /* 97505 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34502 /* 97507 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34503 /* 97509 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34504 /* 97511 */ GIR_RootConstrainSelectedInstOperands,
34505 /* 97512 */ // GIR_Coverage, 1629,
34506 /* 97512 */ GIR_EraseRootFromParent_Done,
34507 /* 97513 */ // Label 2093: @97513
34508 /* 97513 */ GIM_Try, /*On fail goto*//*Label 2094*/ GIMT_Encode4(97567), // Rule ID 1631 //
34509 /* 97518 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34510 /* 97521 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdql),
34511 /* 97526 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34512 /* 97529 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34513 /* 97532 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34514 /* 97535 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34515 /* 97538 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34516 /* 97542 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34517 /* 97546 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34518 /* 97550 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34519 /* 97554 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16183:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VPMACSSDQLrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3)
34520 /* 97554 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQLrr),
34521 /* 97557 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34522 /* 97559 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34523 /* 97561 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34524 /* 97563 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34525 /* 97565 */ GIR_RootConstrainSelectedInstOperands,
34526 /* 97566 */ // GIR_Coverage, 1631,
34527 /* 97566 */ GIR_EraseRootFromParent_Done,
34528 /* 97567 */ // Label 2094: @97567
34529 /* 97567 */ GIM_Try, /*On fail goto*//*Label 2095*/ GIMT_Encode4(97621), // Rule ID 1633 //
34530 /* 97572 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34531 /* 97575 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdqh),
34532 /* 97580 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34533 /* 97583 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34534 /* 97586 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34535 /* 97589 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34536 /* 97592 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34537 /* 97596 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34538 /* 97600 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34539 /* 97604 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34540 /* 97608 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16182:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VPMACSSDQHrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3)
34541 /* 97608 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQHrr),
34542 /* 97611 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34543 /* 97613 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34544 /* 97615 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34545 /* 97617 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34546 /* 97619 */ GIR_RootConstrainSelectedInstOperands,
34547 /* 97620 */ // GIR_Coverage, 1633,
34548 /* 97620 */ GIR_EraseRootFromParent_Done,
34549 /* 97621 */ // Label 2095: @97621
34550 /* 97621 */ GIM_Try, /*On fail goto*//*Label 2096*/ GIMT_Encode4(97675), // Rule ID 1635 //
34551 /* 97626 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34552 /* 97629 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdd),
34553 /* 97634 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34554 /* 97637 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34555 /* 97640 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34556 /* 97643 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34557 /* 97646 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34558 /* 97650 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34559 /* 97654 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34560 /* 97658 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34561 /* 97662 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16181:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMACSSDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
34562 /* 97662 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDDrr),
34563 /* 97665 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34564 /* 97667 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34565 /* 97669 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34566 /* 97671 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34567 /* 97673 */ GIR_RootConstrainSelectedInstOperands,
34568 /* 97674 */ // GIR_Coverage, 1635,
34569 /* 97674 */ GIR_EraseRootFromParent_Done,
34570 /* 97675 */ // Label 2096: @97675
34571 /* 97675 */ GIM_Try, /*On fail goto*//*Label 2097*/ GIMT_Encode4(97729), // Rule ID 1637 //
34572 /* 97680 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34573 /* 97683 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdql),
34574 /* 97688 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34575 /* 97691 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34576 /* 97694 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34577 /* 97697 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34578 /* 97700 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34579 /* 97704 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34580 /* 97708 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34581 /* 97712 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34582 /* 97716 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16180:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VPMACSDQLrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3)
34583 /* 97716 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQLrr),
34584 /* 97719 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34585 /* 97721 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34586 /* 97723 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34587 /* 97725 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34588 /* 97727 */ GIR_RootConstrainSelectedInstOperands,
34589 /* 97728 */ // GIR_Coverage, 1637,
34590 /* 97728 */ GIR_EraseRootFromParent_Done,
34591 /* 97729 */ // Label 2097: @97729
34592 /* 97729 */ GIM_Try, /*On fail goto*//*Label 2098*/ GIMT_Encode4(97783), // Rule ID 1639 //
34593 /* 97734 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34594 /* 97737 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdqh),
34595 /* 97742 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34596 /* 97745 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34597 /* 97748 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34598 /* 97751 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34599 /* 97754 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34600 /* 97758 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34601 /* 97762 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34602 /* 97766 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34603 /* 97770 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16179:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VPMACSDQHrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3)
34604 /* 97770 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQHrr),
34605 /* 97773 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34606 /* 97775 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34607 /* 97777 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34608 /* 97779 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34609 /* 97781 */ GIR_RootConstrainSelectedInstOperands,
34610 /* 97782 */ // GIR_Coverage, 1639,
34611 /* 97782 */ GIR_EraseRootFromParent_Done,
34612 /* 97783 */ // Label 2098: @97783
34613 /* 97783 */ GIM_Try, /*On fail goto*//*Label 2099*/ GIMT_Encode4(97837), // Rule ID 1641 //
34614 /* 97788 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34615 /* 97791 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdd),
34616 /* 97796 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34617 /* 97799 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34618 /* 97802 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34619 /* 97805 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34620 /* 97808 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34621 /* 97812 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34622 /* 97816 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34623 /* 97820 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34624 /* 97824 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16178:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMACSDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
34625 /* 97824 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrr),
34626 /* 97827 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34627 /* 97829 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34628 /* 97831 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34629 /* 97833 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34630 /* 97835 */ GIR_RootConstrainSelectedInstOperands,
34631 /* 97836 */ // GIR_Coverage, 1641,
34632 /* 97836 */ GIR_EraseRootFromParent_Done,
34633 /* 97837 */ // Label 2099: @97837
34634 /* 97837 */ GIM_Try, /*On fail goto*//*Label 2100*/ GIMT_Encode4(97903), // Rule ID 3333 //
34635 /* 97842 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
34636 /* 97845 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha256rnds2),
34637 /* 97850 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34638 /* 97853 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34639 /* 97856 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34640 /* 97859 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34641 /* 97862 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34642 /* 97866 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34643 /* 97870 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34644 /* 97874 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34645 /* 97878 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15859:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, XMM0:{ *:[v4i32] }) => (SHA256RNDS2rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
34646 /* 97878 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
34647 /* 97882 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::XMM0), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
34648 /* 97888 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/4, // XMM0
34649 /* 97892 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA256RNDS2rr),
34650 /* 97895 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34651 /* 97897 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34652 /* 97899 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34653 /* 97901 */ GIR_RootConstrainSelectedInstOperands,
34654 /* 97902 */ // GIR_Coverage, 3333,
34655 /* 97902 */ GIR_EraseRootFromParent_Done,
34656 /* 97903 */ // Label 2100: @97903
34657 /* 97903 */ GIM_Try, /*On fail goto*//*Label 2101*/ GIMT_Encode4(97957), // Rule ID 3557 //
34658 /* 97908 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA512),
34659 /* 97911 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsha512rnds2),
34660 /* 97916 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
34661 /* 97919 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
34662 /* 97922 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
34663 /* 97925 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34664 /* 97928 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34665 /* 97932 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34666 /* 97936 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34667 /* 97940 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34668 /* 97944 */ // (intrinsic_wo_chain:{ *:[v4i64] } 16128:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VSHA512RNDS2rr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2, VR128:{ *:[v2i64] }:$src3)
34669 /* 97944 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSHA512RNDS2rr),
34670 /* 97947 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34671 /* 97949 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34672 /* 97951 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34673 /* 97953 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34674 /* 97955 */ GIR_RootConstrainSelectedInstOperands,
34675 /* 97956 */ // GIR_Coverage, 3557,
34676 /* 97956 */ GIR_EraseRootFromParent_Done,
34677 /* 97957 */ // Label 2101: @97957
34678 /* 97957 */ GIM_Try, /*On fail goto*//*Label 2102*/ GIMT_Encode4(98011), // Rule ID 3558 //
34679 /* 97962 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM3),
34680 /* 97965 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3msg1),
34681 /* 97970 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34682 /* 97973 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34683 /* 97976 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34684 /* 97979 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34685 /* 97982 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34686 /* 97986 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34687 /* 97990 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34688 /* 97994 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34689 /* 97998 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16129:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VSM3MSG1rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
34690 /* 97998 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3MSG1rr),
34691 /* 98001 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34692 /* 98003 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34693 /* 98005 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34694 /* 98007 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34695 /* 98009 */ GIR_RootConstrainSelectedInstOperands,
34696 /* 98010 */ // GIR_Coverage, 3558,
34697 /* 98010 */ GIR_EraseRootFromParent_Done,
34698 /* 98011 */ // Label 2102: @98011
34699 /* 98011 */ GIM_Try, /*On fail goto*//*Label 2103*/ GIMT_Encode4(98065), // Rule ID 3560 //
34700 /* 98016 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM3),
34701 /* 98019 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3msg2),
34702 /* 98024 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34703 /* 98027 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34704 /* 98030 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34705 /* 98033 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34706 /* 98036 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34707 /* 98040 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34708 /* 98044 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34709 /* 98048 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34710 /* 98052 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16130:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VSM3MSG2rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
34711 /* 98052 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3MSG2rr),
34712 /* 98055 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34713 /* 98057 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34714 /* 98059 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34715 /* 98061 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34716 /* 98063 */ GIR_RootConstrainSelectedInstOperands,
34717 /* 98064 */ // GIR_Coverage, 3560,
34718 /* 98064 */ GIR_EraseRootFromParent_Done,
34719 /* 98065 */ // Label 2103: @98065
34720 /* 98065 */ GIM_Reject,
34721 /* 98066 */ // Label 2049: @98066
34722 /* 98066 */ GIM_Try, /*On fail goto*//*Label 2104*/ GIMT_Encode4(98195),
34723 /* 98071 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/6,
34724 /* 98074 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3rnds2),
34725 /* 98079 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34726 /* 98082 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34727 /* 98085 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34728 /* 98088 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34729 /* 98091 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34730 /* 98095 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34731 /* 98099 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34732 /* 98103 */ GIM_Try, /*On fail goto*//*Label 2105*/ GIMT_Encode4(98164), // Rule ID 3563 //
34733 /* 98108 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM3),
34734 /* 98111 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/4, // MIs[1]
34735 /* 98115 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34736 /* 98119 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34737 /* 98122 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34738 /* 98126 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34739 /* 98130 */ // MIs[0] src4
34740 /* 98130 */ GIM_CheckIsImm, /*MI*/0, /*Op*/5,
34741 /* 98133 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34742 /* 98135 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34743 /* 98142 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16131:{ *:[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)
34744 /* 98142 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3RNDS2rmi),
34745 /* 98145 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34746 /* 98147 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34747 /* 98149 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34748 /* 98151 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
34749 /* 98155 */ GIR_RootToRootCopy, /*OpIdx*/5, // src4
34750 /* 98157 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34751 /* 98162 */ GIR_RootConstrainSelectedInstOperands,
34752 /* 98163 */ // GIR_Coverage, 3563,
34753 /* 98163 */ GIR_EraseRootFromParent_Done,
34754 /* 98164 */ // Label 2105: @98164
34755 /* 98164 */ GIM_Try, /*On fail goto*//*Label 2106*/ GIMT_Encode4(98194), // Rule ID 3562 //
34756 /* 98169 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM3),
34757 /* 98172 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34758 /* 98176 */ // MIs[0] src4
34759 /* 98176 */ GIM_CheckIsImm, /*MI*/0, /*Op*/5,
34760 /* 98179 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16131:{ *:[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)
34761 /* 98179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3RNDS2rri),
34762 /* 98182 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34763 /* 98184 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34764 /* 98186 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34765 /* 98188 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34766 /* 98190 */ GIR_RootToRootCopy, /*OpIdx*/5, // src4
34767 /* 98192 */ GIR_RootConstrainSelectedInstOperands,
34768 /* 98193 */ // GIR_Coverage, 3562,
34769 /* 98193 */ GIR_EraseRootFromParent_Done,
34770 /* 98194 */ // Label 2106: @98194
34771 /* 98194 */ GIM_Reject,
34772 /* 98195 */ // Label 2104: @98195
34773 /* 98195 */ GIM_Reject,
34774 /* 98196 */ // Label 19: @98196
34775 /* 98196 */ GIM_Try, /*On fail goto*//*Label 2107*/ GIMT_Encode4(98755),
34776 /* 98201 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/1,
34777 /* 98204 */ GIM_Try, /*On fail goto*//*Label 2108*/ GIMT_Encode4(98226), // Rule ID 149 //
34778 /* 98209 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSERIALIZE),
34779 /* 98212 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_serialize),
34780 /* 98217 */ // (intrinsic_void 15851:{ *:[iPTR] }) => (SERIALIZE)
34781 /* 98217 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SERIALIZE),
34782 /* 98220 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34783 /* 98224 */ GIR_RootConstrainSelectedInstOperands,
34784 /* 98225 */ // GIR_Coverage, 149,
34785 /* 98225 */ GIR_EraseRootFromParent_Done,
34786 /* 98226 */ // Label 2108: @98226
34787 /* 98226 */ GIM_Try, /*On fail goto*//*Label 2109*/ GIMT_Encode4(98248), // Rule ID 150 //
34788 /* 98231 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTSXLDTRK),
34789 /* 98234 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsusldtrk),
34790 /* 98239 */ // (intrinsic_void 16213:{ *:[iPTR] }) => (XSUSLDTRK)
34791 /* 98239 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSUSLDTRK),
34792 /* 98242 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34793 /* 98246 */ GIR_RootConstrainSelectedInstOperands,
34794 /* 98247 */ // GIR_Coverage, 150,
34795 /* 98247 */ GIR_EraseRootFromParent_Done,
34796 /* 98248 */ // Label 2109: @98248
34797 /* 98248 */ GIM_Try, /*On fail goto*//*Label 2110*/ GIMT_Encode4(98270), // Rule ID 151 //
34798 /* 98253 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTSXLDTRK),
34799 /* 98256 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xresldtrk),
34800 /* 98261 */ // (intrinsic_void 16199:{ *:[iPTR] }) => (XRESLDTRK)
34801 /* 98261 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRESLDTRK),
34802 /* 98264 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34803 /* 98268 */ GIR_RootConstrainSelectedInstOperands,
34804 /* 98269 */ // GIR_Coverage, 151,
34805 /* 98269 */ GIR_EraseRootFromParent_Done,
34806 /* 98270 */ // Label 2110: @98270
34807 /* 98270 */ GIM_Try, /*On fail goto*//*Label 2111*/ GIMT_Encode4(98292), // Rule ID 152 //
34808 /* 98275 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasUINTR_In64BitMode),
34809 /* 98278 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_clui),
34810 /* 98283 */ // (intrinsic_void 15709:{ *:[iPTR] }) => (CLUI)
34811 /* 98283 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLUI),
34812 /* 98286 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34813 /* 98290 */ GIR_RootConstrainSelectedInstOperands,
34814 /* 98291 */ // GIR_Coverage, 152,
34815 /* 98291 */ GIR_EraseRootFromParent_Done,
34816 /* 98292 */ // Label 2111: @98292
34817 /* 98292 */ GIM_Try, /*On fail goto*//*Label 2112*/ GIMT_Encode4(98314), // Rule ID 153 //
34818 /* 98297 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasUINTR_In64BitMode),
34819 /* 98300 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_stui),
34820 /* 98305 */ // (intrinsic_void 16033:{ *:[iPTR] }) => (STUI)
34821 /* 98305 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::STUI),
34822 /* 98308 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34823 /* 98312 */ GIR_RootConstrainSelectedInstOperands,
34824 /* 98313 */ // GIR_Coverage, 153,
34825 /* 98313 */ GIR_EraseRootFromParent_Done,
34826 /* 98314 */ // Label 2112: @98314
34827 /* 98314 */ GIM_Try, /*On fail goto*//*Label 2113*/ GIMT_Encode4(98333), // Rule ID 2510 //
34828 /* 98319 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_pause),
34829 /* 98324 */ // (intrinsic_void 15928:{ *:[iPTR] }) => (PAUSE)
34830 /* 98324 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PAUSE),
34831 /* 98327 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34832 /* 98331 */ GIR_RootConstrainSelectedInstOperands,
34833 /* 98332 */ // GIR_Coverage, 2510,
34834 /* 98332 */ GIR_EraseRootFromParent_Done,
34835 /* 98333 */ // Label 2113: @98333
34836 /* 98333 */ GIM_Try, /*On fail goto*//*Label 2114*/ GIMT_Encode4(98355), // Rule ID 2511 //
34837 /* 98338 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE1),
34838 /* 98341 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_sfence),
34839 /* 98346 */ // (intrinsic_void 15890:{ *:[iPTR] }) => (SFENCE)
34840 /* 98346 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SFENCE),
34841 /* 98349 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34842 /* 98353 */ GIR_RootConstrainSelectedInstOperands,
34843 /* 98354 */ // GIR_Coverage, 2511,
34844 /* 98354 */ GIR_EraseRootFromParent_Done,
34845 /* 98355 */ // Label 2114: @98355
34846 /* 98355 */ GIM_Try, /*On fail goto*//*Label 2115*/ GIMT_Encode4(98377), // Rule ID 2512 //
34847 /* 98360 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE2),
34848 /* 98363 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_lfence),
34849 /* 98368 */ // (intrinsic_void 15917:{ *:[iPTR] }) => (LFENCE)
34850 /* 98368 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LFENCE),
34851 /* 98371 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34852 /* 98375 */ GIR_RootConstrainSelectedInstOperands,
34853 /* 98376 */ // GIR_Coverage, 2512,
34854 /* 98376 */ GIR_EraseRootFromParent_Done,
34855 /* 98377 */ // Label 2115: @98377
34856 /* 98377 */ GIM_Try, /*On fail goto*//*Label 2116*/ GIMT_Encode4(98399), // Rule ID 2513 //
34857 /* 98382 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMFence),
34858 /* 98385 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_mfence),
34859 /* 98390 */ // (intrinsic_void 15921:{ *:[iPTR] }) => (MFENCE)
34860 /* 98390 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MFENCE),
34861 /* 98393 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34862 /* 98397 */ GIR_RootConstrainSelectedInstOperands,
34863 /* 98398 */ // GIR_Coverage, 2513,
34864 /* 98398 */ GIR_EraseRootFromParent_Done,
34865 /* 98399 */ // Label 2116: @98399
34866 /* 98399 */ GIM_Try, /*On fail goto*//*Label 2117*/ GIMT_Encode4(98465), // Rule ID 3427 //
34867 /* 98404 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
34868 /* 98407 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_vzeroall),
34869 /* 98412 */ // (intrinsic_void 14623:{ *:[iPTR] }) => (VZEROALL)
34870 /* 98412 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VZEROALL),
34871 /* 98415 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM0*/0,
34872 /* 98418 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM1*/1,
34873 /* 98421 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM2*/2,
34874 /* 98424 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM3*/3,
34875 /* 98427 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM4*/4,
34876 /* 98430 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM5*/5,
34877 /* 98433 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM6*/6,
34878 /* 98436 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM7*/7,
34879 /* 98439 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM8*/8,
34880 /* 98442 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM9*/9,
34881 /* 98445 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM10*/10,
34882 /* 98448 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM11*/11,
34883 /* 98451 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM12*/12,
34884 /* 98454 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM13*/13,
34885 /* 98457 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM14*/14,
34886 /* 98460 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM15*/15,
34887 /* 98463 */ GIR_RootConstrainSelectedInstOperands,
34888 /* 98464 */ // GIR_Coverage, 3427,
34889 /* 98464 */ GIR_EraseRootFromParent_Done,
34890 /* 98465 */ // Label 2117: @98465
34891 /* 98465 */ GIM_Try, /*On fail goto*//*Label 2118*/ GIMT_Encode4(98531), // Rule ID 3428 //
34892 /* 98470 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
34893 /* 98473 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_vzeroupper),
34894 /* 98478 */ // (intrinsic_void 14624:{ *:[iPTR] }) => (VZEROUPPER)
34895 /* 98478 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VZEROUPPER),
34896 /* 98481 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM0*/0,
34897 /* 98484 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM1*/1,
34898 /* 98487 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM2*/2,
34899 /* 98490 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM3*/3,
34900 /* 98493 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM4*/4,
34901 /* 98496 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM5*/5,
34902 /* 98499 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM6*/6,
34903 /* 98502 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM7*/7,
34904 /* 98505 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM8*/8,
34905 /* 98508 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM9*/9,
34906 /* 98511 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM10*/10,
34907 /* 98514 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM11*/11,
34908 /* 98517 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM12*/12,
34909 /* 98520 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM13*/13,
34910 /* 98523 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM14*/14,
34911 /* 98526 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM15*/15,
34912 /* 98529 */ GIR_RootConstrainSelectedInstOperands,
34913 /* 98530 */ // GIR_Coverage, 3428,
34914 /* 98530 */ GIR_EraseRootFromParent_Done,
34915 /* 98531 */ // Label 2118: @98531
34916 /* 98531 */ GIM_Try, /*On fail goto*//*Label 2119*/ GIMT_Encode4(98601), // Rule ID 16806 //
34917 /* 98536 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMMX),
34918 /* 98539 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_mmx_emms),
34919 /* 98544 */ // (intrinsic_void 15744:{ *:[iPTR] }) => (MMX_EMMS:{ *:[x86mmx] })
34920 /* 98544 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MMX_EMMS),
34921 /* 98547 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM0*/0,
34922 /* 98550 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM1*/1,
34923 /* 98553 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM2*/2,
34924 /* 98556 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM3*/3,
34925 /* 98559 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM4*/4,
34926 /* 98562 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM5*/5,
34927 /* 98565 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM6*/6,
34928 /* 98568 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM7*/7,
34929 /* 98571 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST0*/8,
34930 /* 98574 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST1*/9,
34931 /* 98577 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST2*/10,
34932 /* 98580 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST3*/11,
34933 /* 98583 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST4*/12,
34934 /* 98586 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST5*/13,
34935 /* 98589 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST6*/14,
34936 /* 98592 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST7*/15,
34937 /* 98595 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34938 /* 98599 */ GIR_RootConstrainSelectedInstOperands,
34939 /* 98600 */ // GIR_Coverage, 16806,
34940 /* 98600 */ GIR_EraseRootFromParent_Done,
34941 /* 98601 */ // Label 2119: @98601
34942 /* 98601 */ GIM_Try, /*On fail goto*//*Label 2120*/ GIMT_Encode4(98623), // Rule ID 16989 //
34943 /* 98606 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasRTM),
34944 /* 98609 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xend),
34945 /* 98614 */ // (intrinsic_void 16151:{ *:[iPTR] }) => (XEND)
34946 /* 98614 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XEND),
34947 /* 98617 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34948 /* 98621 */ GIR_RootConstrainSelectedInstOperands,
34949 /* 98622 */ // GIR_Coverage, 16989,
34950 /* 98622 */ GIR_EraseRootFromParent_Done,
34951 /* 98623 */ // Label 2120: @98623
34952 /* 98623 */ GIM_Try, /*On fail goto*//*Label 2121*/ GIMT_Encode4(98669), // Rule ID 17001 //
34953 /* 98628 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTILE_In64BitMode),
34954 /* 98631 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tilerelease),
34955 /* 98636 */ // (intrinsic_void 16089:{ *:[iPTR] }) => (TILERELEASE:{ *:[x86amx] })
34956 /* 98636 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TILERELEASE),
34957 /* 98639 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM0*/0,
34958 /* 98642 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM1*/1,
34959 /* 98645 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM2*/2,
34960 /* 98648 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM3*/3,
34961 /* 98651 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM4*/4,
34962 /* 98654 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM5*/5,
34963 /* 98657 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM6*/6,
34964 /* 98660 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM7*/7,
34965 /* 98663 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34966 /* 98667 */ GIR_RootConstrainSelectedInstOperands,
34967 /* 98668 */ // GIR_Coverage, 17001,
34968 /* 98668 */ GIR_EraseRootFromParent_Done,
34969 /* 98669 */ // Label 2121: @98669
34970 /* 98669 */ GIM_Try, /*On fail goto*//*Label 2122*/ GIMT_Encode4(98688), // Rule ID 17074 //
34971 /* 98674 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wbinvd),
34972 /* 98679 */ // (intrinsic_void 16138:{ *:[iPTR] }) => (WBINVD)
34973 /* 98679 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WBINVD),
34974 /* 98682 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34975 /* 98686 */ GIR_RootConstrainSelectedInstOperands,
34976 /* 98687 */ // GIR_Coverage, 17074,
34977 /* 98687 */ GIR_EraseRootFromParent_Done,
34978 /* 98688 */ // Label 2122: @98688
34979 /* 98688 */ GIM_Try, /*On fail goto*//*Label 2123*/ GIMT_Encode4(98710), // Rule ID 17075 //
34980 /* 98693 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasWBNOINVD),
34981 /* 98696 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wbnoinvd),
34982 /* 98701 */ // (intrinsic_void 16139:{ *:[iPTR] }) => (WBNOINVD)
34983 /* 98701 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WBNOINVD),
34984 /* 98704 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34985 /* 98708 */ GIR_RootConstrainSelectedInstOperands,
34986 /* 98709 */ // GIR_Coverage, 17075,
34987 /* 98709 */ GIR_EraseRootFromParent_Done,
34988 /* 98710 */ // Label 2123: @98710
34989 /* 98710 */ GIM_Try, /*On fail goto*//*Label 2124*/ GIMT_Encode4(98732), // Rule ID 17080 //
34990 /* 98715 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_saveprevssp),
34991 /* 98720 */ // (intrinsic_void 15846:{ *:[iPTR] }) => (SAVEPREVSSP)
34992 /* 98720 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAVEPREVSSP),
34993 /* 98723 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
34994 /* 98726 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34995 /* 98730 */ GIR_RootConstrainSelectedInstOperands,
34996 /* 98731 */ // GIR_Coverage, 17080,
34997 /* 98731 */ GIR_EraseRootFromParent_Done,
34998 /* 98732 */ // Label 2124: @98732
34999 /* 98732 */ GIM_Try, /*On fail goto*//*Label 2125*/ GIMT_Encode4(98754), // Rule ID 17090 //
35000 /* 98737 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_setssbsy),
35001 /* 98742 */ // (intrinsic_void 15852:{ *:[iPTR] }) => (SETSSBSY)
35002 /* 98742 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SETSSBSY),
35003 /* 98745 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
35004 /* 98748 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35005 /* 98752 */ GIR_RootConstrainSelectedInstOperands,
35006 /* 98753 */ // GIR_Coverage, 17090,
35007 /* 98753 */ GIR_EraseRootFromParent_Done,
35008 /* 98754 */ // Label 2125: @98754
35009 /* 98754 */ GIM_Reject,
35010 /* 98755 */ // Label 2107: @98755
35011 /* 98755 */ GIM_Try, /*On fail goto*//*Label 2126*/ GIMT_Encode4(100643),
35012 /* 98760 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/2,
35013 /* 98763 */ GIM_Try, /*On fail goto*//*Label 2127*/ GIMT_Encode4(98821), // Rule ID 17118 //
35014 /* 98768 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPTWRITE_In64BitMode),
35015 /* 98771 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ptwrite64),
35016 /* 98776 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35017 /* 98779 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
35018 /* 98783 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
35019 /* 98787 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
35020 /* 98790 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
35021 /* 98794 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
35022 /* 98798 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
35023 /* 98800 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35024 /* 98807 */ // (intrinsic_void 15826:{ *:[iPTR] }, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (PTWRITE64m addr:{ *:[iPTR] }:$dst)
35025 /* 98807 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTWRITE64m),
35026 /* 98810 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35027 /* 98814 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
35028 /* 98819 */ GIR_RootConstrainSelectedInstOperands,
35029 /* 98820 */ // GIR_Coverage, 17118,
35030 /* 98820 */ GIR_EraseRootFromParent_Done,
35031 /* 98821 */ // Label 2127: @98821
35032 /* 98821 */ GIM_Try, /*On fail goto*//*Label 2128*/ GIMT_Encode4(98879), // Rule ID 17117 //
35033 /* 98826 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPTWRITE),
35034 /* 98829 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ptwrite32),
35035 /* 98834 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35036 /* 98837 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
35037 /* 98841 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
35038 /* 98845 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
35039 /* 98848 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
35040 /* 98852 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
35041 /* 98856 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
35042 /* 98858 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35043 /* 98865 */ // (intrinsic_void 15825:{ *:[iPTR] }, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (PTWRITEm addr:{ *:[iPTR] }:$dst)
35044 /* 98865 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTWRITEm),
35045 /* 98868 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35046 /* 98872 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
35047 /* 98877 */ GIR_RootConstrainSelectedInstOperands,
35048 /* 98878 */ // GIR_Coverage, 17117,
35049 /* 98878 */ GIR_EraseRootFromParent_Done,
35050 /* 98879 */ // Label 2128: @98879
35051 /* 98879 */ GIM_Try, /*On fail goto*//*Label 2129*/ GIMT_Encode4(98916), // Rule ID 162 //
35052 /* 98884 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCLFLUSHOPT),
35053 /* 98887 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_clflushopt),
35054 /* 98892 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35055 /* 98896 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35056 /* 98903 */ // (intrinsic_void 15707:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLFLUSHOPT addr:{ *:[iPTR] }:$src)
35057 /* 98903 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLFLUSHOPT),
35058 /* 98906 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35059 /* 98910 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35060 /* 98914 */ GIR_RootConstrainSelectedInstOperands,
35061 /* 98915 */ // GIR_Coverage, 162,
35062 /* 98915 */ GIR_EraseRootFromParent_Done,
35063 /* 98916 */ // Label 2129: @98916
35064 /* 98916 */ GIM_Try, /*On fail goto*//*Label 2130*/ GIMT_Encode4(98953), // Rule ID 163 //
35065 /* 98921 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCLWB),
35066 /* 98924 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_clwb),
35067 /* 98929 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35068 /* 98933 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35069 /* 98940 */ // (intrinsic_void 15710:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLWB addr:{ *:[iPTR] }:$src)
35070 /* 98940 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLWB),
35071 /* 98943 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35072 /* 98947 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35073 /* 98951 */ GIR_RootConstrainSelectedInstOperands,
35074 /* 98952 */ // GIR_Coverage, 163,
35075 /* 98952 */ GIR_EraseRootFromParent_Done,
35076 /* 98953 */ // Label 2130: @98953
35077 /* 98953 */ GIM_Try, /*On fail goto*//*Label 2131*/ GIMT_Encode4(98990), // Rule ID 164 //
35078 /* 98958 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCLDEMOTE),
35079 /* 98961 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_cldemote),
35080 /* 98966 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35081 /* 98970 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35082 /* 98977 */ // (intrinsic_void 15706:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLDEMOTE addr:{ *:[iPTR] }:$src)
35083 /* 98977 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLDEMOTE),
35084 /* 98980 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35085 /* 98984 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35086 /* 98988 */ GIR_RootConstrainSelectedInstOperands,
35087 /* 98989 */ // GIR_Coverage, 164,
35088 /* 98989 */ GIR_EraseRootFromParent_Done,
35089 /* 98990 */ // Label 2131: @98990
35090 /* 98990 */ GIM_Try, /*On fail goto*//*Label 2132*/ GIMT_Encode4(99027), // Rule ID 169 //
35091 /* 98995 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVRS),
35092 /* 98998 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_prefetchrs),
35093 /* 99003 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35094 /* 99007 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35095 /* 99014 */ // (intrinsic_void 15824:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (PREFETCHRST2 addr:{ *:[iPTR] }:$src)
35096 /* 99014 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHRST2),
35097 /* 99017 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35098 /* 99021 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35099 /* 99025 */ GIR_RootConstrainSelectedInstOperands,
35100 /* 99026 */ // GIR_Coverage, 169,
35101 /* 99026 */ GIR_EraseRootFromParent_Done,
35102 /* 99027 */ // Label 2132: @99027
35103 /* 99027 */ GIM_Try, /*On fail goto*//*Label 2133*/ GIMT_Encode4(99064), // Rule ID 1133 //
35104 /* 99032 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFXSR),
35105 /* 99035 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_fxsave),
35106 /* 99040 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35107 /* 99044 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35108 /* 99051 */ // (intrinsic_void 15730:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst) => (FXSAVE addr:{ *:[iPTR] }:$dst)
35109 /* 99051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FXSAVE),
35110 /* 99054 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35111 /* 99058 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35112 /* 99062 */ GIR_RootConstrainSelectedInstOperands,
35113 /* 99063 */ // GIR_Coverage, 1133,
35114 /* 99063 */ GIR_EraseRootFromParent_Done,
35115 /* 99064 */ // Label 2133: @99064
35116 /* 99064 */ GIM_Try, /*On fail goto*//*Label 2134*/ GIMT_Encode4(99101), // Rule ID 1134 //
35117 /* 99069 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFXSR_In64BitMode),
35118 /* 99072 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_fxsave64),
35119 /* 99077 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35120 /* 99081 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35121 /* 99088 */ // (intrinsic_void 15731:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst) => (FXSAVE64 addr:{ *:[iPTR] }:$dst)
35122 /* 99088 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FXSAVE64),
35123 /* 99091 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35124 /* 99095 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35125 /* 99099 */ GIR_RootConstrainSelectedInstOperands,
35126 /* 99100 */ // GIR_Coverage, 1134,
35127 /* 99100 */ GIR_EraseRootFromParent_Done,
35128 /* 99101 */ // Label 2134: @99101
35129 /* 99101 */ GIM_Try, /*On fail goto*//*Label 2135*/ GIMT_Encode4(99144), // Rule ID 1135 //
35130 /* 99106 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFXSR),
35131 /* 99109 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_fxrstor),
35132 /* 99114 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35133 /* 99118 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35134 /* 99125 */ // (intrinsic_void 15728:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (FXRSTOR:{ *:[i16] } addr:{ *:[iPTR] }:$src)
35135 /* 99125 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FXRSTOR),
35136 /* 99128 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35137 /* 99132 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
35138 /* 99135 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPCW*/1,
35139 /* 99138 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35140 /* 99142 */ GIR_RootConstrainSelectedInstOperands,
35141 /* 99143 */ // GIR_Coverage, 1135,
35142 /* 99143 */ GIR_EraseRootFromParent_Done,
35143 /* 99144 */ // Label 2135: @99144
35144 /* 99144 */ GIM_Try, /*On fail goto*//*Label 2136*/ GIMT_Encode4(99187), // Rule ID 1136 //
35145 /* 99149 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFXSR_In64BitMode),
35146 /* 99152 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_fxrstor64),
35147 /* 99157 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35148 /* 99161 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35149 /* 99168 */ // (intrinsic_void 15729:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (FXRSTOR64:{ *:[i16] } addr:{ *:[iPTR] }:$src)
35150 /* 99168 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FXRSTOR64),
35151 /* 99171 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35152 /* 99175 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
35153 /* 99178 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPCW*/1,
35154 /* 99181 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35155 /* 99185 */ GIR_RootConstrainSelectedInstOperands,
35156 /* 99186 */ // GIR_Coverage, 1136,
35157 /* 99186 */ GIR_EraseRootFromParent_Done,
35158 /* 99187 */ // Label 2136: @99187
35159 /* 99187 */ GIM_Try, /*On fail goto*//*Label 2137*/ GIMT_Encode4(99224), // Rule ID 2509 //
35160 /* 99192 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCLFLUSH),
35161 /* 99195 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_clflush),
35162 /* 99200 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35163 /* 99204 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35164 /* 99211 */ // (intrinsic_void 15898:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLFLUSH addr:{ *:[iPTR] }:$src)
35165 /* 99211 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLFLUSH),
35166 /* 99214 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35167 /* 99218 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35168 /* 99222 */ GIR_RootConstrainSelectedInstOperands,
35169 /* 99223 */ // GIR_Coverage, 2509,
35170 /* 99223 */ GIR_EraseRootFromParent_Done,
35171 /* 99224 */ // Label 2137: @99224
35172 /* 99224 */ GIM_Try, /*On fail goto*//*Label 2138*/ GIMT_Encode4(99264), // Rule ID 2514 //
35173 /* 99229 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
35174 /* 99232 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_ldmxcsr),
35175 /* 99237 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35176 /* 99241 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35177 /* 99248 */ // (intrinsic_void 15879:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VLDMXCSR addr:{ *:[iPTR] }:$src)
35178 /* 99248 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VLDMXCSR),
35179 /* 99251 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35180 /* 99255 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MXCSR*/0,
35181 /* 99258 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35182 /* 99262 */ GIR_RootConstrainSelectedInstOperands,
35183 /* 99263 */ // GIR_Coverage, 2514,
35184 /* 99263 */ GIR_EraseRootFromParent_Done,
35185 /* 99264 */ // Label 2138: @99264
35186 /* 99264 */ GIM_Try, /*On fail goto*//*Label 2139*/ GIMT_Encode4(99301), // Rule ID 2515 //
35187 /* 99269 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
35188 /* 99272 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_stmxcsr),
35189 /* 99277 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35190 /* 99281 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35191 /* 99288 */ // (intrinsic_void 15891:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst) => (VSTMXCSR addr:{ *:[iPTR] }:$dst)
35192 /* 99288 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSTMXCSR),
35193 /* 99291 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35194 /* 99295 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35195 /* 99299 */ GIR_RootConstrainSelectedInstOperands,
35196 /* 99300 */ // GIR_Coverage, 2515,
35197 /* 99300 */ GIR_EraseRootFromParent_Done,
35198 /* 99301 */ // Label 2139: @99301
35199 /* 99301 */ GIM_Try, /*On fail goto*//*Label 2140*/ GIMT_Encode4(99338), // Rule ID 2516 //
35200 /* 99306 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_ldmxcsr),
35201 /* 99311 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35202 /* 99315 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35203 /* 99322 */ // (intrinsic_void 15879:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (LDMXCSR addr:{ *:[iPTR] }:$src)
35204 /* 99322 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LDMXCSR),
35205 /* 99325 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35206 /* 99329 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MXCSR*/0,
35207 /* 99332 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35208 /* 99336 */ GIR_RootConstrainSelectedInstOperands,
35209 /* 99337 */ // GIR_Coverage, 2516,
35210 /* 99337 */ GIR_EraseRootFromParent_Done,
35211 /* 99338 */ // Label 2140: @99338
35212 /* 99338 */ GIM_Try, /*On fail goto*//*Label 2141*/ GIMT_Encode4(99372), // Rule ID 2517 //
35213 /* 99343 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_stmxcsr),
35214 /* 99348 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35215 /* 99352 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35216 /* 99359 */ // (intrinsic_void 15891:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst) => (STMXCSR addr:{ *:[iPTR] }:$dst)
35217 /* 99359 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::STMXCSR),
35218 /* 99362 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35219 /* 99366 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35220 /* 99370 */ GIR_RootConstrainSelectedInstOperands,
35221 /* 99371 */ // GIR_Coverage, 2517,
35222 /* 99371 */ GIR_EraseRootFromParent_Done,
35223 /* 99372 */ // Label 2141: @99372
35224 /* 99372 */ GIM_Try, /*On fail goto*//*Label 2142*/ GIMT_Encode4(99433), // Rule ID 16997 //
35225 /* 99377 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTILE_In64BitMode_NoEGPR),
35226 /* 99380 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ldtilecfg),
35227 /* 99385 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35228 /* 99389 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35229 /* 99396 */ // (intrinsic_void 15736:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (LDTILECFG:{ *:[x86amx] } addr:{ *:[iPTR] }:$src)
35230 /* 99396 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LDTILECFG),
35231 /* 99399 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35232 /* 99403 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM0*/0,
35233 /* 99406 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM1*/1,
35234 /* 99409 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM2*/2,
35235 /* 99412 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM3*/3,
35236 /* 99415 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM4*/4,
35237 /* 99418 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM5*/5,
35238 /* 99421 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM6*/6,
35239 /* 99424 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM7*/7,
35240 /* 99427 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35241 /* 99431 */ GIR_RootConstrainSelectedInstOperands,
35242 /* 99432 */ // GIR_Coverage, 16997,
35243 /* 99432 */ GIR_EraseRootFromParent_Done,
35244 /* 99433 */ // Label 2142: @99433
35245 /* 99433 */ GIM_Try, /*On fail goto*//*Label 2143*/ GIMT_Encode4(99470), // Rule ID 16998 //
35246 /* 99438 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTILE_In64BitMode_NoEGPR),
35247 /* 99441 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sttilecfg),
35248 /* 99446 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35249 /* 99450 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35250 /* 99457 */ // (intrinsic_void 16032:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (STTILECFG addr:{ *:[iPTR] }:$src)
35251 /* 99457 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::STTILECFG),
35252 /* 99460 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35253 /* 99464 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35254 /* 99468 */ GIR_RootConstrainSelectedInstOperands,
35255 /* 99469 */ // GIR_Coverage, 16998,
35256 /* 99469 */ GIR_EraseRootFromParent_Done,
35257 /* 99470 */ // Label 2143: @99470
35258 /* 99470 */ GIM_Try, /*On fail goto*//*Label 2144*/ GIMT_Encode4(99531), // Rule ID 16999 //
35259 /* 99475 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTILE_HasEGPR_In64BitMode),
35260 /* 99478 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ldtilecfg),
35261 /* 99483 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35262 /* 99487 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35263 /* 99494 */ // (intrinsic_void 15736:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (LDTILECFG_EVEX:{ *:[x86amx] } addr:{ *:[iPTR] }:$src)
35264 /* 99494 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LDTILECFG_EVEX),
35265 /* 99497 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35266 /* 99501 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM0*/0,
35267 /* 99504 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM1*/1,
35268 /* 99507 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM2*/2,
35269 /* 99510 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM3*/3,
35270 /* 99513 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM4*/4,
35271 /* 99516 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM5*/5,
35272 /* 99519 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM6*/6,
35273 /* 99522 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM7*/7,
35274 /* 99525 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35275 /* 99529 */ GIR_RootConstrainSelectedInstOperands,
35276 /* 99530 */ // GIR_Coverage, 16999,
35277 /* 99530 */ GIR_EraseRootFromParent_Done,
35278 /* 99531 */ // Label 2144: @99531
35279 /* 99531 */ GIM_Try, /*On fail goto*//*Label 2145*/ GIMT_Encode4(99568), // Rule ID 17000 //
35280 /* 99536 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTILE_HasEGPR_In64BitMode),
35281 /* 99539 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sttilecfg),
35282 /* 99544 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35283 /* 99548 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35284 /* 99555 */ // (intrinsic_void 16032:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (STTILECFG_EVEX addr:{ *:[iPTR] }:$src)
35285 /* 99555 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::STTILECFG_EVEX),
35286 /* 99558 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35287 /* 99562 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35288 /* 99566 */ GIR_RootConstrainSelectedInstOperands,
35289 /* 99567 */ // GIR_Coverage, 17000,
35290 /* 99567 */ GIR_EraseRootFromParent_Done,
35291 /* 99568 */ // Label 2145: @99568
35292 /* 99568 */ GIM_Try, /*On fail goto*//*Label 2146*/ GIMT_Encode4(99605), // Rule ID 17081 //
35293 /* 99573 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_rstorssp),
35294 /* 99578 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35295 /* 99582 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35296 /* 99589 */ // (intrinsic_void 15845:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (RSTORSSP addr:{ *:[iPTR] }:$src)
35297 /* 99589 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RSTORSSP),
35298 /* 99592 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35299 /* 99596 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
35300 /* 99599 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35301 /* 99603 */ GIR_RootConstrainSelectedInstOperands,
35302 /* 99604 */ // GIR_Coverage, 17081,
35303 /* 99604 */ GIR_EraseRootFromParent_Done,
35304 /* 99605 */ // Label 2146: @99605
35305 /* 99605 */ GIM_Try, /*On fail goto*//*Label 2147*/ GIMT_Encode4(99642), // Rule ID 17091 //
35306 /* 99610 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_clrssbsy),
35307 /* 99615 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35308 /* 99619 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35309 /* 99626 */ // (intrinsic_void 15708:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLRSSBSY addr:{ *:[iPTR] }:$src)
35310 /* 99626 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLRSSBSY),
35311 /* 99629 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35312 /* 99633 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
35313 /* 99636 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35314 /* 99640 */ GIR_RootConstrainSelectedInstOperands,
35315 /* 99641 */ // GIR_Coverage, 17091,
35316 /* 99641 */ GIR_EraseRootFromParent_Done,
35317 /* 99642 */ // Label 2147: @99642
35318 /* 99642 */ GIM_Try, /*On fail goto*//*Label 2148*/ GIMT_Encode4(99672), // Rule ID 17063 //
35319 /* 99647 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_int),
35320 /* 99652 */ // MIs[0] Operand 1
35321 /* 99652 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(3),
35322 /* 99663 */ // (intrinsic_void 15734:{ *:[iPTR] }, 3:{ *:[i8] }) => (INT3)
35323 /* 99663 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INT3),
35324 /* 99666 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35325 /* 99670 */ GIR_RootConstrainSelectedInstOperands,
35326 /* 99671 */ // GIR_Coverage, 17063,
35327 /* 99671 */ GIR_EraseRootFromParent_Done,
35328 /* 99672 */ // Label 2148: @99672
35329 /* 99672 */ GIM_Try, /*On fail goto*//*Label 2149*/ GIMT_Encode4(99699), // Rule ID 16991 //
35330 /* 99677 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasRTM),
35331 /* 99680 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xabort),
35332 /* 99685 */ // MIs[0] imm
35333 /* 99685 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
35334 /* 99688 */ // (intrinsic_void 16149:{ *:[iPTR] }, (timm:{ *:[i8] }):$imm) => (XABORT (timm:{ *:[i8] }):$imm)
35335 /* 99688 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XABORT),
35336 /* 99691 */ GIR_RootToRootCopy, /*OpIdx*/1, // imm
35337 /* 99693 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35338 /* 99697 */ GIR_RootConstrainSelectedInstOperands,
35339 /* 99698 */ // GIR_Coverage, 16991,
35340 /* 99698 */ GIR_EraseRootFromParent_Done,
35341 /* 99699 */ // Label 2149: @99699
35342 /* 99699 */ GIM_Try, /*On fail goto*//*Label 2150*/ GIMT_Encode4(99726), // Rule ID 17003 //
35343 /* 99704 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTILE_In64BitMode),
35344 /* 99707 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tilezero),
35345 /* 99712 */ // MIs[0] src
35346 /* 99712 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
35347 /* 99715 */ // (intrinsic_void 16092:{ *:[iPTR] }, (timm:{ *:[i8] }):$src) => (PTILEZERO (timm:{ *:[i8] }):$src)
35348 /* 99715 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTILEZERO),
35349 /* 99718 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35350 /* 99720 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35351 /* 99724 */ GIR_RootConstrainSelectedInstOperands,
35352 /* 99725 */ // GIR_Coverage, 17003,
35353 /* 99725 */ GIR_EraseRootFromParent_Done,
35354 /* 99726 */ // Label 2150: @99726
35355 /* 99726 */ GIM_Try, /*On fail goto*//*Label 2151*/ GIMT_Encode4(99750), // Rule ID 17065 //
35356 /* 99731 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_int),
35357 /* 99736 */ // MIs[0] trap
35358 /* 99736 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
35359 /* 99739 */ // (intrinsic_void 15734:{ *:[iPTR] }, (timm:{ *:[i8] }):$trap) => (INT (timm:{ *:[i8] }):$trap)
35360 /* 99739 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INT),
35361 /* 99742 */ GIR_RootToRootCopy, /*OpIdx*/1, // trap
35362 /* 99744 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35363 /* 99748 */ GIR_RootConstrainSelectedInstOperands,
35364 /* 99749 */ // GIR_Coverage, 17065,
35365 /* 99749 */ GIR_EraseRootFromParent_Done,
35366 /* 99750 */ // Label 2151: @99750
35367 /* 99750 */ GIM_Try, /*On fail goto*//*Label 2152*/ GIMT_Encode4(99784), // Rule ID 1 //
35368 /* 99755 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode),
35369 /* 99758 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_flags_read_u32),
35370 /* 99763 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
35371 /* 99766 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35372 /* 99770 */ // (intrinsic_w_chain:{ *:[i32] } 15720:{ *:[iPTR] }) => (RDFLAGS32:{ *:[i32] }:{ *:[i32] })
35373 /* 99770 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDFLAGS32),
35374 /* 99773 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35375 /* 99775 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ESP*/0,
35376 /* 99778 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35377 /* 99782 */ GIR_RootConstrainSelectedInstOperands,
35378 /* 99783 */ // GIR_Coverage, 1,
35379 /* 99783 */ GIR_EraseRootFromParent_Done,
35380 /* 99784 */ // Label 2152: @99784
35381 /* 99784 */ GIM_Try, /*On fail goto*//*Label 2153*/ GIMT_Encode4(99818), // Rule ID 2 //
35382 /* 99789 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
35383 /* 99792 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_flags_read_u64),
35384 /* 99797 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
35385 /* 99800 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35386 /* 99804 */ // (intrinsic_w_chain:{ *:[i64] } 15721:{ *:[iPTR] }) => (RDFLAGS64:{ *:[i64] }:{ *:[i32] })
35387 /* 99804 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDFLAGS64),
35388 /* 99807 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35389 /* 99809 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ESP*/0,
35390 /* 99812 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35391 /* 99816 */ GIR_RootConstrainSelectedInstOperands,
35392 /* 99817 */ // GIR_Coverage, 2,
35393 /* 99817 */ GIR_EraseRootFromParent_Done,
35394 /* 99818 */ // Label 2153: @99818
35395 /* 99818 */ GIM_Try, /*On fail goto*//*Label 2154*/ GIMT_Encode4(99849), // Rule ID 115 //
35396 /* 99823 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
35397 /* 99826 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_slwpcb),
35398 /* 99831 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
35399 /* 99834 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35400 /* 99838 */ // (intrinsic_w_chain:{ *:[i32] } 15860:{ *:[iPTR] }) => (SLWPCB:{ *:[i32] })
35401 /* 99838 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SLWPCB),
35402 /* 99841 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35403 /* 99843 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35404 /* 99847 */ GIR_RootConstrainSelectedInstOperands,
35405 /* 99848 */ // GIR_Coverage, 115,
35406 /* 99848 */ GIR_EraseRootFromParent_Done,
35407 /* 99849 */ // Label 2154: @99849
35408 /* 99849 */ GIM_Try, /*On fail goto*//*Label 2155*/ GIMT_Encode4(99880), // Rule ID 117 //
35409 /* 99854 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
35410 /* 99857 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_slwpcb),
35411 /* 99862 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
35412 /* 99865 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35413 /* 99869 */ // (intrinsic_w_chain:{ *:[i64] } 15860:{ *:[iPTR] }) => (SLWPCB64:{ *:[i64] })
35414 /* 99869 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SLWPCB64),
35415 /* 99872 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35416 /* 99874 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35417 /* 99878 */ GIR_RootConstrainSelectedInstOperands,
35418 /* 99879 */ // GIR_Coverage, 117,
35419 /* 99879 */ GIR_EraseRootFromParent_Done,
35420 /* 99880 */ // Label 2155: @99880
35421 /* 99880 */ GIM_Try, /*On fail goto*//*Label 2156*/ GIMT_Encode4(99911), // Rule ID 16988 //
35422 /* 99885 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasRTM),
35423 /* 99888 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xbegin),
35424 /* 99893 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
35425 /* 99896 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35426 /* 99900 */ // (intrinsic_w_chain:{ *:[i32] } 16150:{ *:[iPTR] }) => (XBEGIN:{ *:[i32] })
35427 /* 99900 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XBEGIN),
35428 /* 99903 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35429 /* 99905 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35430 /* 99909 */ GIR_RootConstrainSelectedInstOperands,
35431 /* 99910 */ // GIR_Coverage, 16988,
35432 /* 99910 */ GIR_EraseRootFromParent_Done,
35433 /* 99911 */ // Label 2156: @99911
35434 /* 99911 */ GIM_Try, /*On fail goto*//*Label 2157*/ GIMT_Encode4(99942), // Rule ID 17107 //
35435 /* 99916 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
35436 /* 99919 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdfsbase_32),
35437 /* 99924 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
35438 /* 99927 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35439 /* 99931 */ // (intrinsic_w_chain:{ *:[i32] } 15827:{ *:[iPTR] }) => (RDFSBASE:{ *:[i32] })
35440 /* 99931 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDFSBASE),
35441 /* 99934 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35442 /* 99936 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35443 /* 99940 */ GIR_RootConstrainSelectedInstOperands,
35444 /* 99941 */ // GIR_Coverage, 17107,
35445 /* 99941 */ GIR_EraseRootFromParent_Done,
35446 /* 99942 */ // Label 2157: @99942
35447 /* 99942 */ GIM_Try, /*On fail goto*//*Label 2158*/ GIMT_Encode4(99973), // Rule ID 17108 //
35448 /* 99947 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
35449 /* 99950 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdfsbase_64),
35450 /* 99955 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
35451 /* 99958 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35452 /* 99962 */ // (intrinsic_w_chain:{ *:[i64] } 15828:{ *:[iPTR] }) => (RDFSBASE64:{ *:[i64] })
35453 /* 99962 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDFSBASE64),
35454 /* 99965 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35455 /* 99967 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35456 /* 99971 */ GIR_RootConstrainSelectedInstOperands,
35457 /* 99972 */ // GIR_Coverage, 17108,
35458 /* 99972 */ GIR_EraseRootFromParent_Done,
35459 /* 99973 */ // Label 2158: @99973
35460 /* 99973 */ GIM_Try, /*On fail goto*//*Label 2159*/ GIMT_Encode4(100004), // Rule ID 17109 //
35461 /* 99978 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
35462 /* 99981 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdgsbase_32),
35463 /* 99986 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
35464 /* 99989 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35465 /* 99993 */ // (intrinsic_w_chain:{ *:[i32] } 15829:{ *:[iPTR] }) => (RDGSBASE:{ *:[i32] })
35466 /* 99993 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDGSBASE),
35467 /* 99996 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35468 /* 99998 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35469 /* 100002 */ GIR_RootConstrainSelectedInstOperands,
35470 /* 100003 */ // GIR_Coverage, 17109,
35471 /* 100003 */ GIR_EraseRootFromParent_Done,
35472 /* 100004 */ // Label 2159: @100004
35473 /* 100004 */ GIM_Try, /*On fail goto*//*Label 2160*/ GIMT_Encode4(100035), // Rule ID 17110 //
35474 /* 100009 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
35475 /* 100012 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdgsbase_64),
35476 /* 100017 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
35477 /* 100020 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35478 /* 100024 */ // (intrinsic_w_chain:{ *:[i64] } 15830:{ *:[iPTR] }) => (RDGSBASE64:{ *:[i64] })
35479 /* 100024 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDGSBASE64),
35480 /* 100027 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35481 /* 100029 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35482 /* 100033 */ GIR_RootConstrainSelectedInstOperands,
35483 /* 100034 */ // GIR_Coverage, 17110,
35484 /* 100034 */ GIR_EraseRootFromParent_Done,
35485 /* 100035 */ // Label 2160: @100035
35486 /* 100035 */ GIM_Try, /*On fail goto*//*Label 2161*/ GIMT_Encode4(100066), // Rule ID 17116 //
35487 /* 100040 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasRDPID_Not64BitMode),
35488 /* 100043 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdpid),
35489 /* 100048 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
35490 /* 100051 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35491 /* 100055 */ // (intrinsic_w_chain:{ *:[i32] } 15831:{ *:[iPTR] }) => (RDPID32:{ *:[i32] })
35492 /* 100055 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDPID32),
35493 /* 100058 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35494 /* 100060 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35495 /* 100064 */ GIR_RootConstrainSelectedInstOperands,
35496 /* 100065 */ // GIR_Coverage, 17116,
35497 /* 100065 */ GIR_EraseRootFromParent_Done,
35498 /* 100066 */ // Label 2161: @100066
35499 /* 100066 */ GIM_Try, /*On fail goto*//*Label 2162*/ GIMT_Encode4(100123), // Rule ID 22442 //
35500 /* 100071 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasRDPID_In64BitMode),
35501 /* 100074 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdpid),
35502 /* 100079 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
35503 /* 100082 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35504 /* 100086 */ // (intrinsic_w_chain:{ *:[i32] } 15831:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[i32] } (RDPID64:{ *:[i64] }), sub_32bit:{ *:[i32] })
35505 /* 100086 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
35506 /* 100089 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::RDPID64),
35507 /* 100093 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
35508 /* 100098 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
35509 /* 100100 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
35510 /* 100103 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35511 /* 100105 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_32bit),
35512 /* 100112 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
35513 /* 100117 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
35514 /* 100122 */ // GIR_Coverage, 22442,
35515 /* 100122 */ GIR_EraseRootFromParent_Done,
35516 /* 100123 */ // Label 2162: @100123
35517 /* 100123 */ GIM_Try, /*On fail goto*//*Label 2163*/ GIMT_Encode4(100163), // Rule ID 3 //
35518 /* 100128 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode),
35519 /* 100131 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_flags_write_u32),
35520 /* 100136 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35521 /* 100139 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35522 /* 100143 */ // (intrinsic_void 15722:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (WRFLAGS32:{ *:[i32] } GR32:{ *:[i32] }:$src)
35523 /* 100143 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRFLAGS32),
35524 /* 100146 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35525 /* 100148 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ESP*/0,
35526 /* 100151 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/1,
35527 /* 100154 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::DF*/2,
35528 /* 100157 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35529 /* 100161 */ GIR_RootConstrainSelectedInstOperands,
35530 /* 100162 */ // GIR_Coverage, 3,
35531 /* 100162 */ GIR_EraseRootFromParent_Done,
35532 /* 100163 */ // Label 2163: @100163
35533 /* 100163 */ GIM_Try, /*On fail goto*//*Label 2164*/ GIMT_Encode4(100203), // Rule ID 4 //
35534 /* 100168 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
35535 /* 100171 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_flags_write_u64),
35536 /* 100176 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35537 /* 100179 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35538 /* 100183 */ // (intrinsic_void 15723:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (WRFLAGS64:{ *:[i64] } GR64:{ *:[i64] }:$src)
35539 /* 100183 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRFLAGS64),
35540 /* 100186 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35541 /* 100188 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::RSP*/0,
35542 /* 100191 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/1,
35543 /* 100194 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::DF*/2,
35544 /* 100197 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35545 /* 100201 */ GIR_RootConstrainSelectedInstOperands,
35546 /* 100202 */ // GIR_Coverage, 4,
35547 /* 100202 */ GIR_EraseRootFromParent_Done,
35548 /* 100203 */ // Label 2164: @100203
35549 /* 100203 */ GIM_Try, /*On fail goto*//*Label 2165*/ GIMT_Encode4(100234), // Rule ID 154 //
35550 /* 100208 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasUINTR_In64BitMode),
35551 /* 100211 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_senduipi),
35552 /* 100216 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35553 /* 100219 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35554 /* 100223 */ // (intrinsic_void 15850:{ *:[iPTR] }, GR64:{ *:[i64] }:$arg) => (SENDUIPI GR64:{ *:[i64] }:$arg)
35555 /* 100223 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SENDUIPI),
35556 /* 100226 */ GIR_RootToRootCopy, /*OpIdx*/1, // arg
35557 /* 100228 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35558 /* 100232 */ GIR_RootConstrainSelectedInstOperands,
35559 /* 100233 */ // GIR_Coverage, 154,
35560 /* 100233 */ GIR_EraseRootFromParent_Done,
35561 /* 100234 */ // Label 2165: @100234
35562 /* 100234 */ GIM_Try, /*On fail goto*//*Label 2166*/ GIMT_Encode4(100265), // Rule ID 17076 //
35563 /* 100239 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_incsspd),
35564 /* 100244 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35565 /* 100247 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35566 /* 100251 */ // (intrinsic_void 15732:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (INCSSPD GR32:{ *:[i32] }:$src)
35567 /* 100251 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INCSSPD),
35568 /* 100254 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35569 /* 100256 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
35570 /* 100259 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35571 /* 100263 */ GIR_RootConstrainSelectedInstOperands,
35572 /* 100264 */ // GIR_Coverage, 17076,
35573 /* 100264 */ GIR_EraseRootFromParent_Done,
35574 /* 100265 */ // Label 2166: @100265
35575 /* 100265 */ GIM_Try, /*On fail goto*//*Label 2167*/ GIMT_Encode4(100296), // Rule ID 17077 //
35576 /* 100270 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_incsspq),
35577 /* 100275 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35578 /* 100278 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35579 /* 100282 */ // (intrinsic_void 15733:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (INCSSPQ GR64:{ *:[i64] }:$src)
35580 /* 100282 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INCSSPQ),
35581 /* 100285 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35582 /* 100287 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
35583 /* 100290 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35584 /* 100294 */ GIR_RootConstrainSelectedInstOperands,
35585 /* 100295 */ // GIR_Coverage, 17077,
35586 /* 100295 */ GIR_EraseRootFromParent_Done,
35587 /* 100296 */ // Label 2167: @100296
35588 /* 100296 */ GIM_Try, /*On fail goto*//*Label 2168*/ GIMT_Encode4(100327), // Rule ID 17111 //
35589 /* 100301 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
35590 /* 100304 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrfsbase_32),
35591 /* 100309 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35592 /* 100312 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35593 /* 100316 */ // (intrinsic_void 16140:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (WRFSBASE GR32:{ *:[i32] }:$src)
35594 /* 100316 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRFSBASE),
35595 /* 100319 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35596 /* 100321 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35597 /* 100325 */ GIR_RootConstrainSelectedInstOperands,
35598 /* 100326 */ // GIR_Coverage, 17111,
35599 /* 100326 */ GIR_EraseRootFromParent_Done,
35600 /* 100327 */ // Label 2168: @100327
35601 /* 100327 */ GIM_Try, /*On fail goto*//*Label 2169*/ GIMT_Encode4(100358), // Rule ID 17112 //
35602 /* 100332 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
35603 /* 100335 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrfsbase_64),
35604 /* 100340 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35605 /* 100343 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35606 /* 100347 */ // (intrinsic_void 16141:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (WRFSBASE64 GR64:{ *:[i64] }:$src)
35607 /* 100347 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRFSBASE64),
35608 /* 100350 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35609 /* 100352 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35610 /* 100356 */ GIR_RootConstrainSelectedInstOperands,
35611 /* 100357 */ // GIR_Coverage, 17112,
35612 /* 100357 */ GIR_EraseRootFromParent_Done,
35613 /* 100358 */ // Label 2169: @100358
35614 /* 100358 */ GIM_Try, /*On fail goto*//*Label 2170*/ GIMT_Encode4(100389), // Rule ID 17113 //
35615 /* 100363 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
35616 /* 100366 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrgsbase_32),
35617 /* 100371 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35618 /* 100374 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35619 /* 100378 */ // (intrinsic_void 16142:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (WRGSBASE GR32:{ *:[i32] }:$src)
35620 /* 100378 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRGSBASE),
35621 /* 100381 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35622 /* 100383 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35623 /* 100387 */ GIR_RootConstrainSelectedInstOperands,
35624 /* 100388 */ // GIR_Coverage, 17113,
35625 /* 100388 */ GIR_EraseRootFromParent_Done,
35626 /* 100389 */ // Label 2170: @100389
35627 /* 100389 */ GIM_Try, /*On fail goto*//*Label 2171*/ GIMT_Encode4(100420), // Rule ID 17114 //
35628 /* 100394 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
35629 /* 100397 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrgsbase_64),
35630 /* 100402 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35631 /* 100405 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35632 /* 100409 */ // (intrinsic_void 16143:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (WRGSBASE64 GR64:{ *:[i64] }:$src)
35633 /* 100409 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRGSBASE64),
35634 /* 100412 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35635 /* 100414 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35636 /* 100418 */ GIR_RootConstrainSelectedInstOperands,
35637 /* 100419 */ // GIR_Coverage, 17114,
35638 /* 100419 */ GIR_EraseRootFromParent_Done,
35639 /* 100420 */ // Label 2171: @100420
35640 /* 100420 */ GIM_Try, /*On fail goto*//*Label 2172*/ GIMT_Encode4(100451), // Rule ID 17119 //
35641 /* 100425 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPTWRITE),
35642 /* 100428 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ptwrite32),
35643 /* 100433 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35644 /* 100436 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35645 /* 100440 */ // (intrinsic_void 15825:{ *:[iPTR] }, GR32:{ *:[i32] }:$dst) => (PTWRITEr GR32:{ *:[i32] }:$dst)
35646 /* 100440 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTWRITEr),
35647 /* 100443 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
35648 /* 100445 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35649 /* 100449 */ GIR_RootConstrainSelectedInstOperands,
35650 /* 100450 */ // GIR_Coverage, 17119,
35651 /* 100450 */ GIR_EraseRootFromParent_Done,
35652 /* 100451 */ // Label 2172: @100451
35653 /* 100451 */ GIM_Try, /*On fail goto*//*Label 2173*/ GIMT_Encode4(100482), // Rule ID 17120 //
35654 /* 100456 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPTWRITE_In64BitMode),
35655 /* 100459 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ptwrite64),
35656 /* 100464 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35657 /* 100467 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35658 /* 100471 */ // (intrinsic_void 15826:{ *:[iPTR] }, GR64:{ *:[i64] }:$dst) => (PTWRITE64r GR64:{ *:[i64] }:$dst)
35659 /* 100471 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTWRITE64r),
35660 /* 100474 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
35661 /* 100476 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35662 /* 100480 */ GIR_RootConstrainSelectedInstOperands,
35663 /* 100481 */ // GIR_Coverage, 17120,
35664 /* 100481 */ GIR_EraseRootFromParent_Done,
35665 /* 100482 */ // Label 2173: @100482
35666 /* 100482 */ GIM_Try, /*On fail goto*//*Label 2174*/ GIMT_Encode4(100514), // Rule ID 114 //
35667 /* 100487 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
35668 /* 100490 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_llwpcb),
35669 /* 100495 */ // MIs[0] src
35670 /* 100495 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
35671 /* 100499 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35672 /* 100503 */ // (intrinsic_void 15738:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (LLWPCB GR32:{ *:[i32] }:$src)
35673 /* 100503 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LLWPCB),
35674 /* 100506 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35675 /* 100508 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35676 /* 100512 */ GIR_RootConstrainSelectedInstOperands,
35677 /* 100513 */ // GIR_Coverage, 114,
35678 /* 100513 */ GIR_EraseRootFromParent_Done,
35679 /* 100514 */ // Label 2174: @100514
35680 /* 100514 */ GIM_Try, /*On fail goto*//*Label 2175*/ GIMT_Encode4(100546), // Rule ID 116 //
35681 /* 100519 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
35682 /* 100522 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_llwpcb),
35683 /* 100527 */ // MIs[0] src
35684 /* 100527 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
35685 /* 100531 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35686 /* 100535 */ // (intrinsic_void 15738:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (LLWPCB64 GR64:{ *:[i64] }:$src)
35687 /* 100535 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LLWPCB64),
35688 /* 100538 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35689 /* 100540 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35690 /* 100544 */ GIR_RootConstrainSelectedInstOperands,
35691 /* 100545 */ // GIR_Coverage, 116,
35692 /* 100545 */ GIR_EraseRootFromParent_Done,
35693 /* 100546 */ // Label 2175: @100546
35694 /* 100546 */ GIM_Try, /*On fail goto*//*Label 2176*/ GIMT_Encode4(100578), // Rule ID 126 //
35695 /* 100551 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasWAITPKG_Not64BitMode),
35696 /* 100554 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_umonitor),
35697 /* 100559 */ // MIs[0] src
35698 /* 100559 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/16,
35699 /* 100563 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
35700 /* 100567 */ // (intrinsic_void 16097:{ *:[iPTR] }, GR16:{ *:[i16] }:$src) => (UMONITOR16 GR16:{ *:[i16] }:$src)
35701 /* 100567 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UMONITOR16),
35702 /* 100570 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35703 /* 100572 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35704 /* 100576 */ GIR_RootConstrainSelectedInstOperands,
35705 /* 100577 */ // GIR_Coverage, 126,
35706 /* 100577 */ GIR_EraseRootFromParent_Done,
35707 /* 100578 */ // Label 2176: @100578
35708 /* 100578 */ GIM_Try, /*On fail goto*//*Label 2177*/ GIMT_Encode4(100610), // Rule ID 127 //
35709 /* 100583 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasWAITPKG),
35710 /* 100586 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_umonitor),
35711 /* 100591 */ // MIs[0] src
35712 /* 100591 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
35713 /* 100595 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35714 /* 100599 */ // (intrinsic_void 16097:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (UMONITOR32 GR32:{ *:[i32] }:$src)
35715 /* 100599 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UMONITOR32),
35716 /* 100602 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35717 /* 100604 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35718 /* 100608 */ GIR_RootConstrainSelectedInstOperands,
35719 /* 100609 */ // GIR_Coverage, 127,
35720 /* 100609 */ GIR_EraseRootFromParent_Done,
35721 /* 100610 */ // Label 2177: @100610
35722 /* 100610 */ GIM_Try, /*On fail goto*//*Label 2178*/ GIMT_Encode4(100642), // Rule ID 128 //
35723 /* 100615 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasWAITPKG_In64BitMode),
35724 /* 100618 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_umonitor),
35725 /* 100623 */ // MIs[0] src
35726 /* 100623 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
35727 /* 100627 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35728 /* 100631 */ // (intrinsic_void 16097:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (UMONITOR64 GR64:{ *:[i64] }:$src)
35729 /* 100631 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UMONITOR64),
35730 /* 100634 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35731 /* 100636 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35732 /* 100640 */ GIR_RootConstrainSelectedInstOperands,
35733 /* 100641 */ // GIR_Coverage, 128,
35734 /* 100641 */ GIR_EraseRootFromParent_Done,
35735 /* 100642 */ // Label 2178: @100642
35736 /* 100642 */ GIM_Reject,
35737 /* 100643 */ // Label 2126: @100643
35738 /* 100643 */ GIM_Try, /*On fail goto*//*Label 2179*/ GIMT_Encode4(103567),
35739 /* 100648 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/3,
35740 /* 100651 */ GIM_Try, /*On fail goto*//*Label 2180*/ GIMT_Encode4(100697), // Rule ID 165 //
35741 /* 100656 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVRS_In64BitMode_NoEGPR),
35742 /* 100659 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrsqi),
35743 /* 100664 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s8,
35744 /* 100667 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
35745 /* 100671 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35746 /* 100675 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35747 /* 100682 */ // (intrinsic_w_chain:{ *:[i8] } 15818:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
35748 /* 100682 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS8rm),
35749 /* 100685 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35750 /* 100687 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35751 /* 100691 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35752 /* 100695 */ GIR_RootConstrainSelectedInstOperands,
35753 /* 100696 */ // GIR_Coverage, 165,
35754 /* 100696 */ GIR_EraseRootFromParent_Done,
35755 /* 100697 */ // Label 2180: @100697
35756 /* 100697 */ GIM_Try, /*On fail goto*//*Label 2181*/ GIMT_Encode4(100743), // Rule ID 166 //
35757 /* 100702 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVRS_In64BitMode_NoEGPR),
35758 /* 100705 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrshi),
35759 /* 100710 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s16,
35760 /* 100713 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
35761 /* 100717 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35762 /* 100721 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35763 /* 100728 */ // (intrinsic_w_chain:{ *:[i16] } 15817:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS16rm:{ *:[i16] } addr:{ *:[iPTR] }:$src)
35764 /* 100728 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS16rm),
35765 /* 100731 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35766 /* 100733 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35767 /* 100737 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35768 /* 100741 */ GIR_RootConstrainSelectedInstOperands,
35769 /* 100742 */ // GIR_Coverage, 166,
35770 /* 100742 */ GIR_EraseRootFromParent_Done,
35771 /* 100743 */ // Label 2181: @100743
35772 /* 100743 */ GIM_Try, /*On fail goto*//*Label 2182*/ GIMT_Encode4(100789), // Rule ID 167 //
35773 /* 100748 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVRS_In64BitMode_NoEGPR),
35774 /* 100751 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrssi),
35775 /* 100756 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
35776 /* 100759 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35777 /* 100763 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35778 /* 100767 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35779 /* 100774 */ // (intrinsic_w_chain:{ *:[i32] } 15819:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
35780 /* 100774 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS32rm),
35781 /* 100777 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35782 /* 100779 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35783 /* 100783 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35784 /* 100787 */ GIR_RootConstrainSelectedInstOperands,
35785 /* 100788 */ // GIR_Coverage, 167,
35786 /* 100788 */ GIR_EraseRootFromParent_Done,
35787 /* 100789 */ // Label 2182: @100789
35788 /* 100789 */ GIM_Try, /*On fail goto*//*Label 2183*/ GIMT_Encode4(100835), // Rule ID 168 //
35789 /* 100794 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVRS_In64BitMode_NoEGPR),
35790 /* 100797 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrsdi),
35791 /* 100802 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
35792 /* 100805 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35793 /* 100809 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35794 /* 100813 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35795 /* 100820 */ // (intrinsic_w_chain:{ *:[i64] } 15816:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
35796 /* 100820 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS64rm),
35797 /* 100823 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35798 /* 100825 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35799 /* 100829 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35800 /* 100833 */ GIR_RootConstrainSelectedInstOperands,
35801 /* 100834 */ // GIR_Coverage, 168,
35802 /* 100834 */ GIR_EraseRootFromParent_Done,
35803 /* 100835 */ // Label 2183: @100835
35804 /* 100835 */ GIM_Try, /*On fail goto*//*Label 2184*/ GIMT_Encode4(100881), // Rule ID 170 //
35805 /* 100840 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVRS_In64BitMode),
35806 /* 100843 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrsqi),
35807 /* 100848 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s8,
35808 /* 100851 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
35809 /* 100855 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35810 /* 100859 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35811 /* 100866 */ // (intrinsic_w_chain:{ *:[i8] } 15818:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS8rm_EVEX:{ *:[i8] } addr:{ *:[iPTR] }:$src)
35812 /* 100866 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS8rm_EVEX),
35813 /* 100869 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35814 /* 100871 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35815 /* 100875 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35816 /* 100879 */ GIR_RootConstrainSelectedInstOperands,
35817 /* 100880 */ // GIR_Coverage, 170,
35818 /* 100880 */ GIR_EraseRootFromParent_Done,
35819 /* 100881 */ // Label 2184: @100881
35820 /* 100881 */ GIM_Try, /*On fail goto*//*Label 2185*/ GIMT_Encode4(100927), // Rule ID 171 //
35821 /* 100886 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVRS_In64BitMode),
35822 /* 100889 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrshi),
35823 /* 100894 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s16,
35824 /* 100897 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
35825 /* 100901 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35826 /* 100905 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35827 /* 100912 */ // (intrinsic_w_chain:{ *:[i16] } 15817:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS16rm_EVEX:{ *:[i16] } addr:{ *:[iPTR] }:$src)
35828 /* 100912 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS16rm_EVEX),
35829 /* 100915 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35830 /* 100917 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35831 /* 100921 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35832 /* 100925 */ GIR_RootConstrainSelectedInstOperands,
35833 /* 100926 */ // GIR_Coverage, 171,
35834 /* 100926 */ GIR_EraseRootFromParent_Done,
35835 /* 100927 */ // Label 2185: @100927
35836 /* 100927 */ GIM_Try, /*On fail goto*//*Label 2186*/ GIMT_Encode4(100973), // Rule ID 172 //
35837 /* 100932 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVRS_In64BitMode),
35838 /* 100935 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrssi),
35839 /* 100940 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
35840 /* 100943 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35841 /* 100947 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35842 /* 100951 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35843 /* 100958 */ // (intrinsic_w_chain:{ *:[i32] } 15819:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS32rm_EVEX:{ *:[i32] } addr:{ *:[iPTR] }:$src)
35844 /* 100958 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS32rm_EVEX),
35845 /* 100961 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35846 /* 100963 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35847 /* 100967 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35848 /* 100971 */ GIR_RootConstrainSelectedInstOperands,
35849 /* 100972 */ // GIR_Coverage, 172,
35850 /* 100972 */ GIR_EraseRootFromParent_Done,
35851 /* 100973 */ // Label 2186: @100973
35852 /* 100973 */ GIM_Try, /*On fail goto*//*Label 2187*/ GIMT_Encode4(101019), // Rule ID 173 //
35853 /* 100978 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVRS_In64BitMode),
35854 /* 100981 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrsdi),
35855 /* 100986 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
35856 /* 100989 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35857 /* 100993 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35858 /* 100997 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35859 /* 101004 */ // (intrinsic_w_chain:{ *:[i64] } 15816:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS64rm_EVEX:{ *:[i64] } addr:{ *:[iPTR] }:$src)
35860 /* 101004 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS64rm_EVEX),
35861 /* 101007 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35862 /* 101009 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35863 /* 101013 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35864 /* 101017 */ GIR_RootConstrainSelectedInstOperands,
35865 /* 101018 */ // GIR_Coverage, 173,
35866 /* 101018 */ GIR_EraseRootFromParent_Done,
35867 /* 101019 */ // Label 2187: @101019
35868 /* 101019 */ GIM_Try, /*On fail goto*//*Label 2188*/ GIMT_Encode4(101065), // Rule ID 2951 //
35869 /* 101024 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
35870 /* 101027 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse3_ldu_dq),
35871 /* 101032 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
35872 /* 101035 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35873 /* 101039 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35874 /* 101043 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35875 /* 101050 */ // (intrinsic_w_chain:{ *:[v16i8] } 15964:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VLDDQUrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
35876 /* 101050 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VLDDQUrm),
35877 /* 101053 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35878 /* 101055 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35879 /* 101059 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35880 /* 101063 */ GIR_RootConstrainSelectedInstOperands,
35881 /* 101064 */ // GIR_Coverage, 2951,
35882 /* 101064 */ GIR_EraseRootFromParent_Done,
35883 /* 101065 */ // Label 2188: @101065
35884 /* 101065 */ GIM_Try, /*On fail goto*//*Label 2189*/ GIMT_Encode4(101111), // Rule ID 2952 //
35885 /* 101070 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
35886 /* 101073 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_ldu_dq_256),
35887 /* 101078 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s8,
35888 /* 101081 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
35889 /* 101085 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35890 /* 101089 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35891 /* 101096 */ // (intrinsic_w_chain:{ *:[v32i8] } 14585:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VLDDQUYrm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
35892 /* 101096 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VLDDQUYrm),
35893 /* 101099 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35894 /* 101101 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35895 /* 101105 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35896 /* 101109 */ GIR_RootConstrainSelectedInstOperands,
35897 /* 101110 */ // GIR_Coverage, 2952,
35898 /* 101110 */ GIR_EraseRootFromParent_Done,
35899 /* 101111 */ // Label 2189: @101111
35900 /* 101111 */ GIM_Try, /*On fail goto*//*Label 2190*/ GIMT_Encode4(101157), // Rule ID 2953 //
35901 /* 101116 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE3),
35902 /* 101119 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse3_ldu_dq),
35903 /* 101124 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
35904 /* 101127 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35905 /* 101131 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35906 /* 101135 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35907 /* 101142 */ // (intrinsic_w_chain:{ *:[v16i8] } 15964:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (LDDQUrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
35908 /* 101142 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LDDQUrm),
35909 /* 101145 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35910 /* 101147 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35911 /* 101151 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35912 /* 101155 */ GIR_RootConstrainSelectedInstOperands,
35913 /* 101156 */ // GIR_Coverage, 2953,
35914 /* 101156 */ GIR_EraseRootFromParent_Done,
35915 /* 101157 */ // Label 2190: @101157
35916 /* 101157 */ GIM_Try, /*On fail goto*//*Label 2191*/ GIMT_Encode4(101203), // Rule ID 3543 //
35917 /* 101162 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
35918 /* 101165 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vbcstnebf162ps128),
35919 /* 101170 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35920 /* 101173 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35921 /* 101177 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35922 /* 101181 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35923 /* 101188 */ // (intrinsic_w_chain:{ *:[v4f32] } 16101:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VBCSTNEBF162PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
35924 /* 101188 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VBCSTNEBF162PSrm),
35925 /* 101191 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35926 /* 101193 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35927 /* 101197 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35928 /* 101201 */ GIR_RootConstrainSelectedInstOperands,
35929 /* 101202 */ // GIR_Coverage, 3543,
35930 /* 101202 */ GIR_EraseRootFromParent_Done,
35931 /* 101203 */ // Label 2191: @101203
35932 /* 101203 */ GIM_Try, /*On fail goto*//*Label 2192*/ GIMT_Encode4(101249), // Rule ID 3544 //
35933 /* 101208 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
35934 /* 101211 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vbcstnebf162ps256),
35935 /* 101216 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
35936 /* 101219 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
35937 /* 101223 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35938 /* 101227 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35939 /* 101234 */ // (intrinsic_w_chain:{ *:[v8f32] } 16102:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VBCSTNEBF162PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
35940 /* 101234 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VBCSTNEBF162PSYrm),
35941 /* 101237 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35942 /* 101239 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35943 /* 101243 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35944 /* 101247 */ GIR_RootConstrainSelectedInstOperands,
35945 /* 101248 */ // GIR_Coverage, 3544,
35946 /* 101248 */ GIR_EraseRootFromParent_Done,
35947 /* 101249 */ // Label 2192: @101249
35948 /* 101249 */ GIM_Try, /*On fail goto*//*Label 2193*/ GIMT_Encode4(101295), // Rule ID 3545 //
35949 /* 101254 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
35950 /* 101257 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vbcstnesh2ps128),
35951 /* 101262 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35952 /* 101265 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35953 /* 101269 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35954 /* 101273 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35955 /* 101280 */ // (intrinsic_w_chain:{ *:[v4f32] } 16103:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VBCSTNESH2PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
35956 /* 101280 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VBCSTNESH2PSrm),
35957 /* 101283 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35958 /* 101285 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35959 /* 101289 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35960 /* 101293 */ GIR_RootConstrainSelectedInstOperands,
35961 /* 101294 */ // GIR_Coverage, 3545,
35962 /* 101294 */ GIR_EraseRootFromParent_Done,
35963 /* 101295 */ // Label 2193: @101295
35964 /* 101295 */ GIM_Try, /*On fail goto*//*Label 2194*/ GIMT_Encode4(101341), // Rule ID 3546 //
35965 /* 101300 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
35966 /* 101303 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vbcstnesh2ps256),
35967 /* 101308 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
35968 /* 101311 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
35969 /* 101315 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35970 /* 101319 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35971 /* 101326 */ // (intrinsic_w_chain:{ *:[v8f32] } 16104:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VBCSTNESH2PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
35972 /* 101326 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VBCSTNESH2PSYrm),
35973 /* 101329 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35974 /* 101331 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35975 /* 101335 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35976 /* 101339 */ GIR_RootConstrainSelectedInstOperands,
35977 /* 101340 */ // GIR_Coverage, 3546,
35978 /* 101340 */ GIR_EraseRootFromParent_Done,
35979 /* 101341 */ // Label 2194: @101341
35980 /* 101341 */ GIM_Try, /*On fail goto*//*Label 2195*/ GIMT_Encode4(101387), // Rule ID 3547 //
35981 /* 101346 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
35982 /* 101349 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneebf162ps128),
35983 /* 101354 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35984 /* 101357 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35985 /* 101361 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35986 /* 101365 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35987 /* 101372 */ // (intrinsic_w_chain:{ *:[v4f32] } 16105:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEEBF162PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
35988 /* 101372 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEEBF162PSrm),
35989 /* 101375 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35990 /* 101377 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35991 /* 101381 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35992 /* 101385 */ GIR_RootConstrainSelectedInstOperands,
35993 /* 101386 */ // GIR_Coverage, 3547,
35994 /* 101386 */ GIR_EraseRootFromParent_Done,
35995 /* 101387 */ // Label 2195: @101387
35996 /* 101387 */ GIM_Try, /*On fail goto*//*Label 2196*/ GIMT_Encode4(101433), // Rule ID 3548 //
35997 /* 101392 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
35998 /* 101395 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneebf162ps256),
35999 /* 101400 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
36000 /* 101403 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36001 /* 101407 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36002 /* 101411 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36003 /* 101418 */ // (intrinsic_w_chain:{ *:[v8f32] } 16106:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEEBF162PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
36004 /* 101418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEEBF162PSYrm),
36005 /* 101421 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36006 /* 101423 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36007 /* 101427 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36008 /* 101431 */ GIR_RootConstrainSelectedInstOperands,
36009 /* 101432 */ // GIR_Coverage, 3548,
36010 /* 101432 */ GIR_EraseRootFromParent_Done,
36011 /* 101433 */ // Label 2196: @101433
36012 /* 101433 */ GIM_Try, /*On fail goto*//*Label 2197*/ GIMT_Encode4(101479), // Rule ID 3549 //
36013 /* 101438 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36014 /* 101441 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneeph2ps128),
36015 /* 101446 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
36016 /* 101449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36017 /* 101453 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36018 /* 101457 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36019 /* 101464 */ // (intrinsic_w_chain:{ *:[v4f32] } 16107:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEEPH2PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
36020 /* 101464 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEEPH2PSrm),
36021 /* 101467 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36022 /* 101469 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36023 /* 101473 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36024 /* 101477 */ GIR_RootConstrainSelectedInstOperands,
36025 /* 101478 */ // GIR_Coverage, 3549,
36026 /* 101478 */ GIR_EraseRootFromParent_Done,
36027 /* 101479 */ // Label 2197: @101479
36028 /* 101479 */ GIM_Try, /*On fail goto*//*Label 2198*/ GIMT_Encode4(101525), // Rule ID 3550 //
36029 /* 101484 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36030 /* 101487 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneeph2ps256),
36031 /* 101492 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
36032 /* 101495 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36033 /* 101499 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36034 /* 101503 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36035 /* 101510 */ // (intrinsic_w_chain:{ *:[v8f32] } 16108:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEEPH2PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
36036 /* 101510 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEEPH2PSYrm),
36037 /* 101513 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36038 /* 101515 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36039 /* 101519 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36040 /* 101523 */ GIR_RootConstrainSelectedInstOperands,
36041 /* 101524 */ // GIR_Coverage, 3550,
36042 /* 101524 */ GIR_EraseRootFromParent_Done,
36043 /* 101525 */ // Label 2198: @101525
36044 /* 101525 */ GIM_Try, /*On fail goto*//*Label 2199*/ GIMT_Encode4(101571), // Rule ID 3551 //
36045 /* 101530 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36046 /* 101533 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneobf162ps128),
36047 /* 101538 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
36048 /* 101541 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36049 /* 101545 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36050 /* 101549 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36051 /* 101556 */ // (intrinsic_w_chain:{ *:[v4f32] } 16109:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEOBF162PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
36052 /* 101556 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEOBF162PSrm),
36053 /* 101559 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36054 /* 101561 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36055 /* 101565 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36056 /* 101569 */ GIR_RootConstrainSelectedInstOperands,
36057 /* 101570 */ // GIR_Coverage, 3551,
36058 /* 101570 */ GIR_EraseRootFromParent_Done,
36059 /* 101571 */ // Label 2199: @101571
36060 /* 101571 */ GIM_Try, /*On fail goto*//*Label 2200*/ GIMT_Encode4(101617), // Rule ID 3552 //
36061 /* 101576 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36062 /* 101579 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneobf162ps256),
36063 /* 101584 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
36064 /* 101587 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36065 /* 101591 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36066 /* 101595 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36067 /* 101602 */ // (intrinsic_w_chain:{ *:[v8f32] } 16110:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEOBF162PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
36068 /* 101602 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEOBF162PSYrm),
36069 /* 101605 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36070 /* 101607 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36071 /* 101611 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36072 /* 101615 */ GIR_RootConstrainSelectedInstOperands,
36073 /* 101616 */ // GIR_Coverage, 3552,
36074 /* 101616 */ GIR_EraseRootFromParent_Done,
36075 /* 101617 */ // Label 2200: @101617
36076 /* 101617 */ GIM_Try, /*On fail goto*//*Label 2201*/ GIMT_Encode4(101663), // Rule ID 3553 //
36077 /* 101622 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36078 /* 101625 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneoph2ps128),
36079 /* 101630 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
36080 /* 101633 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36081 /* 101637 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36082 /* 101641 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36083 /* 101648 */ // (intrinsic_w_chain:{ *:[v4f32] } 16111:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEOPH2PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
36084 /* 101648 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEOPH2PSrm),
36085 /* 101651 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36086 /* 101653 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36087 /* 101657 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36088 /* 101661 */ GIR_RootConstrainSelectedInstOperands,
36089 /* 101662 */ // GIR_Coverage, 3553,
36090 /* 101662 */ GIR_EraseRootFromParent_Done,
36091 /* 101663 */ // Label 2201: @101663
36092 /* 101663 */ GIM_Try, /*On fail goto*//*Label 2202*/ GIMT_Encode4(101709), // Rule ID 3554 //
36093 /* 101668 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36094 /* 101671 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneoph2ps256),
36095 /* 101676 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
36096 /* 101679 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36097 /* 101683 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36098 /* 101687 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36099 /* 101694 */ // (intrinsic_w_chain:{ *:[v8f32] } 16112:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEOPH2PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
36100 /* 101694 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEOPH2PSYrm),
36101 /* 101697 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36102 /* 101699 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36103 /* 101703 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36104 /* 101707 */ GIR_RootConstrainSelectedInstOperands,
36105 /* 101708 */ // GIR_Coverage, 3554,
36106 /* 101708 */ GIR_EraseRootFromParent_Done,
36107 /* 101709 */ // Label 2202: @101709
36108 /* 101709 */ GIM_Try, /*On fail goto*//*Label 2203*/ GIMT_Encode4(101755), // Rule ID 16757 //
36109 /* 101714 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
36110 /* 101717 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsb512),
36111 /* 101722 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v64s8,
36112 /* 101725 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
36113 /* 101729 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36114 /* 101733 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36115 /* 101740 */ // (intrinsic_w_chain:{ *:[v64i8] } 14841:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSBZm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)
36116 /* 101740 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSBZm),
36117 /* 101743 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36118 /* 101745 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36119 /* 101749 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36120 /* 101753 */ GIR_RootConstrainSelectedInstOperands,
36121 /* 101754 */ // GIR_Coverage, 16757,
36122 /* 101754 */ GIR_EraseRootFromParent_Done,
36123 /* 101755 */ // Label 2203: @101755
36124 /* 101755 */ GIM_Try, /*On fail goto*//*Label 2204*/ GIMT_Encode4(101801), // Rule ID 16760 //
36125 /* 101760 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
36126 /* 101763 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsb128),
36127 /* 101768 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
36128 /* 101771 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
36129 /* 101775 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36130 /* 101779 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36131 /* 101786 */ // (intrinsic_w_chain:{ *:[v16i8] } 14839:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSBZ128m:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
36132 /* 101786 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSBZ128m),
36133 /* 101789 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36134 /* 101791 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36135 /* 101795 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36136 /* 101799 */ GIR_RootConstrainSelectedInstOperands,
36137 /* 101800 */ // GIR_Coverage, 16760,
36138 /* 101800 */ GIR_EraseRootFromParent_Done,
36139 /* 101801 */ // Label 2204: @101801
36140 /* 101801 */ GIM_Try, /*On fail goto*//*Label 2205*/ GIMT_Encode4(101847), // Rule ID 16763 //
36141 /* 101806 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
36142 /* 101809 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsb256),
36143 /* 101814 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s8,
36144 /* 101817 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
36145 /* 101821 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36146 /* 101825 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36147 /* 101832 */ // (intrinsic_w_chain:{ *:[v32i8] } 14840:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSBZ256m:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
36148 /* 101832 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSBZ256m),
36149 /* 101835 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36150 /* 101837 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36151 /* 101841 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36152 /* 101845 */ GIR_RootConstrainSelectedInstOperands,
36153 /* 101846 */ // GIR_Coverage, 16763,
36154 /* 101846 */ GIR_EraseRootFromParent_Done,
36155 /* 101847 */ // Label 2205: @101847
36156 /* 101847 */ GIM_Try, /*On fail goto*//*Label 2206*/ GIMT_Encode4(101893), // Rule ID 16766 //
36157 /* 101852 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
36158 /* 101855 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsw512),
36159 /* 101860 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
36160 /* 101863 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
36161 /* 101867 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36162 /* 101871 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36163 /* 101878 */ // (intrinsic_w_chain:{ *:[v32i16] } 14850:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSWZm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
36164 /* 101878 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSWZm),
36165 /* 101881 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36166 /* 101883 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36167 /* 101887 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36168 /* 101891 */ GIR_RootConstrainSelectedInstOperands,
36169 /* 101892 */ // GIR_Coverage, 16766,
36170 /* 101892 */ GIR_EraseRootFromParent_Done,
36171 /* 101893 */ // Label 2206: @101893
36172 /* 101893 */ GIM_Try, /*On fail goto*//*Label 2207*/ GIMT_Encode4(101939), // Rule ID 16769 //
36173 /* 101898 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
36174 /* 101901 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsw128),
36175 /* 101906 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
36176 /* 101909 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
36177 /* 101913 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36178 /* 101917 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36179 /* 101924 */ // (intrinsic_w_chain:{ *:[v8i16] } 14848:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSWZ128m:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
36180 /* 101924 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSWZ128m),
36181 /* 101927 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36182 /* 101929 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36183 /* 101933 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36184 /* 101937 */ GIR_RootConstrainSelectedInstOperands,
36185 /* 101938 */ // GIR_Coverage, 16769,
36186 /* 101938 */ GIR_EraseRootFromParent_Done,
36187 /* 101939 */ // Label 2207: @101939
36188 /* 101939 */ GIM_Try, /*On fail goto*//*Label 2208*/ GIMT_Encode4(101985), // Rule ID 16772 //
36189 /* 101944 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
36190 /* 101947 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsw256),
36191 /* 101952 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s16,
36192 /* 101955 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
36193 /* 101959 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36194 /* 101963 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36195 /* 101970 */ // (intrinsic_w_chain:{ *:[v16i16] } 14849:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSWZ256m:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
36196 /* 101970 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSWZ256m),
36197 /* 101973 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36198 /* 101975 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36199 /* 101979 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36200 /* 101983 */ GIR_RootConstrainSelectedInstOperands,
36201 /* 101984 */ // GIR_Coverage, 16772,
36202 /* 101984 */ GIR_EraseRootFromParent_Done,
36203 /* 101985 */ // Label 2208: @101985
36204 /* 101985 */ GIM_Try, /*On fail goto*//*Label 2209*/ GIMT_Encode4(102031), // Rule ID 16775 //
36205 /* 101990 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
36206 /* 101993 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsd512),
36207 /* 101998 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
36208 /* 102001 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
36209 /* 102005 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36210 /* 102009 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36211 /* 102016 */ // (intrinsic_w_chain:{ *:[v16i32] } 14844:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSDZm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
36212 /* 102016 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSDZm),
36213 /* 102019 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36214 /* 102021 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36215 /* 102025 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36216 /* 102029 */ GIR_RootConstrainSelectedInstOperands,
36217 /* 102030 */ // GIR_Coverage, 16775,
36218 /* 102030 */ GIR_EraseRootFromParent_Done,
36219 /* 102031 */ // Label 2209: @102031
36220 /* 102031 */ GIM_Try, /*On fail goto*//*Label 2210*/ GIMT_Encode4(102077), // Rule ID 16778 //
36221 /* 102036 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
36222 /* 102039 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsd128),
36223 /* 102044 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
36224 /* 102047 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
36225 /* 102051 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36226 /* 102055 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36227 /* 102062 */ // (intrinsic_w_chain:{ *:[v4i32] } 14842:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSDZ128m:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
36228 /* 102062 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSDZ128m),
36229 /* 102065 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36230 /* 102067 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36231 /* 102071 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36232 /* 102075 */ GIR_RootConstrainSelectedInstOperands,
36233 /* 102076 */ // GIR_Coverage, 16778,
36234 /* 102076 */ GIR_EraseRootFromParent_Done,
36235 /* 102077 */ // Label 2210: @102077
36236 /* 102077 */ GIM_Try, /*On fail goto*//*Label 2211*/ GIMT_Encode4(102123), // Rule ID 16781 //
36237 /* 102082 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
36238 /* 102085 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsd256),
36239 /* 102090 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
36240 /* 102093 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
36241 /* 102097 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36242 /* 102101 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36243 /* 102108 */ // (intrinsic_w_chain:{ *:[v8i32] } 14843:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSDZ256m:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
36244 /* 102108 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSDZ256m),
36245 /* 102111 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36246 /* 102113 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36247 /* 102117 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36248 /* 102121 */ GIR_RootConstrainSelectedInstOperands,
36249 /* 102122 */ // GIR_Coverage, 16781,
36250 /* 102122 */ GIR_EraseRootFromParent_Done,
36251 /* 102123 */ // Label 2211: @102123
36252 /* 102123 */ GIM_Try, /*On fail goto*//*Label 2212*/ GIMT_Encode4(102169), // Rule ID 16784 //
36253 /* 102128 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
36254 /* 102131 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsq512),
36255 /* 102136 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
36256 /* 102139 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
36257 /* 102143 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36258 /* 102147 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36259 /* 102154 */ // (intrinsic_w_chain:{ *:[v8i64] } 14847:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSQZm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
36260 /* 102154 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSQZm),
36261 /* 102157 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36262 /* 102159 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36263 /* 102163 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36264 /* 102167 */ GIR_RootConstrainSelectedInstOperands,
36265 /* 102168 */ // GIR_Coverage, 16784,
36266 /* 102168 */ GIR_EraseRootFromParent_Done,
36267 /* 102169 */ // Label 2212: @102169
36268 /* 102169 */ GIM_Try, /*On fail goto*//*Label 2213*/ GIMT_Encode4(102215), // Rule ID 16787 //
36269 /* 102174 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
36270 /* 102177 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsq128),
36271 /* 102182 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
36272 /* 102185 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
36273 /* 102189 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36274 /* 102193 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36275 /* 102200 */ // (intrinsic_w_chain:{ *:[v2i64] } 14845:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSQZ128m:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
36276 /* 102200 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSQZ128m),
36277 /* 102203 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36278 /* 102205 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36279 /* 102209 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36280 /* 102213 */ GIR_RootConstrainSelectedInstOperands,
36281 /* 102214 */ // GIR_Coverage, 16787,
36282 /* 102214 */ GIR_EraseRootFromParent_Done,
36283 /* 102215 */ // Label 2213: @102215
36284 /* 102215 */ GIM_Try, /*On fail goto*//*Label 2214*/ GIMT_Encode4(102261), // Rule ID 16790 //
36285 /* 102220 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
36286 /* 102223 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsq256),
36287 /* 102228 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
36288 /* 102231 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
36289 /* 102235 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36290 /* 102239 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36291 /* 102246 */ // (intrinsic_w_chain:{ *:[v4i64] } 14846:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSQZ256m:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
36292 /* 102246 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSQZ256m),
36293 /* 102249 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36294 /* 102251 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36295 /* 102255 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36296 /* 102259 */ GIR_RootConstrainSelectedInstOperands,
36297 /* 102260 */ // GIR_Coverage, 16790,
36298 /* 102260 */ GIR_EraseRootFromParent_Done,
36299 /* 102261 */ // Label 2214: @102261
36300 /* 102261 */ GIM_Try, /*On fail goto*//*Label 2215*/ GIMT_Encode4(102307), // Rule ID 17082 //
36301 /* 102266 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoEGPR),
36302 /* 102269 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrssd),
36303 /* 102274 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36304 /* 102277 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36305 /* 102281 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36306 /* 102285 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36307 /* 102292 */ // (intrinsic_void 16145:{ *:[iPTR] }, GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst) => (WRSSD addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
36308 /* 102292 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRSSD),
36309 /* 102295 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36310 /* 102299 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36311 /* 102301 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36312 /* 102305 */ GIR_RootConstrainSelectedInstOperands,
36313 /* 102306 */ // GIR_Coverage, 17082,
36314 /* 102306 */ GIR_EraseRootFromParent_Done,
36315 /* 102307 */ // Label 2215: @102307
36316 /* 102307 */ GIM_Try, /*On fail goto*//*Label 2216*/ GIMT_Encode4(102353), // Rule ID 17083 //
36317 /* 102312 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoEGPR),
36318 /* 102315 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrssq),
36319 /* 102320 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
36320 /* 102323 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36321 /* 102327 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36322 /* 102331 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36323 /* 102338 */ // (intrinsic_void 16146:{ *:[iPTR] }, GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst) => (WRSSQ addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
36324 /* 102338 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRSSQ),
36325 /* 102341 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36326 /* 102345 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36327 /* 102347 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36328 /* 102351 */ GIR_RootConstrainSelectedInstOperands,
36329 /* 102352 */ // GIR_Coverage, 17083,
36330 /* 102352 */ GIR_EraseRootFromParent_Done,
36331 /* 102353 */ // Label 2216: @102353
36332 /* 102353 */ GIM_Try, /*On fail goto*//*Label 2217*/ GIMT_Encode4(102399), // Rule ID 17084 //
36333 /* 102358 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoEGPR),
36334 /* 102361 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrussd),
36335 /* 102366 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36336 /* 102369 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36337 /* 102373 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36338 /* 102377 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36339 /* 102384 */ // (intrinsic_void 16147:{ *:[iPTR] }, GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst) => (WRUSSD addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
36340 /* 102384 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRUSSD),
36341 /* 102387 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36342 /* 102391 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36343 /* 102393 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36344 /* 102397 */ GIR_RootConstrainSelectedInstOperands,
36345 /* 102398 */ // GIR_Coverage, 17084,
36346 /* 102398 */ GIR_EraseRootFromParent_Done,
36347 /* 102399 */ // Label 2217: @102399
36348 /* 102399 */ GIM_Try, /*On fail goto*//*Label 2218*/ GIMT_Encode4(102445), // Rule ID 17085 //
36349 /* 102404 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoEGPR),
36350 /* 102407 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrussq),
36351 /* 102412 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
36352 /* 102415 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36353 /* 102419 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36354 /* 102423 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36355 /* 102430 */ // (intrinsic_void 16148:{ *:[iPTR] }, GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst) => (WRUSSQ addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
36356 /* 102430 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRUSSQ),
36357 /* 102433 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36358 /* 102437 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36359 /* 102439 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36360 /* 102443 */ GIR_RootConstrainSelectedInstOperands,
36361 /* 102444 */ // GIR_Coverage, 17085,
36362 /* 102444 */ GIR_EraseRootFromParent_Done,
36363 /* 102445 */ // Label 2218: @102445
36364 /* 102445 */ GIM_Try, /*On fail goto*//*Label 2219*/ GIMT_Encode4(102491), // Rule ID 17086 //
36365 /* 102450 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_In64BitMode),
36366 /* 102453 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrssd),
36367 /* 102458 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36368 /* 102461 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36369 /* 102465 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36370 /* 102469 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36371 /* 102476 */ // (intrinsic_void 16145:{ *:[iPTR] }, GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst) => (WRSSD_EVEX addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
36372 /* 102476 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRSSD_EVEX),
36373 /* 102479 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36374 /* 102483 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36375 /* 102485 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36376 /* 102489 */ GIR_RootConstrainSelectedInstOperands,
36377 /* 102490 */ // GIR_Coverage, 17086,
36378 /* 102490 */ GIR_EraseRootFromParent_Done,
36379 /* 102491 */ // Label 2219: @102491
36380 /* 102491 */ GIM_Try, /*On fail goto*//*Label 2220*/ GIMT_Encode4(102537), // Rule ID 17087 //
36381 /* 102496 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_In64BitMode),
36382 /* 102499 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrssq),
36383 /* 102504 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
36384 /* 102507 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36385 /* 102511 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36386 /* 102515 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36387 /* 102522 */ // (intrinsic_void 16146:{ *:[iPTR] }, GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst) => (WRSSQ_EVEX addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
36388 /* 102522 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRSSQ_EVEX),
36389 /* 102525 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36390 /* 102529 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36391 /* 102531 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36392 /* 102535 */ GIR_RootConstrainSelectedInstOperands,
36393 /* 102536 */ // GIR_Coverage, 17087,
36394 /* 102536 */ GIR_EraseRootFromParent_Done,
36395 /* 102537 */ // Label 2220: @102537
36396 /* 102537 */ GIM_Try, /*On fail goto*//*Label 2221*/ GIMT_Encode4(102583), // Rule ID 17088 //
36397 /* 102542 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_In64BitMode),
36398 /* 102545 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrussd),
36399 /* 102550 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36400 /* 102553 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36401 /* 102557 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36402 /* 102561 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36403 /* 102568 */ // (intrinsic_void 16147:{ *:[iPTR] }, GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst) => (WRUSSD_EVEX addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
36404 /* 102568 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRUSSD_EVEX),
36405 /* 102571 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36406 /* 102575 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36407 /* 102577 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36408 /* 102581 */ GIR_RootConstrainSelectedInstOperands,
36409 /* 102582 */ // GIR_Coverage, 17088,
36410 /* 102582 */ GIR_EraseRootFromParent_Done,
36411 /* 102583 */ // Label 2221: @102583
36412 /* 102583 */ GIM_Try, /*On fail goto*//*Label 2222*/ GIMT_Encode4(102629), // Rule ID 17089 //
36413 /* 102588 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_In64BitMode),
36414 /* 102591 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrussq),
36415 /* 102596 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
36416 /* 102599 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36417 /* 102603 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36418 /* 102607 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36419 /* 102614 */ // (intrinsic_void 16148:{ *:[iPTR] }, GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst) => (WRUSSQ_EVEX addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
36420 /* 102614 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRUSSQ_EVEX),
36421 /* 102617 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36422 /* 102621 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36423 /* 102623 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36424 /* 102627 */ GIR_RootConstrainSelectedInstOperands,
36425 /* 102628 */ // GIR_Coverage, 17089,
36426 /* 102628 */ GIR_EraseRootFromParent_Done,
36427 /* 102629 */ // Label 2222: @102629
36428 /* 102629 */ GIM_Try, /*On fail goto*//*Label 2223*/ GIMT_Encode4(102675), // Rule ID 17115 //
36429 /* 102634 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasINVPCID_Not64BitMode),
36430 /* 102637 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_invpcid),
36431 /* 102642 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36432 /* 102645 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36433 /* 102649 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36434 /* 102653 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36435 /* 102660 */ // (intrinsic_void 15735:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2) => (INVPCID32 GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
36436 /* 102660 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INVPCID32),
36437 /* 102663 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
36438 /* 102665 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36439 /* 102669 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36440 /* 102673 */ GIR_RootConstrainSelectedInstOperands,
36441 /* 102674 */ // GIR_Coverage, 17115,
36442 /* 102674 */ GIR_EraseRootFromParent_Done,
36443 /* 102675 */ // Label 2223: @102675
36444 /* 102675 */ GIM_Try, /*On fail goto*//*Label 2224*/ GIMT_Encode4(102764), // Rule ID 22440 //
36445 /* 102680 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasINVPCID_NoEGPR),
36446 /* 102683 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_invpcid),
36447 /* 102688 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36448 /* 102691 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36449 /* 102695 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36450 /* 102699 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36451 /* 102706 */ // (intrinsic_void 15735:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2) => (INVPCID64 (SUBREG_TO_REG:{ *:[i64] } (MOV32rr:{ *:[i32] } GR32:{ *:[i32] }:$src1), sub_32bit:{ *:[i32] }), addr:{ *:[iPTR] }:$src2)
36452 /* 102706 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
36453 /* 102709 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(X86::MOV32rr),
36454 /* 102713 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36455 /* 102718 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
36456 /* 102722 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
36457 /* 102724 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
36458 /* 102727 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
36459 /* 102731 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36460 /* 102736 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
36461 /* 102739 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/6,
36462 /* 102742 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
36463 /* 102747 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
36464 /* 102752 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INVPCID64),
36465 /* 102755 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
36466 /* 102758 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36467 /* 102762 */ GIR_RootConstrainSelectedInstOperands,
36468 /* 102763 */ // GIR_Coverage, 22440,
36469 /* 102763 */ GIR_EraseRootFromParent_Done,
36470 /* 102764 */ // Label 2224: @102764
36471 /* 102764 */ GIM_Try, /*On fail goto*//*Label 2225*/ GIMT_Encode4(102853), // Rule ID 22441 //
36472 /* 102769 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasINVPCID),
36473 /* 102772 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_invpcid),
36474 /* 102777 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36475 /* 102780 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36476 /* 102784 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36477 /* 102788 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36478 /* 102795 */ // (intrinsic_void 15735:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2) => (INVPCID64_EVEX (SUBREG_TO_REG:{ *:[i64] } (MOV32rr:{ *:[i32] } GR32:{ *:[i32] }:$src1), sub_32bit:{ *:[i32] }), addr:{ *:[iPTR] }:$src2)
36479 /* 102795 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
36480 /* 102798 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(X86::MOV32rr),
36481 /* 102802 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36482 /* 102807 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
36483 /* 102811 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
36484 /* 102813 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
36485 /* 102816 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
36486 /* 102820 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36487 /* 102825 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
36488 /* 102828 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/6,
36489 /* 102831 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
36490 /* 102836 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
36491 /* 102841 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INVPCID64_EVEX),
36492 /* 102844 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
36493 /* 102847 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36494 /* 102851 */ GIR_RootConstrainSelectedInstOperands,
36495 /* 102852 */ // GIR_Coverage, 22441,
36496 /* 102852 */ GIR_EraseRootFromParent_Done,
36497 /* 102853 */ // Label 2225: @102853
36498 /* 102853 */ GIM_Try, /*On fail goto*//*Label 2226*/ GIMT_Encode4(102899), // Rule ID 131 //
36499 /* 102858 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVDIRI_NoEGPR),
36500 /* 102861 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_directstore32),
36501 /* 102866 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36502 /* 102869 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36503 /* 102873 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36504 /* 102877 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36505 /* 102884 */ // (intrinsic_void 15714:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src) => (MOVDIRI32 addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
36506 /* 102884 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIRI32),
36507 /* 102887 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36508 /* 102891 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36509 /* 102893 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36510 /* 102897 */ GIR_RootConstrainSelectedInstOperands,
36511 /* 102898 */ // GIR_Coverage, 131,
36512 /* 102898 */ GIR_EraseRootFromParent_Done,
36513 /* 102899 */ // Label 2226: @102899
36514 /* 102899 */ GIM_Try, /*On fail goto*//*Label 2227*/ GIMT_Encode4(102945), // Rule ID 132 //
36515 /* 102904 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVDIRI_In64BitMode_NoEGPR),
36516 /* 102907 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_directstore64),
36517 /* 102912 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
36518 /* 102915 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36519 /* 102919 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36520 /* 102923 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36521 /* 102930 */ // (intrinsic_void 15715:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src) => (MOVDIRI64 addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
36522 /* 102930 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIRI64),
36523 /* 102933 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36524 /* 102937 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36525 /* 102939 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36526 /* 102943 */ GIR_RootConstrainSelectedInstOperands,
36527 /* 102944 */ // GIR_Coverage, 132,
36528 /* 102944 */ GIR_EraseRootFromParent_Done,
36529 /* 102945 */ // Label 2227: @102945
36530 /* 102945 */ GIM_Try, /*On fail goto*//*Label 2228*/ GIMT_Encode4(102991), // Rule ID 133 //
36531 /* 102950 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVDIRI_In64BitMode),
36532 /* 102953 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_directstore32),
36533 /* 102958 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36534 /* 102961 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36535 /* 102965 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36536 /* 102969 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36537 /* 102976 */ // (intrinsic_void 15714:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src) => (MOVDIRI32_EVEX addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
36538 /* 102976 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIRI32_EVEX),
36539 /* 102979 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36540 /* 102983 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36541 /* 102985 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36542 /* 102989 */ GIR_RootConstrainSelectedInstOperands,
36543 /* 102990 */ // GIR_Coverage, 133,
36544 /* 102990 */ GIR_EraseRootFromParent_Done,
36545 /* 102991 */ // Label 2228: @102991
36546 /* 102991 */ GIM_Try, /*On fail goto*//*Label 2229*/ GIMT_Encode4(103037), // Rule ID 134 //
36547 /* 102996 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVDIRI_In64BitMode),
36548 /* 102999 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_directstore64),
36549 /* 103004 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
36550 /* 103007 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36551 /* 103011 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36552 /* 103015 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36553 /* 103022 */ // (intrinsic_void 15715:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src) => (MOVDIRI64_EVEX addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
36554 /* 103022 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIRI64_EVEX),
36555 /* 103025 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36556 /* 103029 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36557 /* 103031 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36558 /* 103035 */ GIR_RootConstrainSelectedInstOperands,
36559 /* 103036 */ // GIR_Coverage, 134,
36560 /* 103036 */ GIR_EraseRootFromParent_Done,
36561 /* 103037 */ // Label 2229: @103037
36562 /* 103037 */ GIM_Try, /*On fail goto*//*Label 2230*/ GIMT_Encode4(103084), // Rule ID 135 //
36563 /* 103042 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVDIR64B_NoEGPR),
36564 /* 103045 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_movdir64b),
36565 /* 103050 */ // MIs[0] dst
36566 /* 103050 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
36567 /* 103054 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36568 /* 103058 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36569 /* 103062 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36570 /* 103069 */ // (intrinsic_void 15815:{ *:[iPTR] }, GR32:{ *:[i32] }:$dst, addr:{ *:[iPTR] }:$src) => (MOVDIR64B32 GR32:{ *:[i32] }:$dst, addr:{ *:[iPTR] }:$src)
36571 /* 103069 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIR64B32),
36572 /* 103072 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
36573 /* 103074 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36574 /* 103078 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36575 /* 103082 */ GIR_RootConstrainSelectedInstOperands,
36576 /* 103083 */ // GIR_Coverage, 135,
36577 /* 103083 */ GIR_EraseRootFromParent_Done,
36578 /* 103084 */ // Label 2230: @103084
36579 /* 103084 */ GIM_Try, /*On fail goto*//*Label 2231*/ GIMT_Encode4(103131), // Rule ID 136 //
36580 /* 103089 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVDIR64B_In64BitMode_NoEGPR),
36581 /* 103092 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_movdir64b),
36582 /* 103097 */ // MIs[0] dst
36583 /* 103097 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
36584 /* 103101 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36585 /* 103105 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36586 /* 103109 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36587 /* 103116 */ // (intrinsic_void 15815:{ *:[iPTR] }, GR64:{ *:[i64] }:$dst, addr:{ *:[iPTR] }:$src) => (MOVDIR64B64 GR64:{ *:[i64] }:$dst, addr:{ *:[iPTR] }:$src)
36588 /* 103116 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIR64B64),
36589 /* 103119 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
36590 /* 103121 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36591 /* 103125 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36592 /* 103129 */ GIR_RootConstrainSelectedInstOperands,
36593 /* 103130 */ // GIR_Coverage, 136,
36594 /* 103130 */ GIR_EraseRootFromParent_Done,
36595 /* 103131 */ // Label 2231: @103131
36596 /* 103131 */ GIM_Try, /*On fail goto*//*Label 2232*/ GIMT_Encode4(103178), // Rule ID 137 //
36597 /* 103136 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVDIR64B_In64BitMode),
36598 /* 103139 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_movdir64b),
36599 /* 103144 */ // MIs[0] dst
36600 /* 103144 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
36601 /* 103148 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36602 /* 103152 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36603 /* 103156 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36604 /* 103163 */ // (intrinsic_void 15815:{ *:[iPTR] }, GR32:{ *:[i32] }:$dst, addr:{ *:[iPTR] }:$src) => (MOVDIR64B32_EVEX GR32:{ *:[i32] }:$dst, addr:{ *:[iPTR] }:$src)
36605 /* 103163 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIR64B32_EVEX),
36606 /* 103166 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
36607 /* 103168 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36608 /* 103172 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36609 /* 103176 */ GIR_RootConstrainSelectedInstOperands,
36610 /* 103177 */ // GIR_Coverage, 137,
36611 /* 103177 */ GIR_EraseRootFromParent_Done,
36612 /* 103178 */ // Label 2232: @103178
36613 /* 103178 */ GIM_Try, /*On fail goto*//*Label 2233*/ GIMT_Encode4(103225), // Rule ID 138 //
36614 /* 103183 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVDIR64B_In64BitMode),
36615 /* 103186 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_movdir64b),
36616 /* 103191 */ // MIs[0] dst
36617 /* 103191 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
36618 /* 103195 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36619 /* 103199 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36620 /* 103203 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36621 /* 103210 */ // (intrinsic_void 15815:{ *:[iPTR] }, GR64:{ *:[i64] }:$dst, addr:{ *:[iPTR] }:$src) => (MOVDIR64B64_EVEX GR64:{ *:[i64] }:$dst, addr:{ *:[iPTR] }:$src)
36622 /* 103210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIR64B64_EVEX),
36623 /* 103213 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
36624 /* 103215 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36625 /* 103219 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36626 /* 103223 */ GIR_RootConstrainSelectedInstOperands,
36627 /* 103224 */ // GIR_Coverage, 138,
36628 /* 103224 */ GIR_EraseRootFromParent_Done,
36629 /* 103225 */ // Label 2233: @103225
36630 /* 103225 */ GIM_Try, /*On fail goto*//*Label 2234*/ GIMT_Encode4(103268), // Rule ID 17140 //
36631 /* 103230 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::asan_check_memaccess),
36632 /* 103235 */ // MIs[0] addr
36633 /* 103235 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
36634 /* 103239 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64PLTSafeRegClassID),
36635 /* 103243 */ // MIs[0] accessinfo
36636 /* 103243 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
36637 /* 103246 */ // (intrinsic_void 14:{ *:[iPTR] }, GR64PLTSafe:{ *:[i64] }:$addr, (timm:{ *:[i32] }):$accessinfo) => (ASAN_CHECK_MEMACCESS:{ *:[i64] } GR64PLTSafe:{ *:[i64] }:$addr, (timm:{ *:[i32] }):$accessinfo)
36638 /* 103246 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ASAN_CHECK_MEMACCESS),
36639 /* 103249 */ GIR_RootToRootCopy, /*OpIdx*/1, // addr
36640 /* 103251 */ GIR_RootToRootCopy, /*OpIdx*/2, // accessinfo
36641 /* 103253 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::R10*/0,
36642 /* 103256 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::R11*/1,
36643 /* 103259 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/2,
36644 /* 103262 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36645 /* 103266 */ GIR_RootConstrainSelectedInstOperands,
36646 /* 103267 */ // GIR_Coverage, 17140,
36647 /* 103267 */ GIR_EraseRootFromParent_Done,
36648 /* 103268 */ // Label 2234: @103268
36649 /* 103268 */ GIM_Try, /*On fail goto*//*Label 2235*/ GIMT_Encode4(103308), // Rule ID 17066 //
36650 /* 103273 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasUSERMSR_NoEGPR),
36651 /* 103276 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_urdmsr),
36652 /* 103281 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
36653 /* 103284 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
36654 /* 103287 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36655 /* 103291 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36656 /* 103295 */ // (intrinsic_w_chain:{ *:[i64] } 16099:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (URDMSRrr:{ *:[i64] } GR64:{ *:[i64] }:$src)
36657 /* 103295 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::URDMSRrr),
36658 /* 103298 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36659 /* 103300 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36660 /* 103302 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36661 /* 103306 */ GIR_RootConstrainSelectedInstOperands,
36662 /* 103307 */ // GIR_Coverage, 17066,
36663 /* 103307 */ GIR_EraseRootFromParent_Done,
36664 /* 103308 */ // Label 2235: @103308
36665 /* 103308 */ GIM_Try, /*On fail goto*//*Label 2236*/ GIMT_Encode4(103348), // Rule ID 17070 //
36666 /* 103313 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasUSERMSR_In64BitMode),
36667 /* 103316 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_urdmsr),
36668 /* 103321 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
36669 /* 103324 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
36670 /* 103327 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36671 /* 103331 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36672 /* 103335 */ // (intrinsic_w_chain:{ *:[i64] } 16099:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (URDMSRrr_EVEX:{ *:[i64] } GR64:{ *:[i64] }:$src)
36673 /* 103335 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::URDMSRrr_EVEX),
36674 /* 103338 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36675 /* 103340 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36676 /* 103342 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36677 /* 103346 */ GIR_RootConstrainSelectedInstOperands,
36678 /* 103347 */ // GIR_Coverage, 17070,
36679 /* 103347 */ GIR_EraseRootFromParent_Done,
36680 /* 103348 */ // Label 2236: @103348
36681 /* 103348 */ GIM_Try, /*On fail goto*//*Label 2237*/ GIMT_Encode4(103385), // Rule ID 17078 //
36682 /* 103353 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdsspd),
36683 /* 103358 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
36684 /* 103361 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36685 /* 103364 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36686 /* 103368 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36687 /* 103372 */ // (intrinsic_w_chain:{ *:[i32] } 15841:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (RDSSPD:{ *:[i32] } GR32:{ *:[i32] }:$src)
36688 /* 103372 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDSSPD),
36689 /* 103375 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36690 /* 103377 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36691 /* 103379 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36692 /* 103383 */ GIR_RootConstrainSelectedInstOperands,
36693 /* 103384 */ // GIR_Coverage, 17078,
36694 /* 103384 */ GIR_EraseRootFromParent_Done,
36695 /* 103385 */ // Label 2237: @103385
36696 /* 103385 */ GIM_Try, /*On fail goto*//*Label 2238*/ GIMT_Encode4(103422), // Rule ID 17079 //
36697 /* 103390 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdsspq),
36698 /* 103395 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
36699 /* 103398 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
36700 /* 103401 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36701 /* 103405 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36702 /* 103409 */ // (intrinsic_w_chain:{ *:[i64] } 15842:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (RDSSPQ:{ *:[i64] } GR64:{ *:[i64] }:$src)
36703 /* 103409 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDSSPQ),
36704 /* 103412 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36705 /* 103414 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36706 /* 103416 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36707 /* 103420 */ GIR_RootConstrainSelectedInstOperands,
36708 /* 103421 */ // GIR_Coverage, 17079,
36709 /* 103421 */ GIR_EraseRootFromParent_Done,
36710 /* 103422 */ // Label 2238: @103422
36711 /* 103422 */ GIM_Try, /*On fail goto*//*Label 2239*/ GIMT_Encode4(103486), // Rule ID 3086 //
36712 /* 103427 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
36713 /* 103430 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse3_mwait),
36714 /* 103435 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36715 /* 103438 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36716 /* 103441 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32_ArgRef_and_GR32_CBRegClassID),
36717 /* 103445 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
36718 /* 103449 */ // (intrinsic_void 15966:{ *:[iPTR] }, ECX:{ *:[i32] }, EAX:{ *:[i32] }) => (MWAITrr)
36719 /* 103449 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36720 /* 103453 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36721 /* 103459 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // EAX
36722 /* 103463 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36723 /* 103467 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::ECX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36724 /* 103473 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // ECX
36725 /* 103477 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MWAITrr),
36726 /* 103480 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36727 /* 103484 */ GIR_RootConstrainSelectedInstOperands,
36728 /* 103485 */ // GIR_Coverage, 3086,
36729 /* 103485 */ GIR_EraseRootFromParent_Done,
36730 /* 103486 */ // Label 2239: @103486
36731 /* 103486 */ GIM_Try, /*On fail goto*//*Label 2240*/ GIMT_Encode4(103526), // Rule ID 17068 //
36732 /* 103491 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasUSERMSR_NoEGPR),
36733 /* 103494 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_uwrmsr),
36734 /* 103499 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
36735 /* 103502 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
36736 /* 103505 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36737 /* 103509 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36738 /* 103513 */ // (intrinsic_void 16100:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (UWRMSRrr GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
36739 /* 103513 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UWRMSRrr),
36740 /* 103516 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
36741 /* 103518 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
36742 /* 103520 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36743 /* 103524 */ GIR_RootConstrainSelectedInstOperands,
36744 /* 103525 */ // GIR_Coverage, 17068,
36745 /* 103525 */ GIR_EraseRootFromParent_Done,
36746 /* 103526 */ // Label 2240: @103526
36747 /* 103526 */ GIM_Try, /*On fail goto*//*Label 2241*/ GIMT_Encode4(103566), // Rule ID 17072 //
36748 /* 103531 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasUSERMSR_In64BitMode),
36749 /* 103534 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_uwrmsr),
36750 /* 103539 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
36751 /* 103542 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
36752 /* 103545 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36753 /* 103549 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36754 /* 103553 */ // (intrinsic_void 16100:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (UWRMSRrr_EVEX GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
36755 /* 103553 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UWRMSRrr_EVEX),
36756 /* 103556 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
36757 /* 103558 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
36758 /* 103560 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36759 /* 103564 */ GIR_RootConstrainSelectedInstOperands,
36760 /* 103565 */ // GIR_Coverage, 17072,
36761 /* 103565 */ GIR_EraseRootFromParent_Done,
36762 /* 103566 */ // Label 2241: @103566
36763 /* 103566 */ GIM_Reject,
36764 /* 103567 */ // Label 2179: @103567
36765 /* 103567 */ GIM_Try, /*On fail goto*//*Label 2242*/ GIMT_Encode4(106842),
36766 /* 103572 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/4,
36767 /* 103575 */ GIM_Try, /*On fail goto*//*Label 2243*/ GIMT_Encode4(103647), // Rule ID 123 //
36768 /* 103580 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
36769 /* 103583 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_lwpval32),
36770 /* 103588 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36771 /* 103591 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36772 /* 103594 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36773 /* 103598 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
36774 /* 103602 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
36775 /* 103606 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
36776 /* 103609 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
36777 /* 103613 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
36778 /* 103617 */ // MIs[0] cntl
36779 /* 103617 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
36780 /* 103620 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
36781 /* 103622 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36782 /* 103629 */ // (intrinsic_void 15742:{ *:[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)
36783 /* 103629 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LWPVAL32rmi),
36784 /* 103632 */ GIR_RootToRootCopy, /*OpIdx*/1, // src0
36785 /* 103634 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
36786 /* 103638 */ GIR_RootToRootCopy, /*OpIdx*/3, // cntl
36787 /* 103640 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
36788 /* 103645 */ GIR_RootConstrainSelectedInstOperands,
36789 /* 103646 */ // GIR_Coverage, 123,
36790 /* 103646 */ GIR_EraseRootFromParent_Done,
36791 /* 103647 */ // Label 2243: @103647
36792 /* 103647 */ GIM_Try, /*On fail goto*//*Label 2244*/ GIMT_Encode4(103719), // Rule ID 125 //
36793 /* 103652 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
36794 /* 103655 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_lwpval64),
36795 /* 103660 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
36796 /* 103663 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36797 /* 103666 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36798 /* 103670 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
36799 /* 103674 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
36800 /* 103678 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
36801 /* 103681 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
36802 /* 103685 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
36803 /* 103689 */ // MIs[0] cntl
36804 /* 103689 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
36805 /* 103692 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
36806 /* 103694 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36807 /* 103701 */ // (intrinsic_void 15743:{ *:[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)
36808 /* 103701 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LWPVAL64rmi),
36809 /* 103704 */ GIR_RootToRootCopy, /*OpIdx*/1, // src0
36810 /* 103706 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
36811 /* 103710 */ GIR_RootToRootCopy, /*OpIdx*/3, // cntl
36812 /* 103712 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
36813 /* 103717 */ GIR_RootConstrainSelectedInstOperands,
36814 /* 103718 */ // GIR_Coverage, 125,
36815 /* 103718 */ GIR_EraseRootFromParent_Done,
36816 /* 103719 */ // Label 2244: @103719
36817 /* 103719 */ GIM_Try, /*On fail goto*//*Label 2245*/ GIMT_Encode4(103774), // Rule ID 3387 //
36818 /* 103724 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
36819 /* 103727 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_maskload_ps),
36820 /* 103732 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
36821 /* 103735 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
36822 /* 103738 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36823 /* 103742 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36824 /* 103746 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36825 /* 103750 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36826 /* 103757 */ // (intrinsic_w_chain:{ *:[v4f32] } 14588:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v4i32] }:$src1) => (VMASKMOVPSrm:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
36827 /* 103757 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPSrm),
36828 /* 103760 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36829 /* 103762 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
36830 /* 103764 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36831 /* 103768 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36832 /* 103772 */ GIR_RootConstrainSelectedInstOperands,
36833 /* 103773 */ // GIR_Coverage, 3387,
36834 /* 103773 */ GIR_EraseRootFromParent_Done,
36835 /* 103774 */ // Label 2245: @103774
36836 /* 103774 */ GIM_Try, /*On fail goto*//*Label 2246*/ GIMT_Encode4(103829), // Rule ID 3388 //
36837 /* 103779 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
36838 /* 103782 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_maskload_ps_256),
36839 /* 103787 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
36840 /* 103790 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
36841 /* 103793 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36842 /* 103797 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36843 /* 103801 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36844 /* 103805 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36845 /* 103812 */ // (intrinsic_w_chain:{ *:[v8f32] } 14589:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v8i32] }:$src1) => (VMASKMOVPSYrm:{ *:[v8f32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
36846 /* 103812 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPSYrm),
36847 /* 103815 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36848 /* 103817 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
36849 /* 103819 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36850 /* 103823 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36851 /* 103827 */ GIR_RootConstrainSelectedInstOperands,
36852 /* 103828 */ // GIR_Coverage, 3388,
36853 /* 103828 */ GIR_EraseRootFromParent_Done,
36854 /* 103829 */ // Label 2246: @103829
36855 /* 103829 */ GIM_Try, /*On fail goto*//*Label 2247*/ GIMT_Encode4(103884), // Rule ID 3391 //
36856 /* 103834 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
36857 /* 103837 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_maskload_pd),
36858 /* 103842 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
36859 /* 103845 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
36860 /* 103848 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36861 /* 103852 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36862 /* 103856 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36863 /* 103860 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36864 /* 103867 */ // (intrinsic_w_chain:{ *:[v2f64] } 14586:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v2i64] }:$src1) => (VMASKMOVPDrm:{ *:[v2f64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
36865 /* 103867 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPDrm),
36866 /* 103870 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36867 /* 103872 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
36868 /* 103874 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36869 /* 103878 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36870 /* 103882 */ GIR_RootConstrainSelectedInstOperands,
36871 /* 103883 */ // GIR_Coverage, 3391,
36872 /* 103883 */ GIR_EraseRootFromParent_Done,
36873 /* 103884 */ // Label 2247: @103884
36874 /* 103884 */ GIM_Try, /*On fail goto*//*Label 2248*/ GIMT_Encode4(103939), // Rule ID 3392 //
36875 /* 103889 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
36876 /* 103892 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_maskload_pd_256),
36877 /* 103897 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
36878 /* 103900 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
36879 /* 103903 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36880 /* 103907 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36881 /* 103911 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36882 /* 103915 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36883 /* 103922 */ // (intrinsic_w_chain:{ *:[v4f64] } 14587:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v4i64] }:$src1) => (VMASKMOVPDYrm:{ *:[v4f64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
36884 /* 103922 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPDYrm),
36885 /* 103925 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36886 /* 103927 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
36887 /* 103929 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36888 /* 103933 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36889 /* 103937 */ GIR_RootConstrainSelectedInstOperands,
36890 /* 103938 */ // GIR_Coverage, 3392,
36891 /* 103938 */ GIR_EraseRootFromParent_Done,
36892 /* 103939 */ // Label 2248: @103939
36893 /* 103939 */ GIM_Try, /*On fail goto*//*Label 2249*/ GIMT_Encode4(103994), // Rule ID 3465 //
36894 /* 103944 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
36895 /* 103947 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_maskload_d),
36896 /* 103952 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
36897 /* 103955 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
36898 /* 103958 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36899 /* 103962 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36900 /* 103966 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36901 /* 103970 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36902 /* 103977 */ // (intrinsic_w_chain:{ *:[v4i32] } 14886:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v4i32] }:$src1) => (VPMASKMOVDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
36903 /* 103977 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVDrm),
36904 /* 103980 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36905 /* 103982 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
36906 /* 103984 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36907 /* 103988 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36908 /* 103992 */ GIR_RootConstrainSelectedInstOperands,
36909 /* 103993 */ // GIR_Coverage, 3465,
36910 /* 103993 */ GIR_EraseRootFromParent_Done,
36911 /* 103994 */ // Label 2249: @103994
36912 /* 103994 */ GIM_Try, /*On fail goto*//*Label 2250*/ GIMT_Encode4(104049), // Rule ID 3466 //
36913 /* 103999 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
36914 /* 104002 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_maskload_d_256),
36915 /* 104007 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
36916 /* 104010 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
36917 /* 104013 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36918 /* 104017 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36919 /* 104021 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36920 /* 104025 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36921 /* 104032 */ // (intrinsic_w_chain:{ *:[v8i32] } 14887:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v8i32] }:$src1) => (VPMASKMOVDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
36922 /* 104032 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVDYrm),
36923 /* 104035 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36924 /* 104037 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
36925 /* 104039 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36926 /* 104043 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36927 /* 104047 */ GIR_RootConstrainSelectedInstOperands,
36928 /* 104048 */ // GIR_Coverage, 3466,
36929 /* 104048 */ GIR_EraseRootFromParent_Done,
36930 /* 104049 */ // Label 2250: @104049
36931 /* 104049 */ GIM_Try, /*On fail goto*//*Label 2251*/ GIMT_Encode4(104104), // Rule ID 3469 //
36932 /* 104054 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
36933 /* 104057 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_maskload_q),
36934 /* 104062 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
36935 /* 104065 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
36936 /* 104068 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36937 /* 104072 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36938 /* 104076 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36939 /* 104080 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36940 /* 104087 */ // (intrinsic_w_chain:{ *:[v2i64] } 14888:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v2i64] }:$src1) => (VPMASKMOVQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
36941 /* 104087 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVQrm),
36942 /* 104090 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36943 /* 104092 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
36944 /* 104094 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36945 /* 104098 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36946 /* 104102 */ GIR_RootConstrainSelectedInstOperands,
36947 /* 104103 */ // GIR_Coverage, 3469,
36948 /* 104103 */ GIR_EraseRootFromParent_Done,
36949 /* 104104 */ // Label 2251: @104104
36950 /* 104104 */ GIM_Try, /*On fail goto*//*Label 2252*/ GIMT_Encode4(104159), // Rule ID 3470 //
36951 /* 104109 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
36952 /* 104112 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_maskload_q_256),
36953 /* 104117 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
36954 /* 104120 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
36955 /* 104123 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36956 /* 104127 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36957 /* 104131 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36958 /* 104135 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36959 /* 104142 */ // (intrinsic_w_chain:{ *:[v4i64] } 14889:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v4i64] }:$src1) => (VPMASKMOVQYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
36960 /* 104142 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVQYrm),
36961 /* 104145 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36962 /* 104147 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
36963 /* 104149 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36964 /* 104153 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36965 /* 104157 */ GIR_RootConstrainSelectedInstOperands,
36966 /* 104158 */ // GIR_Coverage, 3470,
36967 /* 104158 */ GIR_EraseRootFromParent_Done,
36968 /* 104159 */ // Label 2252: @104159
36969 /* 104159 */ GIM_Try, /*On fail goto*//*Label 2253*/ GIMT_Encode4(104214), // Rule ID 3389 //
36970 /* 104164 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
36971 /* 104167 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_maskstore_ps),
36972 /* 104172 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
36973 /* 104175 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
36974 /* 104178 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36975 /* 104182 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36976 /* 104186 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36977 /* 104190 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36978 /* 104197 */ // (intrinsic_void 14592:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VMASKMOVPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4f32] }:$src2)
36979 /* 104197 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPSmr),
36980 /* 104200 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36981 /* 104204 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
36982 /* 104206 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
36983 /* 104208 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36984 /* 104212 */ GIR_RootConstrainSelectedInstOperands,
36985 /* 104213 */ // GIR_Coverage, 3389,
36986 /* 104213 */ GIR_EraseRootFromParent_Done,
36987 /* 104214 */ // Label 2253: @104214
36988 /* 104214 */ GIM_Try, /*On fail goto*//*Label 2254*/ GIMT_Encode4(104269), // Rule ID 3390 //
36989 /* 104219 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
36990 /* 104222 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_maskstore_ps_256),
36991 /* 104227 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
36992 /* 104230 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
36993 /* 104233 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36994 /* 104237 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36995 /* 104241 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36996 /* 104245 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36997 /* 104252 */ // (intrinsic_void 14593:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VMASKMOVPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8f32] }:$src2)
36998 /* 104252 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPSYmr),
36999 /* 104255 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37000 /* 104259 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37001 /* 104261 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37002 /* 104263 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37003 /* 104267 */ GIR_RootConstrainSelectedInstOperands,
37004 /* 104268 */ // GIR_Coverage, 3390,
37005 /* 104268 */ GIR_EraseRootFromParent_Done,
37006 /* 104269 */ // Label 2254: @104269
37007 /* 104269 */ GIM_Try, /*On fail goto*//*Label 2255*/ GIMT_Encode4(104324), // Rule ID 3393 //
37008 /* 104274 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
37009 /* 104277 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_maskstore_pd),
37010 /* 104282 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
37011 /* 104285 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
37012 /* 104288 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37013 /* 104292 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37014 /* 104296 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37015 /* 104300 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37016 /* 104307 */ // (intrinsic_void 14590:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VMASKMOVPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2f64] }:$src2)
37017 /* 104307 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPDmr),
37018 /* 104310 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37019 /* 104314 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37020 /* 104316 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37021 /* 104318 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37022 /* 104322 */ GIR_RootConstrainSelectedInstOperands,
37023 /* 104323 */ // GIR_Coverage, 3393,
37024 /* 104323 */ GIR_EraseRootFromParent_Done,
37025 /* 104324 */ // Label 2255: @104324
37026 /* 104324 */ GIM_Try, /*On fail goto*//*Label 2256*/ GIMT_Encode4(104379), // Rule ID 3394 //
37027 /* 104329 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
37028 /* 104332 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_maskstore_pd_256),
37029 /* 104337 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
37030 /* 104340 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
37031 /* 104343 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37032 /* 104347 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37033 /* 104351 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37034 /* 104355 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37035 /* 104362 */ // (intrinsic_void 14591:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VMASKMOVPDYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4f64] }:$src2)
37036 /* 104362 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPDYmr),
37037 /* 104365 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37038 /* 104369 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37039 /* 104371 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37040 /* 104373 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37041 /* 104377 */ GIR_RootConstrainSelectedInstOperands,
37042 /* 104378 */ // GIR_Coverage, 3394,
37043 /* 104378 */ GIR_EraseRootFromParent_Done,
37044 /* 104379 */ // Label 2256: @104379
37045 /* 104379 */ GIM_Try, /*On fail goto*//*Label 2257*/ GIMT_Encode4(104434), // Rule ID 3467 //
37046 /* 104384 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
37047 /* 104387 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx2_maskstore_d),
37048 /* 104392 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
37049 /* 104395 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
37050 /* 104398 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37051 /* 104402 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37052 /* 104406 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37053 /* 104410 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37054 /* 104417 */ // (intrinsic_void 14890:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMASKMOVDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
37055 /* 104417 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVDmr),
37056 /* 104420 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37057 /* 104424 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37058 /* 104426 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37059 /* 104428 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37060 /* 104432 */ GIR_RootConstrainSelectedInstOperands,
37061 /* 104433 */ // GIR_Coverage, 3467,
37062 /* 104433 */ GIR_EraseRootFromParent_Done,
37063 /* 104434 */ // Label 2257: @104434
37064 /* 104434 */ GIM_Try, /*On fail goto*//*Label 2258*/ GIMT_Encode4(104489), // Rule ID 3468 //
37065 /* 104439 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
37066 /* 104442 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx2_maskstore_d_256),
37067 /* 104447 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
37068 /* 104450 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
37069 /* 104453 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37070 /* 104457 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37071 /* 104461 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37072 /* 104465 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37073 /* 104472 */ // (intrinsic_void 14891:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMASKMOVDYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
37074 /* 104472 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVDYmr),
37075 /* 104475 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37076 /* 104479 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37077 /* 104481 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37078 /* 104483 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37079 /* 104487 */ GIR_RootConstrainSelectedInstOperands,
37080 /* 104488 */ // GIR_Coverage, 3468,
37081 /* 104488 */ GIR_EraseRootFromParent_Done,
37082 /* 104489 */ // Label 2258: @104489
37083 /* 104489 */ GIM_Try, /*On fail goto*//*Label 2259*/ GIMT_Encode4(104544), // Rule ID 3471 //
37084 /* 104494 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
37085 /* 104497 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx2_maskstore_q),
37086 /* 104502 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
37087 /* 104505 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
37088 /* 104508 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37089 /* 104512 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37090 /* 104516 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37091 /* 104520 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37092 /* 104527 */ // (intrinsic_void 14892:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPMASKMOVQmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
37093 /* 104527 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVQmr),
37094 /* 104530 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37095 /* 104534 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37096 /* 104536 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37097 /* 104538 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37098 /* 104542 */ GIR_RootConstrainSelectedInstOperands,
37099 /* 104543 */ // GIR_Coverage, 3471,
37100 /* 104543 */ GIR_EraseRootFromParent_Done,
37101 /* 104544 */ // Label 2259: @104544
37102 /* 104544 */ GIM_Try, /*On fail goto*//*Label 2260*/ GIMT_Encode4(104599), // Rule ID 3472 //
37103 /* 104549 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
37104 /* 104552 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx2_maskstore_q_256),
37105 /* 104557 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
37106 /* 104560 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
37107 /* 104563 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37108 /* 104567 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37109 /* 104571 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37110 /* 104575 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37111 /* 104582 */ // (intrinsic_void 14893:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPMASKMOVQYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
37112 /* 104582 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVQYmr),
37113 /* 104585 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37114 /* 104589 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37115 /* 104591 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37116 /* 104593 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37117 /* 104597 */ GIR_RootConstrainSelectedInstOperands,
37118 /* 104598 */ // GIR_Coverage, 3472,
37119 /* 104598 */ GIR_EraseRootFromParent_Done,
37120 /* 104599 */ // Label 2260: @104599
37121 /* 104599 */ GIM_Try, /*On fail goto*//*Label 2261*/ GIMT_Encode4(104678), // Rule ID 17093 //
37122 /* 104604 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVE),
37123 /* 104607 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsave),
37124 /* 104612 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37125 /* 104615 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37126 /* 104618 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37127 /* 104622 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
37128 /* 104626 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37129 /* 104630 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37130 /* 104637 */ // (intrinsic_void 16204:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVE addr:{ *:[iPTR] }:$dst)
37131 /* 104637 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37132 /* 104641 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37133 /* 104647 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
37134 /* 104651 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37135 /* 104655 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37136 /* 104661 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
37137 /* 104665 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVE),
37138 /* 104668 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37139 /* 104672 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37140 /* 104676 */ GIR_RootConstrainSelectedInstOperands,
37141 /* 104677 */ // GIR_Coverage, 17093,
37142 /* 104677 */ GIR_EraseRootFromParent_Done,
37143 /* 104678 */ // Label 2261: @104678
37144 /* 104678 */ GIM_Try, /*On fail goto*//*Label 2262*/ GIMT_Encode4(104757), // Rule ID 17094 //
37145 /* 104683 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVE_In64BitMode),
37146 /* 104686 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsave64),
37147 /* 104691 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37148 /* 104694 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37149 /* 104697 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37150 /* 104701 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
37151 /* 104705 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37152 /* 104709 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37153 /* 104716 */ // (intrinsic_void 16205:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVE64 addr:{ *:[iPTR] }:$dst)
37154 /* 104716 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37155 /* 104720 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37156 /* 104726 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
37157 /* 104730 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37158 /* 104734 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37159 /* 104740 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
37160 /* 104744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVE64),
37161 /* 104747 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37162 /* 104751 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37163 /* 104755 */ GIR_RootConstrainSelectedInstOperands,
37164 /* 104756 */ // GIR_Coverage, 17094,
37165 /* 104756 */ GIR_EraseRootFromParent_Done,
37166 /* 104757 */ // Label 2262: @104757
37167 /* 104757 */ GIM_Try, /*On fail goto*//*Label 2263*/ GIMT_Encode4(104836), // Rule ID 17095 //
37168 /* 104762 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVE),
37169 /* 104765 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xrstor),
37170 /* 104770 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37171 /* 104773 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37172 /* 104776 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37173 /* 104780 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
37174 /* 104784 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37175 /* 104788 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37176 /* 104795 */ // (intrinsic_void 16200:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XRSTOR addr:{ *:[iPTR] }:$dst)
37177 /* 104795 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37178 /* 104799 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37179 /* 104805 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
37180 /* 104809 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37181 /* 104813 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37182 /* 104819 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
37183 /* 104823 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRSTOR),
37184 /* 104826 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37185 /* 104830 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37186 /* 104834 */ GIR_RootConstrainSelectedInstOperands,
37187 /* 104835 */ // GIR_Coverage, 17095,
37188 /* 104835 */ GIR_EraseRootFromParent_Done,
37189 /* 104836 */ // Label 2263: @104836
37190 /* 104836 */ GIM_Try, /*On fail goto*//*Label 2264*/ GIMT_Encode4(104915), // Rule ID 17096 //
37191 /* 104841 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVE_In64BitMode),
37192 /* 104844 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xrstor64),
37193 /* 104849 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37194 /* 104852 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37195 /* 104855 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37196 /* 104859 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
37197 /* 104863 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37198 /* 104867 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37199 /* 104874 */ // (intrinsic_void 16201:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XRSTOR64 addr:{ *:[iPTR] }:$dst)
37200 /* 104874 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37201 /* 104878 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37202 /* 104884 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
37203 /* 104888 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37204 /* 104892 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37205 /* 104898 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
37206 /* 104902 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRSTOR64),
37207 /* 104905 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37208 /* 104909 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37209 /* 104913 */ GIR_RootConstrainSelectedInstOperands,
37210 /* 104914 */ // GIR_Coverage, 17096,
37211 /* 104914 */ GIR_EraseRootFromParent_Done,
37212 /* 104915 */ // Label 2264: @104915
37213 /* 104915 */ GIM_Try, /*On fail goto*//*Label 2265*/ GIMT_Encode4(104994), // Rule ID 17097 //
37214 /* 104920 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVEOPT),
37215 /* 104923 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsaveopt),
37216 /* 104928 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37217 /* 104931 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37218 /* 104934 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37219 /* 104938 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
37220 /* 104942 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37221 /* 104946 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37222 /* 104953 */ // (intrinsic_void 16208:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVEOPT addr:{ *:[iPTR] }:$dst)
37223 /* 104953 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37224 /* 104957 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37225 /* 104963 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
37226 /* 104967 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37227 /* 104971 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37228 /* 104977 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
37229 /* 104981 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVEOPT),
37230 /* 104984 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37231 /* 104988 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37232 /* 104992 */ GIR_RootConstrainSelectedInstOperands,
37233 /* 104993 */ // GIR_Coverage, 17097,
37234 /* 104993 */ GIR_EraseRootFromParent_Done,
37235 /* 104994 */ // Label 2265: @104994
37236 /* 104994 */ GIM_Try, /*On fail goto*//*Label 2266*/ GIMT_Encode4(105073), // Rule ID 17098 //
37237 /* 104999 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVEOPT_In64BitMode),
37238 /* 105002 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsaveopt64),
37239 /* 105007 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37240 /* 105010 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37241 /* 105013 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37242 /* 105017 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
37243 /* 105021 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37244 /* 105025 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37245 /* 105032 */ // (intrinsic_void 16209:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVEOPT64 addr:{ *:[iPTR] }:$dst)
37246 /* 105032 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37247 /* 105036 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37248 /* 105042 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
37249 /* 105046 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37250 /* 105050 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37251 /* 105056 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
37252 /* 105060 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVEOPT64),
37253 /* 105063 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37254 /* 105067 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37255 /* 105071 */ GIR_RootConstrainSelectedInstOperands,
37256 /* 105072 */ // GIR_Coverage, 17098,
37257 /* 105072 */ GIR_EraseRootFromParent_Done,
37258 /* 105073 */ // Label 2266: @105073
37259 /* 105073 */ GIM_Try, /*On fail goto*//*Label 2267*/ GIMT_Encode4(105152), // Rule ID 17099 //
37260 /* 105078 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVEC),
37261 /* 105081 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsavec),
37262 /* 105086 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37263 /* 105089 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37264 /* 105092 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37265 /* 105096 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
37266 /* 105100 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37267 /* 105104 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37268 /* 105111 */ // (intrinsic_void 16206:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVEC addr:{ *:[iPTR] }:$dst)
37269 /* 105111 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37270 /* 105115 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37271 /* 105121 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
37272 /* 105125 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37273 /* 105129 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37274 /* 105135 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
37275 /* 105139 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVEC),
37276 /* 105142 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37277 /* 105146 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37278 /* 105150 */ GIR_RootConstrainSelectedInstOperands,
37279 /* 105151 */ // GIR_Coverage, 17099,
37280 /* 105151 */ GIR_EraseRootFromParent_Done,
37281 /* 105152 */ // Label 2267: @105152
37282 /* 105152 */ GIM_Try, /*On fail goto*//*Label 2268*/ GIMT_Encode4(105231), // Rule ID 17100 //
37283 /* 105157 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVEC_In64BitMode),
37284 /* 105160 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsavec64),
37285 /* 105165 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37286 /* 105168 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37287 /* 105171 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37288 /* 105175 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
37289 /* 105179 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37290 /* 105183 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37291 /* 105190 */ // (intrinsic_void 16207:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVEC64 addr:{ *:[iPTR] }:$dst)
37292 /* 105190 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37293 /* 105194 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37294 /* 105200 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
37295 /* 105204 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37296 /* 105208 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37297 /* 105214 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
37298 /* 105218 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVEC64),
37299 /* 105221 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37300 /* 105225 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37301 /* 105229 */ GIR_RootConstrainSelectedInstOperands,
37302 /* 105230 */ // GIR_Coverage, 17100,
37303 /* 105230 */ GIR_EraseRootFromParent_Done,
37304 /* 105231 */ // Label 2268: @105231
37305 /* 105231 */ GIM_Try, /*On fail goto*//*Label 2269*/ GIMT_Encode4(105310), // Rule ID 17101 //
37306 /* 105236 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVES),
37307 /* 105239 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsaves),
37308 /* 105244 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37309 /* 105247 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37310 /* 105250 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37311 /* 105254 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
37312 /* 105258 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37313 /* 105262 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37314 /* 105269 */ // (intrinsic_void 16210:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVES addr:{ *:[iPTR] }:$dst)
37315 /* 105269 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37316 /* 105273 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37317 /* 105279 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
37318 /* 105283 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37319 /* 105287 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37320 /* 105293 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
37321 /* 105297 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVES),
37322 /* 105300 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37323 /* 105304 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37324 /* 105308 */ GIR_RootConstrainSelectedInstOperands,
37325 /* 105309 */ // GIR_Coverage, 17101,
37326 /* 105309 */ GIR_EraseRootFromParent_Done,
37327 /* 105310 */ // Label 2269: @105310
37328 /* 105310 */ GIM_Try, /*On fail goto*//*Label 2270*/ GIMT_Encode4(105389), // Rule ID 17102 //
37329 /* 105315 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVE_In64BitMode),
37330 /* 105318 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsaves64),
37331 /* 105323 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37332 /* 105326 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37333 /* 105329 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37334 /* 105333 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
37335 /* 105337 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37336 /* 105341 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37337 /* 105348 */ // (intrinsic_void 16211:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVES64 addr:{ *:[iPTR] }:$dst)
37338 /* 105348 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37339 /* 105352 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37340 /* 105358 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
37341 /* 105362 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37342 /* 105366 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37343 /* 105372 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
37344 /* 105376 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVES64),
37345 /* 105379 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37346 /* 105383 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37347 /* 105387 */ GIR_RootConstrainSelectedInstOperands,
37348 /* 105388 */ // GIR_Coverage, 17102,
37349 /* 105388 */ GIR_EraseRootFromParent_Done,
37350 /* 105389 */ // Label 2270: @105389
37351 /* 105389 */ GIM_Try, /*On fail goto*//*Label 2271*/ GIMT_Encode4(105468), // Rule ID 17103 //
37352 /* 105394 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVES),
37353 /* 105397 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xrstors),
37354 /* 105402 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37355 /* 105405 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37356 /* 105408 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37357 /* 105412 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
37358 /* 105416 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37359 /* 105420 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37360 /* 105427 */ // (intrinsic_void 16202:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XRSTORS addr:{ *:[iPTR] }:$dst)
37361 /* 105427 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37362 /* 105431 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37363 /* 105437 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
37364 /* 105441 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37365 /* 105445 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37366 /* 105451 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
37367 /* 105455 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRSTORS),
37368 /* 105458 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37369 /* 105462 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37370 /* 105466 */ GIR_RootConstrainSelectedInstOperands,
37371 /* 105467 */ // GIR_Coverage, 17103,
37372 /* 105467 */ GIR_EraseRootFromParent_Done,
37373 /* 105468 */ // Label 2271: @105468
37374 /* 105468 */ GIM_Try, /*On fail goto*//*Label 2272*/ GIMT_Encode4(105547), // Rule ID 17104 //
37375 /* 105473 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVES_In64BitMode),
37376 /* 105476 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xrstors64),
37377 /* 105481 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37378 /* 105484 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37379 /* 105487 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37380 /* 105491 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
37381 /* 105495 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37382 /* 105499 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37383 /* 105506 */ // (intrinsic_void 16203:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XRSTORS64 addr:{ *:[iPTR] }:$dst)
37384 /* 105506 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37385 /* 105510 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37386 /* 105516 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
37387 /* 105520 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37388 /* 105524 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37389 /* 105530 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
37390 /* 105534 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRSTORS64),
37391 /* 105537 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37392 /* 105541 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37393 /* 105545 */ GIR_RootConstrainSelectedInstOperands,
37394 /* 105546 */ // GIR_Coverage, 17104,
37395 /* 105546 */ GIR_EraseRootFromParent_Done,
37396 /* 105547 */ // Label 2272: @105547
37397 /* 105547 */ GIM_Try, /*On fail goto*//*Label 2273*/ GIMT_Encode4(105584), // Rule ID 17008 //
37398 /* 105552 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXINT8_In64BitMode),
37399 /* 105555 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbssd),
37400 /* 105560 */ // MIs[0] src1
37401 /* 105560 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37402 /* 105563 */ // MIs[0] src2
37403 /* 105563 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37404 /* 105566 */ // MIs[0] src3
37405 /* 105566 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37406 /* 105569 */ // (intrinsic_void 16063:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBSSD (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37407 /* 105569 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBSSD),
37408 /* 105572 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37409 /* 105574 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37410 /* 105576 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37411 /* 105578 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37412 /* 105582 */ GIR_RootConstrainSelectedInstOperands,
37413 /* 105583 */ // GIR_Coverage, 17008,
37414 /* 105583 */ GIR_EraseRootFromParent_Done,
37415 /* 105584 */ // Label 2273: @105584
37416 /* 105584 */ GIM_Try, /*On fail goto*//*Label 2274*/ GIMT_Encode4(105621), // Rule ID 17009 //
37417 /* 105589 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXINT8_In64BitMode),
37418 /* 105592 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbsud),
37419 /* 105597 */ // MIs[0] src1
37420 /* 105597 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37421 /* 105600 */ // MIs[0] src2
37422 /* 105600 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37423 /* 105603 */ // MIs[0] src3
37424 /* 105603 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37425 /* 105606 */ // (intrinsic_void 16065:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBSUD (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37426 /* 105606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBSUD),
37427 /* 105609 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37428 /* 105611 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37429 /* 105613 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37430 /* 105615 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37431 /* 105619 */ GIR_RootConstrainSelectedInstOperands,
37432 /* 105620 */ // GIR_Coverage, 17009,
37433 /* 105620 */ GIR_EraseRootFromParent_Done,
37434 /* 105621 */ // Label 2274: @105621
37435 /* 105621 */ GIM_Try, /*On fail goto*//*Label 2275*/ GIMT_Encode4(105658), // Rule ID 17010 //
37436 /* 105626 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXINT8_In64BitMode),
37437 /* 105629 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbusd),
37438 /* 105634 */ // MIs[0] src1
37439 /* 105634 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37440 /* 105637 */ // MIs[0] src2
37441 /* 105637 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37442 /* 105640 */ // MIs[0] src3
37443 /* 105640 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37444 /* 105643 */ // (intrinsic_void 16067:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBUSD (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37445 /* 105643 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBUSD),
37446 /* 105646 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37447 /* 105648 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37448 /* 105650 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37449 /* 105652 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37450 /* 105656 */ GIR_RootConstrainSelectedInstOperands,
37451 /* 105657 */ // GIR_Coverage, 17010,
37452 /* 105657 */ GIR_EraseRootFromParent_Done,
37453 /* 105658 */ // Label 2275: @105658
37454 /* 105658 */ GIM_Try, /*On fail goto*//*Label 2276*/ GIMT_Encode4(105695), // Rule ID 17011 //
37455 /* 105663 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXINT8_In64BitMode),
37456 /* 105666 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbuud),
37457 /* 105671 */ // MIs[0] src1
37458 /* 105671 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37459 /* 105674 */ // MIs[0] src2
37460 /* 105674 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37461 /* 105677 */ // MIs[0] src3
37462 /* 105677 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37463 /* 105680 */ // (intrinsic_void 16069:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBUUD (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37464 /* 105680 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBUUD),
37465 /* 105683 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37466 /* 105685 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37467 /* 105687 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37468 /* 105689 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37469 /* 105693 */ GIR_RootConstrainSelectedInstOperands,
37470 /* 105694 */ // GIR_Coverage, 17011,
37471 /* 105694 */ GIR_EraseRootFromParent_Done,
37472 /* 105695 */ // Label 2276: @105695
37473 /* 105695 */ GIM_Try, /*On fail goto*//*Label 2277*/ GIMT_Encode4(105732), // Rule ID 17013 //
37474 /* 105700 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXBF16_In64BitMode),
37475 /* 105703 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbf16ps),
37476 /* 105708 */ // MIs[0] src1
37477 /* 105708 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37478 /* 105711 */ // MIs[0] src2
37479 /* 105711 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37480 /* 105714 */ // MIs[0] src3
37481 /* 105714 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37482 /* 105717 */ // (intrinsic_void 16057:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBF16PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37483 /* 105717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBF16PS),
37484 /* 105720 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37485 /* 105722 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37486 /* 105724 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37487 /* 105726 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37488 /* 105730 */ GIR_RootConstrainSelectedInstOperands,
37489 /* 105731 */ // GIR_Coverage, 17013,
37490 /* 105731 */ GIR_EraseRootFromParent_Done,
37491 /* 105732 */ // Label 2277: @105732
37492 /* 105732 */ GIM_Try, /*On fail goto*//*Label 2278*/ GIMT_Encode4(105769), // Rule ID 17015 //
37493 /* 105737 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXFP16_In64BitMode),
37494 /* 105740 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpfp16ps),
37495 /* 105745 */ // MIs[0] src1
37496 /* 105745 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37497 /* 105748 */ // MIs[0] src2
37498 /* 105748 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37499 /* 105751 */ // MIs[0] src3
37500 /* 105751 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37501 /* 105754 */ // (intrinsic_void 16071:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPFP16PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37502 /* 105754 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPFP16PS),
37503 /* 105757 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37504 /* 105759 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37505 /* 105761 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37506 /* 105763 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37507 /* 105767 */ GIR_RootConstrainSelectedInstOperands,
37508 /* 105768 */ // GIR_Coverage, 17015,
37509 /* 105768 */ GIR_EraseRootFromParent_Done,
37510 /* 105769 */ // Label 2278: @105769
37511 /* 105769 */ GIM_Try, /*On fail goto*//*Label 2279*/ GIMT_Encode4(105806), // Rule ID 17018 //
37512 /* 105774 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXCOMPLEX_In64BitMode),
37513 /* 105777 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tcmmimfp16ps),
37514 /* 105782 */ // MIs[0] src1
37515 /* 105782 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37516 /* 105785 */ // MIs[0] src2
37517 /* 105785 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37518 /* 105788 */ // MIs[0] src3
37519 /* 105788 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37520 /* 105791 */ // (intrinsic_void 16038:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTCMMIMFP16PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37521 /* 105791 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCMMIMFP16PS),
37522 /* 105794 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37523 /* 105796 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37524 /* 105798 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37525 /* 105800 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37526 /* 105804 */ GIR_RootConstrainSelectedInstOperands,
37527 /* 105805 */ // GIR_Coverage, 17018,
37528 /* 105805 */ GIR_EraseRootFromParent_Done,
37529 /* 105806 */ // Label 2279: @105806
37530 /* 105806 */ GIM_Try, /*On fail goto*//*Label 2280*/ GIMT_Encode4(105843), // Rule ID 17019 //
37531 /* 105811 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXCOMPLEX_In64BitMode),
37532 /* 105814 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tcmmrlfp16ps),
37533 /* 105819 */ // MIs[0] src1
37534 /* 105819 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37535 /* 105822 */ // MIs[0] src2
37536 /* 105822 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37537 /* 105825 */ // MIs[0] src3
37538 /* 105825 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37539 /* 105828 */ // (intrinsic_void 16040:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTCMMRLFP16PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37540 /* 105828 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCMMRLFP16PS),
37541 /* 105831 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37542 /* 105833 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37543 /* 105835 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37544 /* 105837 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37545 /* 105841 */ GIR_RootConstrainSelectedInstOperands,
37546 /* 105842 */ // GIR_Coverage, 17019,
37547 /* 105842 */ GIR_EraseRootFromParent_Done,
37548 /* 105843 */ // Label 2280: @105843
37549 /* 105843 */ GIM_Try, /*On fail goto*//*Label 2281*/ GIMT_Encode4(105880), // Rule ID 17020 //
37550 /* 105848 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXFP8_In64BitMode),
37551 /* 105851 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbf8ps),
37552 /* 105856 */ // MIs[0] src1
37553 /* 105856 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37554 /* 105859 */ // MIs[0] src2
37555 /* 105859 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37556 /* 105862 */ // MIs[0] src3
37557 /* 105862 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37558 /* 105865 */ // (intrinsic_void 16059:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBF8PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37559 /* 105865 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBF8PS),
37560 /* 105868 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37561 /* 105870 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37562 /* 105872 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37563 /* 105874 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37564 /* 105878 */ GIR_RootConstrainSelectedInstOperands,
37565 /* 105879 */ // GIR_Coverage, 17020,
37566 /* 105879 */ GIR_EraseRootFromParent_Done,
37567 /* 105880 */ // Label 2281: @105880
37568 /* 105880 */ GIM_Try, /*On fail goto*//*Label 2282*/ GIMT_Encode4(105917), // Rule ID 17021 //
37569 /* 105885 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXFP8_In64BitMode),
37570 /* 105888 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbhf8ps),
37571 /* 105893 */ // MIs[0] src1
37572 /* 105893 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37573 /* 105896 */ // MIs[0] src2
37574 /* 105896 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37575 /* 105899 */ // MIs[0] src3
37576 /* 105899 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37577 /* 105902 */ // (intrinsic_void 16061:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBHF8PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37578 /* 105902 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBHF8PS),
37579 /* 105905 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37580 /* 105907 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37581 /* 105909 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37582 /* 105911 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37583 /* 105915 */ GIR_RootConstrainSelectedInstOperands,
37584 /* 105916 */ // GIR_Coverage, 17021,
37585 /* 105916 */ GIR_EraseRootFromParent_Done,
37586 /* 105917 */ // Label 2282: @105917
37587 /* 105917 */ GIM_Try, /*On fail goto*//*Label 2283*/ GIMT_Encode4(105954), // Rule ID 17022 //
37588 /* 105922 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXFP8_In64BitMode),
37589 /* 105925 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdphbf8ps),
37590 /* 105930 */ // MIs[0] src1
37591 /* 105930 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37592 /* 105933 */ // MIs[0] src2
37593 /* 105933 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37594 /* 105936 */ // MIs[0] src3
37595 /* 105936 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37596 /* 105939 */ // (intrinsic_void 16073:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPHBF8PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37597 /* 105939 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPHBF8PS),
37598 /* 105942 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37599 /* 105944 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37600 /* 105946 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37601 /* 105948 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37602 /* 105952 */ GIR_RootConstrainSelectedInstOperands,
37603 /* 105953 */ // GIR_Coverage, 17022,
37604 /* 105953 */ GIR_EraseRootFromParent_Done,
37605 /* 105954 */ // Label 2283: @105954
37606 /* 105954 */ GIM_Try, /*On fail goto*//*Label 2284*/ GIMT_Encode4(105991), // Rule ID 17023 //
37607 /* 105959 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXFP8_In64BitMode),
37608 /* 105962 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdphf8ps),
37609 /* 105967 */ // MIs[0] src1
37610 /* 105967 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37611 /* 105970 */ // MIs[0] src2
37612 /* 105970 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37613 /* 105973 */ // MIs[0] src3
37614 /* 105973 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37615 /* 105976 */ // (intrinsic_void 16075:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPHF8PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37616 /* 105976 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPHF8PS),
37617 /* 105979 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37618 /* 105981 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37619 /* 105983 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37620 /* 105985 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37621 /* 105989 */ GIR_RootConstrainSelectedInstOperands,
37622 /* 105990 */ // GIR_Coverage, 17023,
37623 /* 105990 */ GIR_EraseRootFromParent_Done,
37624 /* 105991 */ // Label 2284: @105991
37625 /* 105991 */ GIM_Try, /*On fail goto*//*Label 2285*/ GIMT_Encode4(106028), // Rule ID 17045 //
37626 /* 105996 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTF32_In64BitMode),
37627 /* 105999 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tmmultf32ps),
37628 /* 106004 */ // MIs[0] src1
37629 /* 106004 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37630 /* 106007 */ // MIs[0] src2
37631 /* 106007 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37632 /* 106010 */ // MIs[0] src3
37633 /* 106010 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37634 /* 106013 */ // (intrinsic_void 16094:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTMMULTF32PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37635 /* 106013 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTMMULTF32PS),
37636 /* 106016 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37637 /* 106018 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37638 /* 106020 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37639 /* 106022 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37640 /* 106026 */ GIR_RootConstrainSelectedInstOperands,
37641 /* 106027 */ // GIR_Coverage, 17045,
37642 /* 106027 */ GIR_EraseRootFromParent_Done,
37643 /* 106028 */ // Label 2285: @106028
37644 /* 106028 */ GIM_Try, /*On fail goto*//*Label 2286*/ GIMT_Encode4(106069), // Rule ID 17028 //
37645 /* 106033 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode),
37646 /* 106036 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowd2psi),
37647 /* 106041 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
37648 /* 106044 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37649 /* 106048 */ // MIs[0] src1
37650 /* 106048 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37651 /* 106051 */ // MIs[0] src2
37652 /* 106051 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37653 /* 106054 */ // (intrinsic_w_chain:{ *:[v16f32] } 16044:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2) => (PTCVTROWD2PSrti:{ *:[v16f32] } (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2)
37654 /* 106054 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWD2PSrti),
37655 /* 106057 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37656 /* 106059 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37657 /* 106061 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37658 /* 106063 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37659 /* 106067 */ GIR_RootConstrainSelectedInstOperands,
37660 /* 106068 */ // GIR_Coverage, 17028,
37661 /* 106068 */ GIR_EraseRootFromParent_Done,
37662 /* 106069 */ // Label 2286: @106069
37663 /* 106069 */ GIM_Try, /*On fail goto*//*Label 2287*/ GIMT_Encode4(106110), // Rule ID 17037 //
37664 /* 106074 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode),
37665 /* 106077 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowps2phhi),
37666 /* 106082 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
37667 /* 106085 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37668 /* 106089 */ // MIs[0] src1
37669 /* 106089 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37670 /* 106092 */ // MIs[0] src2
37671 /* 106092 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37672 /* 106095 */ // (intrinsic_w_chain:{ *:[v32f16] } 16053:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2) => (PTCVTROWPS2PHHrti:{ *:[v32f16] } (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2)
37673 /* 106095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWPS2PHHrti),
37674 /* 106098 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37675 /* 106100 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37676 /* 106102 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37677 /* 106104 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37678 /* 106108 */ GIR_RootConstrainSelectedInstOperands,
37679 /* 106109 */ // GIR_Coverage, 17037,
37680 /* 106109 */ GIR_EraseRootFromParent_Done,
37681 /* 106110 */ // Label 2287: @106110
37682 /* 106110 */ GIM_Try, /*On fail goto*//*Label 2288*/ GIMT_Encode4(106151), // Rule ID 17039 //
37683 /* 106115 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode),
37684 /* 106118 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowps2phli),
37685 /* 106123 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
37686 /* 106126 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37687 /* 106130 */ // MIs[0] src1
37688 /* 106130 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37689 /* 106133 */ // MIs[0] src2
37690 /* 106133 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37691 /* 106136 */ // (intrinsic_w_chain:{ *:[v32f16] } 16056:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2) => (PTCVTROWPS2PHLrti:{ *:[v32f16] } (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2)
37692 /* 106136 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWPS2PHLrti),
37693 /* 106139 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37694 /* 106141 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37695 /* 106143 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37696 /* 106145 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37697 /* 106149 */ GIR_RootConstrainSelectedInstOperands,
37698 /* 106150 */ // GIR_Coverage, 17039,
37699 /* 106150 */ GIR_EraseRootFromParent_Done,
37700 /* 106151 */ // Label 2288: @106151
37701 /* 106151 */ GIM_Try, /*On fail goto*//*Label 2289*/ GIMT_Encode4(106192), // Rule ID 17040 //
37702 /* 106156 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode),
37703 /* 106159 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tilemovrowi),
37704 /* 106164 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
37705 /* 106167 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37706 /* 106171 */ // MIs[0] src1
37707 /* 106171 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37708 /* 106174 */ // MIs[0] src2
37709 /* 106174 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37710 /* 106177 */ // (intrinsic_w_chain:{ *:[v16i32] } 16088:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2) => (PTILEMOVROWrti:{ *:[v16i32] } (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2)
37711 /* 106177 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTILEMOVROWrti),
37712 /* 106180 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37713 /* 106182 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37714 /* 106184 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37715 /* 106186 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37716 /* 106190 */ GIR_RootConstrainSelectedInstOperands,
37717 /* 106191 */ // GIR_Coverage, 17040,
37718 /* 106191 */ GIR_EraseRootFromParent_Done,
37719 /* 106192 */ // Label 2289: @106192
37720 /* 106192 */ GIM_Try, /*On fail goto*//*Label 2290*/ GIMT_Encode4(106237), // Rule ID 17029 //
37721 /* 106197 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode),
37722 /* 106200 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowd2ps),
37723 /* 106205 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
37724 /* 106208 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37725 /* 106211 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37726 /* 106215 */ // MIs[0] src1
37727 /* 106215 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37728 /* 106218 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37729 /* 106222 */ // (intrinsic_w_chain:{ *:[v16f32] } 16042:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2) => (PTCVTROWD2PSrte:{ *:[v16f32] } (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2)
37730 /* 106222 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWD2PSrte),
37731 /* 106225 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37732 /* 106227 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37733 /* 106229 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37734 /* 106231 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37735 /* 106235 */ GIR_RootConstrainSelectedInstOperands,
37736 /* 106236 */ // GIR_Coverage, 17029,
37737 /* 106236 */ GIR_EraseRootFromParent_Done,
37738 /* 106237 */ // Label 2290: @106237
37739 /* 106237 */ GIM_Try, /*On fail goto*//*Label 2291*/ GIMT_Encode4(106282), // Rule ID 17036 //
37740 /* 106242 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode),
37741 /* 106245 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowps2phh),
37742 /* 106250 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
37743 /* 106253 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37744 /* 106256 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37745 /* 106260 */ // MIs[0] src1
37746 /* 106260 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37747 /* 106263 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37748 /* 106267 */ // (intrinsic_w_chain:{ *:[v32f16] } 16051:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2) => (PTCVTROWPS2PHHrte:{ *:[v32f16] } (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2)
37749 /* 106267 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWPS2PHHrte),
37750 /* 106270 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37751 /* 106272 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37752 /* 106274 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37753 /* 106276 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37754 /* 106280 */ GIR_RootConstrainSelectedInstOperands,
37755 /* 106281 */ // GIR_Coverage, 17036,
37756 /* 106281 */ GIR_EraseRootFromParent_Done,
37757 /* 106282 */ // Label 2291: @106282
37758 /* 106282 */ GIM_Try, /*On fail goto*//*Label 2292*/ GIMT_Encode4(106327), // Rule ID 17038 //
37759 /* 106287 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode),
37760 /* 106290 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowps2phl),
37761 /* 106295 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
37762 /* 106298 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37763 /* 106301 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37764 /* 106305 */ // MIs[0] src1
37765 /* 106305 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37766 /* 106308 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37767 /* 106312 */ // (intrinsic_w_chain:{ *:[v32f16] } 16054:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2) => (PTCVTROWPS2PHLrte:{ *:[v32f16] } (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2)
37768 /* 106312 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWPS2PHLrte),
37769 /* 106315 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37770 /* 106317 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37771 /* 106319 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37772 /* 106321 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37773 /* 106325 */ GIR_RootConstrainSelectedInstOperands,
37774 /* 106326 */ // GIR_Coverage, 17038,
37775 /* 106326 */ GIR_EraseRootFromParent_Done,
37776 /* 106327 */ // Label 2292: @106327
37777 /* 106327 */ GIM_Try, /*On fail goto*//*Label 2293*/ GIMT_Encode4(106372), // Rule ID 17041 //
37778 /* 106332 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode),
37779 /* 106335 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tilemovrow),
37780 /* 106340 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
37781 /* 106343 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37782 /* 106346 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37783 /* 106350 */ // MIs[0] src1
37784 /* 106350 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37785 /* 106353 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37786 /* 106357 */ // (intrinsic_w_chain:{ *:[v16i32] } 16086:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2) => (PTILEMOVROWrte:{ *:[v16i32] } (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2)
37787 /* 106357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTILEMOVROWrte),
37788 /* 106360 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37789 /* 106362 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37790 /* 106364 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37791 /* 106366 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37792 /* 106370 */ GIR_RootConstrainSelectedInstOperands,
37793 /* 106371 */ // GIR_Coverage, 17041,
37794 /* 106371 */ GIR_EraseRootFromParent_Done,
37795 /* 106372 */ // Label 2293: @106372
37796 /* 106372 */ GIM_Try, /*On fail goto*//*Label 2294*/ GIMT_Encode4(106417), // Rule ID 122 //
37797 /* 106377 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
37798 /* 106380 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_lwpval32),
37799 /* 106385 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37800 /* 106388 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37801 /* 106391 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37802 /* 106395 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37803 /* 106399 */ // MIs[0] cntl
37804 /* 106399 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37805 /* 106402 */ // (intrinsic_void 15742:{ *:[iPTR] }, GR32:{ *:[i32] }:$src0, GR32:{ *:[i32] }:$src1, (timm:{ *:[i32] }):$cntl) => (LWPVAL32rri GR32:{ *:[i32] }:$src0, GR32:{ *:[i32] }:$src1, (timm:{ *:[i32] }):$cntl)
37806 /* 106402 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LWPVAL32rri),
37807 /* 106405 */ GIR_RootToRootCopy, /*OpIdx*/1, // src0
37808 /* 106407 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37809 /* 106409 */ GIR_RootToRootCopy, /*OpIdx*/3, // cntl
37810 /* 106411 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37811 /* 106415 */ GIR_RootConstrainSelectedInstOperands,
37812 /* 106416 */ // GIR_Coverage, 122,
37813 /* 106416 */ GIR_EraseRootFromParent_Done,
37814 /* 106417 */ // Label 2294: @106417
37815 /* 106417 */ GIM_Try, /*On fail goto*//*Label 2295*/ GIMT_Encode4(106462), // Rule ID 124 //
37816 /* 106422 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
37817 /* 106425 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_lwpval64),
37818 /* 106430 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
37819 /* 106433 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37820 /* 106436 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37821 /* 106440 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37822 /* 106444 */ // MIs[0] cntl
37823 /* 106444 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37824 /* 106447 */ // (intrinsic_void 15743:{ *:[iPTR] }, GR64:{ *:[i64] }:$src0, GR32:{ *:[i32] }:$src1, (timm:{ *:[i32] }):$cntl) => (LWPVAL64rri GR64:{ *:[i64] }:$src0, GR32:{ *:[i32] }:$src1, (timm:{ *:[i32] }):$cntl)
37825 /* 106447 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LWPVAL64rri),
37826 /* 106450 */ GIR_RootToRootCopy, /*OpIdx*/1, // src0
37827 /* 106452 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37828 /* 106454 */ GIR_RootToRootCopy, /*OpIdx*/3, // cntl
37829 /* 106456 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37830 /* 106460 */ GIR_RootConstrainSelectedInstOperands,
37831 /* 106461 */ // GIR_Coverage, 124,
37832 /* 106461 */ GIR_EraseRootFromParent_Done,
37833 /* 106462 */ // Label 2295: @106462
37834 /* 106462 */ GIM_Try, /*On fail goto*//*Label 2296*/ GIMT_Encode4(106544), // Rule ID 17092 //
37835 /* 106467 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsetbv),
37836 /* 106472 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37837 /* 106475 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37838 /* 106478 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37839 /* 106481 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32_ArgRef_and_GR32_CBRegClassID),
37840 /* 106485 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
37841 /* 106489 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37842 /* 106493 */ // (intrinsic_void 16212:{ *:[iPTR] }, ECX:{ *:[i32] }, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSETBV)
37843 /* 106493 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37844 /* 106497 */ GIR_AddRegister, /*InsnID*/3, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37845 /* 106503 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/3, // EAX
37846 /* 106507 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37847 /* 106511 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37848 /* 106517 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // EDX
37849 /* 106521 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37850 /* 106525 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::ECX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37851 /* 106531 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // ECX
37852 /* 106535 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSETBV),
37853 /* 106538 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37854 /* 106542 */ GIR_RootConstrainSelectedInstOperands,
37855 /* 106543 */ // GIR_Coverage, 17092,
37856 /* 106543 */ GIR_EraseRootFromParent_Done,
37857 /* 106544 */ // Label 2296: @106544
37858 /* 106544 */ GIM_Try, /*On fail goto*//*Label 2297*/ GIMT_Encode4(106593), // Rule ID 17281 //
37859 /* 106549 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMWAITX),
37860 /* 106552 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_mwaitx),
37861 /* 106557 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37862 /* 106560 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37863 /* 106563 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37864 /* 106566 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37865 /* 106570 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37866 /* 106574 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37867 /* 106578 */ // (intrinsic_void 15820:{ *:[iPTR] }, GR32:{ *:[i32] }:$ecx, GR32:{ *:[i32] }:$eax, GR32:{ *:[i32] }:$ebx) => (MWAITX GR32:{ *:[i32] }:$ecx, GR32:{ *:[i32] }:$eax, GR32:{ *:[i32] }:$ebx)
37868 /* 106578 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MWAITX),
37869 /* 106581 */ GIR_RootToRootCopy, /*OpIdx*/1, // ecx
37870 /* 106583 */ GIR_RootToRootCopy, /*OpIdx*/2, // eax
37871 /* 106585 */ GIR_RootToRootCopy, /*OpIdx*/3, // ebx
37872 /* 106587 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37873 /* 106591 */ GIR_RootConstrainSelectedInstOperands,
37874 /* 106592 */ // GIR_Coverage, 17281,
37875 /* 106592 */ GIR_EraseRootFromParent_Done,
37876 /* 106593 */ // Label 2297: @106593
37877 /* 106593 */ GIM_Try, /*On fail goto*//*Label 2298*/ GIMT_Encode4(106655), // Rule ID 2903 //
37878 /* 106598 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_In64BitMode),
37879 /* 106601 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_maskmov_dqu),
37880 /* 106606 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
37881 /* 106609 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
37882 /* 106612 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37883 /* 106616 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37884 /* 106620 */ // MIs[0] Operand 3
37885 /* 106620 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/3, /*SizeInBits*/64,
37886 /* 106624 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDIRegClassID),
37887 /* 106628 */ // (intrinsic_void 15918:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask, RDI:{ *:[i64] }) => (VMASKMOVDQU64 VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask)
37888 /* 106628 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37889 /* 106632 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::RDI), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37890 /* 106638 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // RDI
37891 /* 106642 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVDQU64),
37892 /* 106645 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37893 /* 106647 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
37894 /* 106649 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37895 /* 106653 */ GIR_RootConstrainSelectedInstOperands,
37896 /* 106654 */ // GIR_Coverage, 2903,
37897 /* 106654 */ GIR_EraseRootFromParent_Done,
37898 /* 106655 */ // Label 2298: @106655
37899 /* 106655 */ GIM_Try, /*On fail goto*//*Label 2299*/ GIMT_Encode4(106717), // Rule ID 2904 //
37900 /* 106660 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
37901 /* 106663 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_maskmov_dqu),
37902 /* 106668 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
37903 /* 106671 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
37904 /* 106674 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37905 /* 106678 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37906 /* 106682 */ // MIs[0] Operand 3
37907 /* 106682 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/3, /*SizeInBits*/32,
37908 /* 106686 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_DIBP_and_GR32_SIDIRegClassID),
37909 /* 106690 */ // (intrinsic_void 15918:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask, EDI:{ *:[i32] }) => (VMASKMOVDQU VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask)
37910 /* 106690 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37911 /* 106694 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDI), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37912 /* 106700 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // EDI
37913 /* 106704 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVDQU),
37914 /* 106707 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37915 /* 106709 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
37916 /* 106711 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37917 /* 106715 */ GIR_RootConstrainSelectedInstOperands,
37918 /* 106716 */ // GIR_Coverage, 2904,
37919 /* 106716 */ GIR_EraseRootFromParent_Done,
37920 /* 106717 */ // Label 2299: @106717
37921 /* 106717 */ GIM_Try, /*On fail goto*//*Label 2300*/ GIMT_Encode4(106779), // Rule ID 2905 //
37922 /* 106722 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode_UseSSE2),
37923 /* 106725 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_maskmov_dqu),
37924 /* 106730 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
37925 /* 106733 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
37926 /* 106736 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37927 /* 106740 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37928 /* 106744 */ // MIs[0] Operand 3
37929 /* 106744 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/3, /*SizeInBits*/64,
37930 /* 106748 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDIRegClassID),
37931 /* 106752 */ // (intrinsic_void 15918:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask, RDI:{ *:[i64] }) => (MASKMOVDQU64 VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask)
37932 /* 106752 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37933 /* 106756 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::RDI), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37934 /* 106762 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // RDI
37935 /* 106766 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MASKMOVDQU64),
37936 /* 106769 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37937 /* 106771 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
37938 /* 106773 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37939 /* 106777 */ GIR_RootConstrainSelectedInstOperands,
37940 /* 106778 */ // GIR_Coverage, 2905,
37941 /* 106778 */ GIR_EraseRootFromParent_Done,
37942 /* 106779 */ // Label 2300: @106779
37943 /* 106779 */ GIM_Try, /*On fail goto*//*Label 2301*/ GIMT_Encode4(106841), // Rule ID 2906 //
37944 /* 106784 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
37945 /* 106787 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_maskmov_dqu),
37946 /* 106792 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
37947 /* 106795 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
37948 /* 106798 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37949 /* 106802 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37950 /* 106806 */ // MIs[0] Operand 3
37951 /* 106806 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/3, /*SizeInBits*/32,
37952 /* 106810 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_DIBP_and_GR32_SIDIRegClassID),
37953 /* 106814 */ // (intrinsic_void 15918:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask, EDI:{ *:[i32] }) => (MASKMOVDQU VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask)
37954 /* 106814 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37955 /* 106818 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDI), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37956 /* 106824 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // EDI
37957 /* 106828 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MASKMOVDQU),
37958 /* 106831 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37959 /* 106833 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
37960 /* 106835 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37961 /* 106839 */ GIR_RootConstrainSelectedInstOperands,
37962 /* 106840 */ // GIR_Coverage, 2906,
37963 /* 106840 */ GIR_EraseRootFromParent_Done,
37964 /* 106841 */ // Label 2301: @106841
37965 /* 106841 */ GIM_Reject,
37966 /* 106842 */ // Label 2242: @106842
37967 /* 106842 */ GIM_Try, /*On fail goto*//*Label 2302*/ GIMT_Encode4(106930), // Rule ID 16992 //
37968 /* 106847 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasKL),
37969 /* 106850 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/5,
37970 /* 106853 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_loadiwkey),
37971 /* 106858 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
37972 /* 106861 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
37973 /* 106864 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
37974 /* 106867 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_s32,
37975 /* 106870 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37976 /* 106874 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37977 /* 106878 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37978 /* 106882 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37979 /* 106886 */ // (intrinsic_void 15739:{ *:[iPTR] }, XMM0:{ *:[v2i64] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2, EAX:{ *:[i32] }) => (LOADIWKEY:{ *:[i32] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
37980 /* 106886 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37981 /* 106890 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37982 /* 106896 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/4, // EAX
37983 /* 106900 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37984 /* 106904 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::XMM0), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37985 /* 106910 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // XMM0
37986 /* 106914 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LOADIWKEY),
37987 /* 106917 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37988 /* 106919 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37989 /* 106921 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
37990 /* 106924 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37991 /* 106928 */ GIR_RootConstrainSelectedInstOperands,
37992 /* 106929 */ // GIR_Coverage, 16992,
37993 /* 106929 */ GIR_EraseRootFromParent_Done,
37994 /* 106930 */ // Label 2302: @106930
37995 /* 106930 */ GIM_Reject,
37996 /* 106931 */ // Label 20: @106931
37997 /* 106931 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 2306*/ GIMT_Encode4(107359),
37998 /* 106942 */ /*GILLT_s16*//*Label 2303*/ GIMT_Encode4(106954),
37999 /* 106946 */ /*GILLT_s32*//*Label 2304*/ GIMT_Encode4(107012),
38000 /* 106950 */ /*GILLT_s64*//*Label 2305*/ GIMT_Encode4(107187),
38001 /* 106954 */ // Label 2303: @106954
38002 /* 106954 */ GIM_Try, /*On fail goto*//*Label 2307*/ GIMT_Encode4(107011), // Rule ID 22672 //
38003 /* 106959 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
38004 /* 106962 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
38005 /* 106966 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
38006 /* 106970 */ // (anyext:{ *:[i16] } GR8:{ *:[i8] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_16bit:{ *:[i32] })
38007 /* 106970 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38008 /* 106973 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
38009 /* 106977 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38010 /* 106982 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
38011 /* 106986 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38012 /* 106988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38013 /* 106991 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38014 /* 106993 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
38015 /* 107000 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
38016 /* 107005 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38017 /* 107010 */ // GIR_Coverage, 22672,
38018 /* 107010 */ GIR_EraseRootFromParent_Done,
38019 /* 107011 */ // Label 2307: @107011
38020 /* 107011 */ GIM_Reject,
38021 /* 107012 */ // Label 2304: @107012
38022 /* 107012 */ GIM_Try, /*On fail goto*//*Label 2308*/ GIMT_Encode4(107058), // Rule ID 19435 //
38023 /* 107017 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
38024 /* 107020 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38025 /* 107024 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
38026 /* 107028 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
38027 /* 107032 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
38028 /* 107036 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
38029 /* 107041 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38030 /* 107043 */ // (anyext:{ *:[i32] } (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src)) => (COPY_TO_REGCLASS:{ *:[i32] } VK16:{ *:[v16i1] }:$src, GR32:{ *:[i32] })
38031 /* 107043 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38032 /* 107046 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38033 /* 107048 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
38034 /* 107052 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
38035 /* 107057 */ // GIR_Coverage, 19435,
38036 /* 107057 */ GIR_EraseRootFromParent_Done,
38037 /* 107058 */ // Label 2308: @107058
38038 /* 107058 */ GIM_Try, /*On fail goto*//*Label 2309*/ GIMT_Encode4(107104), // Rule ID 19438 //
38039 /* 107063 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
38040 /* 107066 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38041 /* 107070 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
38042 /* 107074 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
38043 /* 107078 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
38044 /* 107082 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
38045 /* 107087 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38046 /* 107089 */ // (anyext:{ *:[i32] } (bitconvert:{ *:[i8] } VK8:{ *:[v8i1] }:$src)) => (COPY_TO_REGCLASS:{ *:[i32] } VK8:{ *:[v8i1] }:$src, GR32:{ *:[i32] })
38047 /* 107089 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38048 /* 107092 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38049 /* 107094 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
38050 /* 107098 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
38051 /* 107103 */ // GIR_Coverage, 19438,
38052 /* 107103 */ GIR_EraseRootFromParent_Done,
38053 /* 107104 */ // Label 2309: @107104
38054 /* 107104 */ GIM_Try, /*On fail goto*//*Label 2310*/ GIMT_Encode4(107127), // Rule ID 22673 //
38055 /* 107109 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
38056 /* 107112 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38057 /* 107116 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
38058 /* 107120 */ // (anyext:{ *:[i32] } GR8:{ *:[i8] }:$src) => (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src)
38059 /* 107120 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
38060 /* 107125 */ GIR_RootConstrainSelectedInstOperands,
38061 /* 107126 */ // GIR_Coverage, 22673,
38062 /* 107126 */ GIR_Done,
38063 /* 107127 */ // Label 2310: @107127
38064 /* 107127 */ GIM_Try, /*On fail goto*//*Label 2311*/ GIMT_Encode4(107186), // Rule ID 22674 //
38065 /* 107132 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
38066 /* 107135 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
38067 /* 107139 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
38068 /* 107143 */ // (anyext:{ *:[i32] } GR16:{ *:[i16] }:$src) => (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR16:{ *:[i16] }:$src, sub_16bit:{ *:[i32] })
38069 /* 107143 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38070 /* 107146 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
38071 /* 107150 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38072 /* 107155 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38073 /* 107157 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
38074 /* 107160 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38075 /* 107162 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38076 /* 107165 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
38077 /* 107167 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
38078 /* 107170 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
38079 /* 107175 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
38080 /* 107180 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
38081 /* 107185 */ // GIR_Coverage, 22674,
38082 /* 107185 */ GIR_EraseRootFromParent_Done,
38083 /* 107186 */ // Label 2311: @107186
38084 /* 107186 */ GIM_Reject,
38085 /* 107187 */ // Label 2305: @107187
38086 /* 107187 */ GIM_Try, /*On fail goto*//*Label 2312*/ GIMT_Encode4(107243), // Rule ID 22675 //
38087 /* 107192 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
38088 /* 107195 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38089 /* 107199 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
38090 /* 107203 */ // (anyext:{ *:[i64] } GR8:{ *:[i8] }:$src) => (SUBREG_TO_REG:{ *:[i64] } (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_32bit:{ *:[i32] })
38091 /* 107203 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38092 /* 107206 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
38093 /* 107210 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38094 /* 107215 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
38095 /* 107219 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38096 /* 107221 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
38097 /* 107224 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38098 /* 107226 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38099 /* 107229 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
38100 /* 107232 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
38101 /* 107237 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38102 /* 107242 */ // GIR_Coverage, 22675,
38103 /* 107242 */ GIR_EraseRootFromParent_Done,
38104 /* 107243 */ // Label 2312: @107243
38105 /* 107243 */ GIM_Try, /*On fail goto*//*Label 2313*/ GIMT_Encode4(107299), // Rule ID 22676 //
38106 /* 107248 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
38107 /* 107251 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38108 /* 107255 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
38109 /* 107259 */ // (anyext:{ *:[i64] } GR16:{ *:[i16] }:$src) => (SUBREG_TO_REG:{ *:[i64] } (MOVZX32rr16:{ *:[i32] } GR16:{ *:[i16] }:$src), sub_32bit:{ *:[i32] })
38110 /* 107259 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38111 /* 107262 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr16),
38112 /* 107266 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38113 /* 107271 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
38114 /* 107275 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38115 /* 107277 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
38116 /* 107280 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38117 /* 107282 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38118 /* 107285 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
38119 /* 107288 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
38120 /* 107293 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38121 /* 107298 */ // GIR_Coverage, 22676,
38122 /* 107298 */ GIR_EraseRootFromParent_Done,
38123 /* 107299 */ // Label 2313: @107299
38124 /* 107299 */ GIM_Try, /*On fail goto*//*Label 2314*/ GIMT_Encode4(107358), // Rule ID 22677 //
38125 /* 107304 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
38126 /* 107307 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38127 /* 107311 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38128 /* 107315 */ // (anyext:{ *:[i64] } GR32:{ *:[i32] }:$src) => (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GR32:{ *:[i32] }:$src, sub_32bit:{ *:[i32] })
38129 /* 107315 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
38130 /* 107318 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
38131 /* 107322 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38132 /* 107327 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38133 /* 107329 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
38134 /* 107332 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38135 /* 107334 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38136 /* 107337 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
38137 /* 107339 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
38138 /* 107342 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
38139 /* 107347 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR64RegClassID),
38140 /* 107352 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
38141 /* 107357 */ // GIR_Coverage, 22677,
38142 /* 107357 */ GIR_EraseRootFromParent_Done,
38143 /* 107358 */ // Label 2314: @107358
38144 /* 107358 */ GIM_Reject,
38145 /* 107359 */ // Label 2306: @107359
38146 /* 107359 */ GIM_Reject,
38147 /* 107360 */ // Label 21: @107360
38148 /* 107360 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(22), /*)*//*default:*//*Label 2323*/ GIMT_Encode4(108448),
38149 /* 107371 */ /*GILLT_s8*//*Label 2315*/ GIMT_Encode4(107455),
38150 /* 107375 */ /*GILLT_s16*//*Label 2316*/ GIMT_Encode4(107739), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
38151 /* 107407 */ /*GILLT_v4s32*//*Label 2317*/ GIMT_Encode4(107778), GIMT_Encode4(0), GIMT_Encode4(0),
38152 /* 107419 */ /*GILLT_v8s16*//*Label 2318*/ GIMT_Encode4(107918),
38153 /* 107423 */ /*GILLT_v8s32*//*Label 2319*/ GIMT_Encode4(108081), GIMT_Encode4(0), GIMT_Encode4(0),
38154 /* 107435 */ /*GILLT_v16s8*//*Label 2320*/ GIMT_Encode4(108108),
38155 /* 107439 */ /*GILLT_v16s16*//*Label 2321*/ GIMT_Encode4(108394), GIMT_Encode4(0), GIMT_Encode4(0),
38156 /* 107451 */ /*GILLT_v32s8*//*Label 2322*/ GIMT_Encode4(108421),
38157 /* 107455 */ // Label 2315: @107455
38158 /* 107455 */ GIM_Try, /*On fail goto*//*Label 2324*/ GIMT_Encode4(107530), // Rule ID 19430 //
38159 /* 107460 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
38160 /* 107463 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
38161 /* 107467 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
38162 /* 107471 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
38163 /* 107475 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
38164 /* 107479 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
38165 /* 107484 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38166 /* 107486 */ // (trunc:{ *:[i8] } (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src)) => (EXTRACT_SUBREG:{ *:[i8] } (COPY_TO_REGCLASS:{ *:[i32] } VK16:{ *:[v16i1] }:$src, GR32:{ *:[i32] }), sub_8bit:{ *:[i32] })
38167 /* 107486 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38168 /* 107489 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38169 /* 107493 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38170 /* 107498 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src
38171 /* 107502 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
38172 /* 107507 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38173 /* 107510 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38174 /* 107512 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
38175 /* 107519 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
38176 /* 107524 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38177 /* 107529 */ // GIR_Coverage, 19430,
38178 /* 107529 */ GIR_EraseRootFromParent_Done,
38179 /* 107530 */ // Label 2324: @107530
38180 /* 107530 */ GIM_Try, /*On fail goto*//*Label 2325*/ GIMT_Encode4(107593), // Rule ID 22734 //
38181 /* 107535 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode),
38182 /* 107538 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
38183 /* 107541 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
38184 /* 107545 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38185 /* 107549 */ // (trunc:{ *:[i8] } GR32:{ *:[i32] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } (COPY_TO_REGCLASS:{ *:[i32] } GR32:{ *:[i32] }:$src, GR32_ABCD:{ *:[i32] }), sub_8bit:{ *:[i32] })
38186 /* 107549 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38187 /* 107552 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38188 /* 107556 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38189 /* 107561 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
38190 /* 107565 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR32_ABCDRegClassID),
38191 /* 107570 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38192 /* 107573 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38193 /* 107575 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
38194 /* 107582 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
38195 /* 107587 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32_ABCDRegClassID),
38196 /* 107592 */ // GIR_Coverage, 22734,
38197 /* 107592 */ GIR_EraseRootFromParent_Done,
38198 /* 107593 */ // Label 2325: @107593
38199 /* 107593 */ GIM_Try, /*On fail goto*//*Label 2326*/ GIMT_Encode4(107656), // Rule ID 22735 //
38200 /* 107598 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode),
38201 /* 107601 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
38202 /* 107604 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
38203 /* 107608 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
38204 /* 107612 */ // (trunc:{ *:[i8] } GR16:{ *:[i16] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } (COPY_TO_REGCLASS:{ *:[i16] } GR16:{ *:[i16] }:$src, GR16_ABCD:{ *:[i32] }), sub_8bit:{ *:[i32] })
38205 /* 107612 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
38206 /* 107615 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38207 /* 107619 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38208 /* 107624 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
38209 /* 107628 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16_ABCDRegClassID),
38210 /* 107633 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38211 /* 107636 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38212 /* 107638 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
38213 /* 107645 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
38214 /* 107650 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR16_ABCDRegClassID),
38215 /* 107655 */ // GIR_Coverage, 22735,
38216 /* 107655 */ GIR_EraseRootFromParent_Done,
38217 /* 107656 */ // Label 2326: @107656
38218 /* 107656 */ GIM_Try, /*On fail goto*//*Label 2327*/ GIMT_Encode4(107697), // Rule ID 22739 //
38219 /* 107661 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
38220 /* 107664 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
38221 /* 107667 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
38222 /* 107671 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38223 /* 107675 */ // (trunc:{ *:[i8] } GR32:{ *:[i32] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } GR32:{ *:[i32] }:$src, sub_8bit:{ *:[i32] })
38224 /* 107675 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38225 /* 107678 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38226 /* 107680 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src
38227 /* 107686 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
38228 /* 107691 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38229 /* 107696 */ // GIR_Coverage, 22739,
38230 /* 107696 */ GIR_EraseRootFromParent_Done,
38231 /* 107697 */ // Label 2327: @107697
38232 /* 107697 */ GIM_Try, /*On fail goto*//*Label 2328*/ GIMT_Encode4(107738), // Rule ID 22740 //
38233 /* 107702 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
38234 /* 107705 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
38235 /* 107708 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
38236 /* 107712 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
38237 /* 107716 */ // (trunc:{ *:[i8] } GR16:{ *:[i16] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } GR16:{ *:[i16] }:$src, sub_8bit:{ *:[i32] })
38238 /* 107716 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38239 /* 107719 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38240 /* 107721 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src
38241 /* 107727 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
38242 /* 107732 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
38243 /* 107737 */ // GIR_Coverage, 22740,
38244 /* 107737 */ GIR_EraseRootFromParent_Done,
38245 /* 107738 */ // Label 2328: @107738
38246 /* 107738 */ GIM_Reject,
38247 /* 107739 */ // Label 2316: @107739
38248 /* 107739 */ GIM_Try, /*On fail goto*//*Label 2329*/ GIMT_Encode4(107777), // Rule ID 22733 //
38249 /* 107744 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
38250 /* 107747 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
38251 /* 107751 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38252 /* 107755 */ // (trunc:{ *:[i16] } GR32:{ *:[i32] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } GR32:{ *:[i32] }:$src, sub_16bit:{ *:[i32] })
38253 /* 107755 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38254 /* 107758 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38255 /* 107760 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(4), // src
38256 /* 107766 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
38257 /* 107771 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38258 /* 107776 */ // GIR_Coverage, 22733,
38259 /* 107776 */ GIR_EraseRootFromParent_Done,
38260 /* 107777 */ // Label 2329: @107777
38261 /* 107777 */ GIM_Reject,
38262 /* 107778 */ // Label 2317: @107778
38263 /* 107778 */ GIM_Try, /*On fail goto*//*Label 2330*/ GIMT_Encode4(107917),
38264 /* 107783 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
38265 /* 107786 */ GIM_Try, /*On fail goto*//*Label 2331*/ GIMT_Encode4(107809), // Rule ID 12266 //
38266 /* 107791 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
38267 /* 107794 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38268 /* 107798 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38269 /* 107802 */ // (trunc:{ *:[v4i32] } VR256X:{ *:[v4i64] }:$src) => (VPMOVQDZ256rr:{ *:[v4i32] } VR256X:{ *:[v4i64] }:$src)
38270 /* 107802 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVQDZ256rr),
38271 /* 107807 */ GIR_RootConstrainSelectedInstOperands,
38272 /* 107808 */ // GIR_Coverage, 12266,
38273 /* 107808 */ GIR_Done,
38274 /* 107809 */ // Label 2331: @107809
38275 /* 107809 */ GIM_Try, /*On fail goto*//*Label 2332*/ GIMT_Encode4(107916), // Rule ID 21568 //
38276 /* 107814 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
38277 /* 107817 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
38278 /* 107821 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38279 /* 107825 */ // (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] })
38280 /* 107825 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
38281 /* 107828 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
38282 /* 107832 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38283 /* 107837 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
38284 /* 107839 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
38285 /* 107842 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
38286 /* 107846 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38287 /* 107851 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
38288 /* 107854 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
38289 /* 107858 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
38290 /* 107861 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
38291 /* 107866 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
38292 /* 107871 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
38293 /* 107876 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
38294 /* 107879 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVQDZrr),
38295 /* 107883 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38296 /* 107888 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
38297 /* 107891 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38298 /* 107893 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38299 /* 107896 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38300 /* 107898 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
38301 /* 107905 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
38302 /* 107910 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256XRegClassID),
38303 /* 107915 */ // GIR_Coverage, 21568,
38304 /* 107915 */ GIR_EraseRootFromParent_Done,
38305 /* 107916 */ // Label 2332: @107916
38306 /* 107916 */ GIM_Reject,
38307 /* 107917 */ // Label 2330: @107917
38308 /* 107917 */ GIM_Reject,
38309 /* 107918 */ // Label 2318: @107918
38310 /* 107918 */ GIM_Try, /*On fail goto*//*Label 2333*/ GIMT_Encode4(107944), // Rule ID 12242 //
38311 /* 107923 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
38312 /* 107926 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
38313 /* 107929 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38314 /* 107933 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38315 /* 107937 */ // (trunc:{ *:[v8i16] } VR512:{ *:[v8i64] }:$src) => (VPMOVQWZrr:{ *:[v8i16] } VR512:{ *:[v8i64] }:$src)
38316 /* 107937 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVQWZrr),
38317 /* 107942 */ GIR_RootConstrainSelectedInstOperands,
38318 /* 107943 */ // GIR_Coverage, 12242,
38319 /* 107943 */ GIR_Done,
38320 /* 107944 */ // Label 2333: @107944
38321 /* 107944 */ GIM_Try, /*On fail goto*//*Label 2334*/ GIMT_Encode4(107970), // Rule ID 12320 //
38322 /* 107949 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
38323 /* 107952 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
38324 /* 107955 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38325 /* 107959 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38326 /* 107963 */ // (trunc:{ *:[v8i16] } VR256X:{ *:[v8i32] }:$src) => (VPMOVDWZ256rr:{ *:[v8i16] } VR256X:{ *:[v8i32] }:$src)
38327 /* 107963 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZ256rr),
38328 /* 107968 */ GIR_RootConstrainSelectedInstOperands,
38329 /* 107969 */ // GIR_Coverage, 12320,
38330 /* 107969 */ GIR_Done,
38331 /* 107970 */ // Label 2334: @107970
38332 /* 107970 */ GIM_Try, /*On fail goto*//*Label 2335*/ GIMT_Encode4(108080), // Rule ID 21567 //
38333 /* 107975 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
38334 /* 107978 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
38335 /* 107981 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
38336 /* 107985 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38337 /* 107989 */ // (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] })
38338 /* 107989 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
38339 /* 107992 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
38340 /* 107996 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38341 /* 108001 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
38342 /* 108003 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
38343 /* 108006 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
38344 /* 108010 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38345 /* 108015 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
38346 /* 108018 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
38347 /* 108022 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
38348 /* 108025 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
38349 /* 108030 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
38350 /* 108035 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
38351 /* 108040 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
38352 /* 108043 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZrr),
38353 /* 108047 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38354 /* 108052 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
38355 /* 108055 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38356 /* 108057 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38357 /* 108060 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38358 /* 108062 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
38359 /* 108069 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
38360 /* 108074 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256XRegClassID),
38361 /* 108079 */ // GIR_Coverage, 21567,
38362 /* 108079 */ GIR_EraseRootFromParent_Done,
38363 /* 108080 */ // Label 2335: @108080
38364 /* 108080 */ GIM_Reject,
38365 /* 108081 */ // Label 2319: @108081
38366 /* 108081 */ GIM_Try, /*On fail goto*//*Label 2336*/ GIMT_Encode4(108107), // Rule ID 12269 //
38367 /* 108086 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
38368 /* 108089 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
38369 /* 108092 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38370 /* 108096 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38371 /* 108100 */ // (trunc:{ *:[v8i32] } VR512:{ *:[v8i64] }:$src) => (VPMOVQDZrr:{ *:[v8i32] } VR512:{ *:[v8i64] }:$src)
38372 /* 108100 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVQDZrr),
38373 /* 108105 */ GIR_RootConstrainSelectedInstOperands,
38374 /* 108106 */ // GIR_Coverage, 12269,
38375 /* 108106 */ GIR_Done,
38376 /* 108107 */ // Label 2336: @108107
38377 /* 108107 */ GIM_Reject,
38378 /* 108108 */ // Label 2320: @108108
38379 /* 108108 */ GIM_Try, /*On fail goto*//*Label 2337*/ GIMT_Encode4(108184), // Rule ID 21661 //
38380 /* 108113 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoBWI),
38381 /* 108116 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
38382 /* 108119 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38383 /* 108123 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
38384 /* 108127 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
38385 /* 108131 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
38386 /* 108134 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
38387 /* 108138 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
38388 /* 108142 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38389 /* 108144 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38390 /* 108151 */ // (trunc:{ *:[v16i8] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVDBZrr:{ *:[v16i8] } (VPMOVZXWDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src))
38391 /* 108151 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
38392 /* 108154 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZrm),
38393 /* 108158 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38394 /* 108163 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
38395 /* 108167 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
38396 /* 108172 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38397 /* 108174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDBZrr),
38398 /* 108177 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38399 /* 108179 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38400 /* 108182 */ GIR_RootConstrainSelectedInstOperands,
38401 /* 108183 */ // GIR_Coverage, 21661,
38402 /* 108183 */ GIR_EraseRootFromParent_Done,
38403 /* 108184 */ // Label 2337: @108184
38404 /* 108184 */ GIM_Try, /*On fail goto*//*Label 2338*/ GIMT_Encode4(108210), // Rule ID 12296 //
38405 /* 108189 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
38406 /* 108192 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
38407 /* 108195 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38408 /* 108199 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38409 /* 108203 */ // (trunc:{ *:[v16i8] } VR512:{ *:[v16i32] }:$src) => (VPMOVDBZrr:{ *:[v16i8] } VR512:{ *:[v16i32] }:$src)
38410 /* 108203 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVDBZrr),
38411 /* 108208 */ GIR_RootConstrainSelectedInstOperands,
38412 /* 108209 */ // GIR_Coverage, 12296,
38413 /* 108209 */ GIR_Done,
38414 /* 108210 */ // Label 2338: @108210
38415 /* 108210 */ GIM_Try, /*On fail goto*//*Label 2339*/ GIMT_Encode4(108236), // Rule ID 12347 //
38416 /* 108215 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
38417 /* 108218 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
38418 /* 108221 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38419 /* 108225 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38420 /* 108229 */ // (trunc:{ *:[v16i8] } VR256X:{ *:[v16i16] }:$src) => (VPMOVWBZ256rr:{ *:[v16i8] } VR256X:{ *:[v16i16] }:$src)
38421 /* 108229 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVWBZ256rr),
38422 /* 108234 */ GIR_RootConstrainSelectedInstOperands,
38423 /* 108235 */ // GIR_Coverage, 12347,
38424 /* 108235 */ GIR_Done,
38425 /* 108236 */ // Label 2339: @108236
38426 /* 108236 */ GIM_Try, /*On fail goto*//*Label 2340*/ GIMT_Encode4(108346), // Rule ID 21569 //
38427 /* 108241 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
38428 /* 108244 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
38429 /* 108247 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
38430 /* 108251 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38431 /* 108255 */ // (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] })
38432 /* 108255 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
38433 /* 108258 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
38434 /* 108262 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38435 /* 108267 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
38436 /* 108269 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
38437 /* 108272 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
38438 /* 108276 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38439 /* 108281 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
38440 /* 108284 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
38441 /* 108288 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
38442 /* 108291 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
38443 /* 108296 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
38444 /* 108301 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
38445 /* 108306 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s8,
38446 /* 108309 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVWBZrr),
38447 /* 108313 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38448 /* 108318 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
38449 /* 108321 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38450 /* 108323 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38451 /* 108326 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38452 /* 108328 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
38453 /* 108335 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
38454 /* 108340 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256XRegClassID),
38455 /* 108345 */ // GIR_Coverage, 21569,
38456 /* 108345 */ GIR_EraseRootFromParent_Done,
38457 /* 108346 */ // Label 2340: @108346
38458 /* 108346 */ GIM_Try, /*On fail goto*//*Label 2341*/ GIMT_Encode4(108393), // Rule ID 21660 //
38459 /* 108351 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoBWI),
38460 /* 108354 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
38461 /* 108357 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38462 /* 108361 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38463 /* 108365 */ // (trunc:{ *:[v16i8] } VR256X:{ *:[v16i16] }:$src) => (VPMOVDBZrr:{ *:[v16i8] } (VPMOVZXWDZrr:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src))
38464 /* 108365 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
38465 /* 108368 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZrr),
38466 /* 108372 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38467 /* 108377 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
38468 /* 108381 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38469 /* 108383 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDBZrr),
38470 /* 108386 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38471 /* 108388 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38472 /* 108391 */ GIR_RootConstrainSelectedInstOperands,
38473 /* 108392 */ // GIR_Coverage, 21660,
38474 /* 108392 */ GIR_EraseRootFromParent_Done,
38475 /* 108393 */ // Label 2341: @108393
38476 /* 108393 */ GIM_Reject,
38477 /* 108394 */ // Label 2321: @108394
38478 /* 108394 */ GIM_Try, /*On fail goto*//*Label 2342*/ GIMT_Encode4(108420), // Rule ID 12323 //
38479 /* 108399 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
38480 /* 108402 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
38481 /* 108405 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38482 /* 108409 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38483 /* 108413 */ // (trunc:{ *:[v16i16] } VR512:{ *:[v16i32] }:$src) => (VPMOVDWZrr:{ *:[v16i16] } VR512:{ *:[v16i32] }:$src)
38484 /* 108413 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZrr),
38485 /* 108418 */ GIR_RootConstrainSelectedInstOperands,
38486 /* 108419 */ // GIR_Coverage, 12323,
38487 /* 108419 */ GIR_Done,
38488 /* 108420 */ // Label 2342: @108420
38489 /* 108420 */ GIM_Reject,
38490 /* 108421 */ // Label 2322: @108421
38491 /* 108421 */ GIM_Try, /*On fail goto*//*Label 2343*/ GIMT_Encode4(108447), // Rule ID 12350 //
38492 /* 108426 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
38493 /* 108429 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
38494 /* 108432 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38495 /* 108436 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38496 /* 108440 */ // (trunc:{ *:[v32i8] } VR512:{ *:[v32i16] }:$src) => (VPMOVWBZrr:{ *:[v32i8] } VR512:{ *:[v32i16] }:$src)
38497 /* 108440 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVWBZrr),
38498 /* 108445 */ GIR_RootConstrainSelectedInstOperands,
38499 /* 108446 */ // GIR_Coverage, 12350,
38500 /* 108446 */ GIR_Done,
38501 /* 108447 */ // Label 2343: @108447
38502 /* 108447 */ GIM_Reject,
38503 /* 108448 */ // Label 2323: @108448
38504 /* 108448 */ GIM_Reject,
38505 /* 108449 */ // Label 22: @108449
38506 /* 108449 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 2348*/ GIMT_Encode4(109051),
38507 /* 108460 */ /*GILLT_s8*//*Label 2344*/ GIMT_Encode4(108476),
38508 /* 108464 */ /*GILLT_s16*//*Label 2345*/ GIMT_Encode4(108558),
38509 /* 108468 */ /*GILLT_s32*//*Label 2346*/ GIMT_Encode4(108758),
38510 /* 108472 */ /*GILLT_s64*//*Label 2347*/ GIMT_Encode4(108900),
38511 /* 108476 */ // Label 2344: @108476
38512 /* 108476 */ GIM_Try, /*On fail goto*//*Label 2349*/ GIMT_Encode4(108557),
38513 /* 108481 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
38514 /* 108485 */ GIM_Try, /*On fail goto*//*Label 2350*/ GIMT_Encode4(108541), // Rule ID 22445 //
38515 /* 108490 */ // MIs[0] Operand 1
38516 /* 108490 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(0),
38517 /* 108501 */ // 0:{ *:[i8] } => (EXTRACT_SUBREG:{ *:[i8] } (MOV32r0:{ *:[i32] }:{ *:[i32] }), sub_8bit:{ *:[i32] })
38518 /* 108501 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38519 /* 108504 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r0),
38520 /* 108508 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38521 /* 108513 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
38522 /* 108516 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38523 /* 108518 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38524 /* 108521 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38525 /* 108523 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
38526 /* 108530 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
38527 /* 108535 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38528 /* 108540 */ // GIR_Coverage, 22445,
38529 /* 108540 */ GIR_EraseRootFromParent_Done,
38530 /* 108541 */ // Label 2350: @108541
38531 /* 108541 */ GIM_Try, /*On fail goto*//*Label 2351*/ GIMT_Encode4(108556), // Rule ID 19 //
38532 /* 108546 */ // MIs[0] Operand 1
38533 /* 108546 */ // No operand predicates
38534 /* 108546 */ // (imm:{ *:[i8] }):$src => (MOV8ri:{ *:[i8] } (imm:{ *:[i8] }):$src)
38535 /* 108546 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8ri),
38536 /* 108549 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38537 /* 108551 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
38538 /* 108554 */ GIR_RootConstrainSelectedInstOperands,
38539 /* 108555 */ // GIR_Coverage, 19,
38540 /* 108555 */ GIR_EraseRootFromParent_Done,
38541 /* 108556 */ // Label 2351: @108556
38542 /* 108556 */ GIM_Reject,
38543 /* 108557 */ // Label 2349: @108557
38544 /* 108557 */ GIM_Reject,
38545 /* 108558 */ // Label 2345: @108558
38546 /* 108558 */ GIM_Try, /*On fail goto*//*Label 2352*/ GIMT_Encode4(108757),
38547 /* 108563 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
38548 /* 108567 */ GIM_Try, /*On fail goto*//*Label 2353*/ GIMT_Encode4(108623), // Rule ID 22446 //
38549 /* 108572 */ // MIs[0] Operand 1
38550 /* 108572 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(0),
38551 /* 108583 */ // 0:{ *:[i16] } => (EXTRACT_SUBREG:{ *:[i16] } (MOV32r0:{ *:[i32] }:{ *:[i32] }), sub_16bit:{ *:[i32] })
38552 /* 108583 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38553 /* 108586 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r0),
38554 /* 108590 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38555 /* 108595 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
38556 /* 108598 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38557 /* 108600 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38558 /* 108603 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38559 /* 108605 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
38560 /* 108612 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
38561 /* 108617 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38562 /* 108622 */ // GIR_Coverage, 22446,
38563 /* 108622 */ GIR_EraseRootFromParent_Done,
38564 /* 108623 */ // Label 2353: @108623
38565 /* 108623 */ GIM_Try, /*On fail goto*//*Label 2354*/ GIMT_Encode4(108682), // Rule ID 22448 //
38566 /* 108628 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode_OptForSize),
38567 /* 108631 */ // MIs[0] Operand 1
38568 /* 108631 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(1),
38569 /* 108642 */ // 1:{ *:[i16] } => (EXTRACT_SUBREG:{ *:[i16] } (MOV32r1:{ *:[i32] }:{ *:[i32] }), sub_16bit:{ *:[i32] })
38570 /* 108642 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38571 /* 108645 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r1),
38572 /* 108649 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38573 /* 108654 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
38574 /* 108657 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38575 /* 108659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38576 /* 108662 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38577 /* 108664 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
38578 /* 108671 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
38579 /* 108676 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38580 /* 108681 */ // GIR_Coverage, 22448,
38581 /* 108681 */ GIR_EraseRootFromParent_Done,
38582 /* 108682 */ // Label 2354: @108682
38583 /* 108682 */ GIM_Try, /*On fail goto*//*Label 2355*/ GIMT_Encode4(108741), // Rule ID 22449 //
38584 /* 108687 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode_OptForSize),
38585 /* 108690 */ // MIs[0] Operand 1
38586 /* 108690 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(18446744073709551615u),
38587 /* 108701 */ // -1:{ *:[i16] } => (EXTRACT_SUBREG:{ *:[i16] } (MOV32r_1:{ *:[i32] }:{ *:[i32] }), sub_16bit:{ *:[i32] })
38588 /* 108701 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38589 /* 108704 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r_1),
38590 /* 108708 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38591 /* 108713 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
38592 /* 108716 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38593 /* 108718 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38594 /* 108721 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38595 /* 108723 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
38596 /* 108730 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
38597 /* 108735 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38598 /* 108740 */ // GIR_Coverage, 22449,
38599 /* 108740 */ GIR_EraseRootFromParent_Done,
38600 /* 108741 */ // Label 2355: @108741
38601 /* 108741 */ GIM_Try, /*On fail goto*//*Label 2356*/ GIMT_Encode4(108756), // Rule ID 20 //
38602 /* 108746 */ // MIs[0] Operand 1
38603 /* 108746 */ // No operand predicates
38604 /* 108746 */ // (imm:{ *:[i16] }):$src => (MOV16ri:{ *:[i16] } (imm:{ *:[i16] }):$src)
38605 /* 108746 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16ri),
38606 /* 108749 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38607 /* 108751 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
38608 /* 108754 */ GIR_RootConstrainSelectedInstOperands,
38609 /* 108755 */ // GIR_Coverage, 20,
38610 /* 108755 */ GIR_EraseRootFromParent_Done,
38611 /* 108756 */ // Label 2356: @108756
38612 /* 108756 */ GIM_Reject,
38613 /* 108757 */ // Label 2352: @108757
38614 /* 108757 */ GIM_Reject,
38615 /* 108758 */ // Label 2346: @108758
38616 /* 108758 */ GIM_Try, /*On fail goto*//*Label 2357*/ GIMT_Encode4(108788), // Rule ID 17141 //
38617 /* 108763 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38618 /* 108767 */ // MIs[0] Operand 1
38619 /* 108767 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(0),
38620 /* 108778 */ // 0:{ *:[i32] } => (MOV32r0:{ *:[i32] }:{ *:[i32] })
38621 /* 108778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32r0),
38622 /* 108781 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38623 /* 108783 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
38624 /* 108786 */ GIR_RootConstrainSelectedInstOperands,
38625 /* 108787 */ // GIR_Coverage, 17141,
38626 /* 108787 */ GIR_EraseRootFromParent_Done,
38627 /* 108788 */ // Label 2357: @108788
38628 /* 108788 */ GIM_Try, /*On fail goto*//*Label 2358*/ GIMT_Encode4(108821), // Rule ID 17142 //
38629 /* 108793 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode_OptForSize),
38630 /* 108796 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38631 /* 108800 */ // MIs[0] Operand 1
38632 /* 108800 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(1),
38633 /* 108811 */ // 1:{ *:[i32] } => (MOV32r1:{ *:[i32] }:{ *:[i32] })
38634 /* 108811 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32r1),
38635 /* 108814 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38636 /* 108816 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
38637 /* 108819 */ GIR_RootConstrainSelectedInstOperands,
38638 /* 108820 */ // GIR_Coverage, 17142,
38639 /* 108820 */ GIR_EraseRootFromParent_Done,
38640 /* 108821 */ // Label 2358: @108821
38641 /* 108821 */ GIM_Try, /*On fail goto*//*Label 2359*/ GIMT_Encode4(108854), // Rule ID 17143 //
38642 /* 108826 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode_OptForSize),
38643 /* 108829 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38644 /* 108833 */ // MIs[0] Operand 1
38645 /* 108833 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(18446744073709551615u),
38646 /* 108844 */ // -1:{ *:[i32] } => (MOV32r_1:{ *:[i32] }:{ *:[i32] })
38647 /* 108844 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32r_1),
38648 /* 108847 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38649 /* 108849 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
38650 /* 108852 */ GIR_RootConstrainSelectedInstOperands,
38651 /* 108853 */ // GIR_Coverage, 17143,
38652 /* 108853 */ GIR_EraseRootFromParent_Done,
38653 /* 108854 */ // Label 2359: @108854
38654 /* 108854 */ GIM_Try, /*On fail goto*//*Label 2360*/ GIMT_Encode4(108880), // Rule ID 17144 //
38655 /* 108859 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotWin64WithoutFP_OptForMinSize),
38656 /* 108862 */ GIM_CheckI64ImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i32immSExt8),
38657 /* 108866 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38658 /* 108870 */ // MIs[0] Operand 1
38659 /* 108870 */ // No operand predicates
38660 /* 108870 */ // (imm:{ *:[i32] })<<P:Predicate_i32immSExt8>>:$src => (MOV32ImmSExti8:{ *:[i32] } (imm:{ *:[i32] }):$src)
38661 /* 108870 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32ImmSExti8),
38662 /* 108873 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38663 /* 108875 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
38664 /* 108878 */ GIR_RootConstrainSelectedInstOperands,
38665 /* 108879 */ // GIR_Coverage, 17144,
38666 /* 108879 */ GIR_EraseRootFromParent_Done,
38667 /* 108880 */ // Label 2360: @108880
38668 /* 108880 */ GIM_Try, /*On fail goto*//*Label 2361*/ GIMT_Encode4(108899), // Rule ID 21 //
38669 /* 108885 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38670 /* 108889 */ // MIs[0] Operand 1
38671 /* 108889 */ // No operand predicates
38672 /* 108889 */ // (imm:{ *:[i32] }):$src => (MOV32ri:{ *:[i32] } (imm:{ *:[i32] }):$src)
38673 /* 108889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32ri),
38674 /* 108892 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38675 /* 108894 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
38676 /* 108897 */ GIR_RootConstrainSelectedInstOperands,
38677 /* 108898 */ // GIR_Coverage, 21,
38678 /* 108898 */ GIR_EraseRootFromParent_Done,
38679 /* 108899 */ // Label 2361: @108899
38680 /* 108899 */ GIM_Reject,
38681 /* 108900 */ // Label 2347: @108900
38682 /* 108900 */ GIM_Try, /*On fail goto*//*Label 2362*/ GIMT_Encode4(108959), // Rule ID 22447 //
38683 /* 108905 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38684 /* 108909 */ // MIs[0] Operand 1
38685 /* 108909 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(0),
38686 /* 108920 */ // 0:{ *:[i64] } => (SUBREG_TO_REG:{ *:[i64] } (MOV32r0:{ *:[i32] }:{ *:[i32] }), sub_32bit:{ *:[i32] })
38687 /* 108920 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38688 /* 108923 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r0),
38689 /* 108927 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38690 /* 108932 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
38691 /* 108935 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38692 /* 108937 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
38693 /* 108940 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38694 /* 108942 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38695 /* 108945 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
38696 /* 108948 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
38697 /* 108953 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38698 /* 108958 */ // GIR_Coverage, 22447,
38699 /* 108958 */ GIR_EraseRootFromParent_Done,
38700 /* 108959 */ // Label 2362: @108959
38701 /* 108959 */ GIM_Try, /*On fail goto*//*Label 2363*/ GIMT_Encode4(108985), // Rule ID 17145 //
38702 /* 108964 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotWin64WithoutFP_OptForMinSize),
38703 /* 108967 */ GIM_CheckI64ImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt8),
38704 /* 108971 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38705 /* 108975 */ // MIs[0] Operand 1
38706 /* 108975 */ // No operand predicates
38707 /* 108975 */ // (imm:{ *:[i64] })<<P:Predicate_i64immSExt8>>:$src => (MOV64ImmSExti8:{ *:[i64] } (imm:{ *:[i64] }):$src)
38708 /* 108975 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64ImmSExti8),
38709 /* 108978 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38710 /* 108980 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
38711 /* 108983 */ GIR_RootConstrainSelectedInstOperands,
38712 /* 108984 */ // GIR_Coverage, 17145,
38713 /* 108984 */ GIR_EraseRootFromParent_Done,
38714 /* 108985 */ // Label 2363: @108985
38715 /* 108985 */ GIM_Try, /*On fail goto*//*Label 2364*/ GIMT_Encode4(109008), // Rule ID 17146 //
38716 /* 108990 */ GIM_CheckI64ImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immZExt32),
38717 /* 108994 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38718 /* 108998 */ // MIs[0] Operand 1
38719 /* 108998 */ // No operand predicates
38720 /* 108998 */ // (imm:{ *:[i64] })<<P:Predicate_i64immZExt32>>:$src => (MOV32ri64:{ *:[i64] } (imm:{ *:[i64] }):$src)
38721 /* 108998 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32ri64),
38722 /* 109001 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38723 /* 109003 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
38724 /* 109006 */ GIR_RootConstrainSelectedInstOperands,
38725 /* 109007 */ // GIR_Coverage, 17146,
38726 /* 109007 */ GIR_EraseRootFromParent_Done,
38727 /* 109008 */ // Label 2364: @109008
38728 /* 109008 */ GIM_Try, /*On fail goto*//*Label 2365*/ GIMT_Encode4(109031), // Rule ID 22 //
38729 /* 109013 */ GIM_CheckI64ImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
38730 /* 109017 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38731 /* 109021 */ // MIs[0] Operand 1
38732 /* 109021 */ // No operand predicates
38733 /* 109021 */ // (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src => (MOV64ri32:{ *:[i64] } (imm:{ *:[i64] }):$src)
38734 /* 109021 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64ri32),
38735 /* 109024 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38736 /* 109026 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
38737 /* 109029 */ GIR_RootConstrainSelectedInstOperands,
38738 /* 109030 */ // GIR_Coverage, 22,
38739 /* 109030 */ GIR_EraseRootFromParent_Done,
38740 /* 109031 */ // Label 2365: @109031
38741 /* 109031 */ GIM_Try, /*On fail goto*//*Label 2366*/ GIMT_Encode4(109050), // Rule ID 23 //
38742 /* 109036 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38743 /* 109040 */ // MIs[0] Operand 1
38744 /* 109040 */ // No operand predicates
38745 /* 109040 */ // (imm:{ *:[i64] }):$src => (MOV64ri:{ *:[i64] } (imm:{ *:[i64] }):$src)
38746 /* 109040 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64ri),
38747 /* 109043 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38748 /* 109045 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
38749 /* 109048 */ GIR_RootConstrainSelectedInstOperands,
38750 /* 109049 */ // GIR_Coverage, 23,
38751 /* 109049 */ GIR_EraseRootFromParent_Done,
38752 /* 109050 */ // Label 2366: @109050
38753 /* 109050 */ GIM_Reject,
38754 /* 109051 */ // Label 2348: @109051
38755 /* 109051 */ GIM_Reject,
38756 /* 109052 */ // Label 23: @109052
38757 /* 109052 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 2370*/ GIMT_Encode4(109504),
38758 /* 109063 */ /*GILLT_s32*//*Label 2367*/ GIMT_Encode4(109075),
38759 /* 109067 */ /*GILLT_s64*//*Label 2368*/ GIMT_Encode4(109220),
38760 /* 109071 */ /*GILLT_s80*//*Label 2369*/ GIMT_Encode4(109365),
38761 /* 109075 */ // Label 2367: @109075
38762 /* 109075 */ GIM_Try, /*On fail goto*//*Label 2371*/ GIMT_Encode4(109101), // Rule ID 1116 //
38763 /* 109080 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
38764 /* 109083 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm0),
38765 /* 109087 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
38766 /* 109091 */ // MIs[0] Operand 1
38767 /* 109091 */ // No operand predicates
38768 /* 109091 */ // (fpimm:{ *:[f32] })<<P:Predicate_fpimm0>> => (LD_Fp032:{ *:[f32] }:{ *:[i16] })
38769 /* 109091 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp032),
38770 /* 109094 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38771 /* 109096 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38772 /* 109099 */ GIR_RootConstrainSelectedInstOperands,
38773 /* 109100 */ // GIR_Coverage, 1116,
38774 /* 109100 */ GIR_EraseRootFromParent_Done,
38775 /* 109101 */ // Label 2371: @109101
38776 /* 109101 */ GIM_Try, /*On fail goto*//*Label 2372*/ GIMT_Encode4(109127), // Rule ID 1117 //
38777 /* 109106 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
38778 /* 109109 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm1),
38779 /* 109113 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
38780 /* 109117 */ // MIs[0] Operand 1
38781 /* 109117 */ // No operand predicates
38782 /* 109117 */ // (fpimm:{ *:[f32] })<<P:Predicate_fpimm1>> => (LD_Fp132:{ *:[f32] }:{ *:[i16] })
38783 /* 109117 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp132),
38784 /* 109120 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38785 /* 109122 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38786 /* 109125 */ GIR_RootConstrainSelectedInstOperands,
38787 /* 109126 */ // GIR_Coverage, 1117,
38788 /* 109126 */ GIR_EraseRootFromParent_Done,
38789 /* 109127 */ // Label 2372: @109127
38790 /* 109127 */ GIM_Try, /*On fail goto*//*Label 2373*/ GIMT_Encode4(109173), // Rule ID 17710 //
38791 /* 109132 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
38792 /* 109135 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg0),
38793 /* 109139 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
38794 /* 109143 */ // MIs[0] Operand 1
38795 /* 109143 */ // No operand predicates
38796 /* 109143 */ // (fpimm:{ *:[f32] })<<P:Predicate_fpimmneg0>> => (CHS_Fp32:{ *:[f32] }:{ *:[i16] } (LD_Fp032:{ *:[f32] }:{ *:[i16] }))
38797 /* 109143 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38798 /* 109146 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp032),
38799 /* 109150 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38800 /* 109155 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
38801 /* 109158 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38802 /* 109160 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp32),
38803 /* 109163 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38804 /* 109165 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38805 /* 109168 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38806 /* 109171 */ GIR_RootConstrainSelectedInstOperands,
38807 /* 109172 */ // GIR_Coverage, 17710,
38808 /* 109172 */ GIR_EraseRootFromParent_Done,
38809 /* 109173 */ // Label 2373: @109173
38810 /* 109173 */ GIM_Try, /*On fail goto*//*Label 2374*/ GIMT_Encode4(109219), // Rule ID 17711 //
38811 /* 109178 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
38812 /* 109181 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg1),
38813 /* 109185 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
38814 /* 109189 */ // MIs[0] Operand 1
38815 /* 109189 */ // No operand predicates
38816 /* 109189 */ // (fpimm:{ *:[f32] })<<P:Predicate_fpimmneg1>> => (CHS_Fp32:{ *:[f32] }:{ *:[i16] } (LD_Fp132:{ *:[f32] }:{ *:[i16] }))
38817 /* 109189 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38818 /* 109192 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp132),
38819 /* 109196 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38820 /* 109201 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
38821 /* 109204 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38822 /* 109206 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp32),
38823 /* 109209 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38824 /* 109211 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38825 /* 109214 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38826 /* 109217 */ GIR_RootConstrainSelectedInstOperands,
38827 /* 109218 */ // GIR_Coverage, 17711,
38828 /* 109218 */ GIR_EraseRootFromParent_Done,
38829 /* 109219 */ // Label 2374: @109219
38830 /* 109219 */ GIM_Reject,
38831 /* 109220 */ // Label 2368: @109220
38832 /* 109220 */ GIM_Try, /*On fail goto*//*Label 2375*/ GIMT_Encode4(109246), // Rule ID 1118 //
38833 /* 109225 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
38834 /* 109228 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm0),
38835 /* 109232 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
38836 /* 109236 */ // MIs[0] Operand 1
38837 /* 109236 */ // No operand predicates
38838 /* 109236 */ // (fpimm:{ *:[f64] })<<P:Predicate_fpimm0>> => (LD_Fp064:{ *:[f64] }:{ *:[i16] })
38839 /* 109236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp064),
38840 /* 109239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38841 /* 109241 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38842 /* 109244 */ GIR_RootConstrainSelectedInstOperands,
38843 /* 109245 */ // GIR_Coverage, 1118,
38844 /* 109245 */ GIR_EraseRootFromParent_Done,
38845 /* 109246 */ // Label 2375: @109246
38846 /* 109246 */ GIM_Try, /*On fail goto*//*Label 2376*/ GIMT_Encode4(109272), // Rule ID 1119 //
38847 /* 109251 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
38848 /* 109254 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm1),
38849 /* 109258 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
38850 /* 109262 */ // MIs[0] Operand 1
38851 /* 109262 */ // No operand predicates
38852 /* 109262 */ // (fpimm:{ *:[f64] })<<P:Predicate_fpimm1>> => (LD_Fp164:{ *:[f64] }:{ *:[i16] })
38853 /* 109262 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp164),
38854 /* 109265 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38855 /* 109267 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38856 /* 109270 */ GIR_RootConstrainSelectedInstOperands,
38857 /* 109271 */ // GIR_Coverage, 1119,
38858 /* 109271 */ GIR_EraseRootFromParent_Done,
38859 /* 109272 */ // Label 2376: @109272
38860 /* 109272 */ GIM_Try, /*On fail goto*//*Label 2377*/ GIMT_Encode4(109318), // Rule ID 17712 //
38861 /* 109277 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
38862 /* 109280 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg0),
38863 /* 109284 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
38864 /* 109288 */ // MIs[0] Operand 1
38865 /* 109288 */ // No operand predicates
38866 /* 109288 */ // (fpimm:{ *:[f64] })<<P:Predicate_fpimmneg0>> => (CHS_Fp64:{ *:[f64] }:{ *:[i16] } (LD_Fp064:{ *:[f64] }:{ *:[i16] }))
38867 /* 109288 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
38868 /* 109291 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp064),
38869 /* 109295 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38870 /* 109300 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
38871 /* 109303 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38872 /* 109305 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp64),
38873 /* 109308 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38874 /* 109310 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38875 /* 109313 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38876 /* 109316 */ GIR_RootConstrainSelectedInstOperands,
38877 /* 109317 */ // GIR_Coverage, 17712,
38878 /* 109317 */ GIR_EraseRootFromParent_Done,
38879 /* 109318 */ // Label 2377: @109318
38880 /* 109318 */ GIM_Try, /*On fail goto*//*Label 2378*/ GIMT_Encode4(109364), // Rule ID 17713 //
38881 /* 109323 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
38882 /* 109326 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg1),
38883 /* 109330 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
38884 /* 109334 */ // MIs[0] Operand 1
38885 /* 109334 */ // No operand predicates
38886 /* 109334 */ // (fpimm:{ *:[f64] })<<P:Predicate_fpimmneg1>> => (CHS_Fp64:{ *:[f64] }:{ *:[i16] } (LD_Fp164:{ *:[f64] }:{ *:[i16] }))
38887 /* 109334 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
38888 /* 109337 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp164),
38889 /* 109341 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38890 /* 109346 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
38891 /* 109349 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38892 /* 109351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp64),
38893 /* 109354 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38894 /* 109356 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38895 /* 109359 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38896 /* 109362 */ GIR_RootConstrainSelectedInstOperands,
38897 /* 109363 */ // GIR_Coverage, 17713,
38898 /* 109363 */ GIR_EraseRootFromParent_Done,
38899 /* 109364 */ // Label 2378: @109364
38900 /* 109364 */ GIM_Reject,
38901 /* 109365 */ // Label 2369: @109365
38902 /* 109365 */ GIM_Try, /*On fail goto*//*Label 2379*/ GIMT_Encode4(109391), // Rule ID 1120 //
38903 /* 109370 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
38904 /* 109373 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm0),
38905 /* 109377 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
38906 /* 109381 */ // MIs[0] Operand 1
38907 /* 109381 */ // No operand predicates
38908 /* 109381 */ // (fpimm:{ *:[f80] })<<P:Predicate_fpimm0>> => (LD_Fp080:{ *:[f80] }:{ *:[i16] })
38909 /* 109381 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp080),
38910 /* 109384 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38911 /* 109386 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38912 /* 109389 */ GIR_RootConstrainSelectedInstOperands,
38913 /* 109390 */ // GIR_Coverage, 1120,
38914 /* 109390 */ GIR_EraseRootFromParent_Done,
38915 /* 109391 */ // Label 2379: @109391
38916 /* 109391 */ GIM_Try, /*On fail goto*//*Label 2380*/ GIMT_Encode4(109417), // Rule ID 1121 //
38917 /* 109396 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
38918 /* 109399 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm1),
38919 /* 109403 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
38920 /* 109407 */ // MIs[0] Operand 1
38921 /* 109407 */ // No operand predicates
38922 /* 109407 */ // (fpimm:{ *:[f80] })<<P:Predicate_fpimm1>> => (LD_Fp180:{ *:[f80] }:{ *:[i16] })
38923 /* 109407 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp180),
38924 /* 109410 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38925 /* 109412 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38926 /* 109415 */ GIR_RootConstrainSelectedInstOperands,
38927 /* 109416 */ // GIR_Coverage, 1121,
38928 /* 109416 */ GIR_EraseRootFromParent_Done,
38929 /* 109417 */ // Label 2380: @109417
38930 /* 109417 */ GIM_Try, /*On fail goto*//*Label 2381*/ GIMT_Encode4(109460), // Rule ID 17714 //
38931 /* 109422 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg0),
38932 /* 109426 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
38933 /* 109430 */ // MIs[0] Operand 1
38934 /* 109430 */ // No operand predicates
38935 /* 109430 */ // (fpimm:{ *:[f80] })<<P:Predicate_fpimmneg0>> => (CHS_Fp80:{ *:[f80] }:{ *:[i16] } (LD_Fp080:{ *:[f80] }:{ *:[i16] }))
38936 /* 109430 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s80,
38937 /* 109433 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp080),
38938 /* 109437 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38939 /* 109442 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
38940 /* 109445 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38941 /* 109447 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp80),
38942 /* 109450 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38943 /* 109452 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38944 /* 109455 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38945 /* 109458 */ GIR_RootConstrainSelectedInstOperands,
38946 /* 109459 */ // GIR_Coverage, 17714,
38947 /* 109459 */ GIR_EraseRootFromParent_Done,
38948 /* 109460 */ // Label 2381: @109460
38949 /* 109460 */ GIM_Try, /*On fail goto*//*Label 2382*/ GIMT_Encode4(109503), // Rule ID 17715 //
38950 /* 109465 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg1),
38951 /* 109469 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
38952 /* 109473 */ // MIs[0] Operand 1
38953 /* 109473 */ // No operand predicates
38954 /* 109473 */ // (fpimm:{ *:[f80] })<<P:Predicate_fpimmneg1>> => (CHS_Fp80:{ *:[f80] }:{ *:[i16] } (LD_Fp180:{ *:[f80] }:{ *:[i16] }))
38955 /* 109473 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s80,
38956 /* 109476 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp180),
38957 /* 109480 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38958 /* 109485 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
38959 /* 109488 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38960 /* 109490 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp80),
38961 /* 109493 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38962 /* 109495 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38963 /* 109498 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38964 /* 109501 */ GIR_RootConstrainSelectedInstOperands,
38965 /* 109502 */ // GIR_Coverage, 17715,
38966 /* 109502 */ GIR_EraseRootFromParent_Done,
38967 /* 109503 */ // Label 2382: @109503
38968 /* 109503 */ GIM_Reject,
38969 /* 109504 */ // Label 2370: @109504
38970 /* 109504 */ GIM_Reject,
38971 /* 109505 */ // Label 24: @109505
38972 /* 109505 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 2398*/ GIMT_Encode4(111176),
38973 /* 109516 */ /*GILLT_s16*//*Label 2383*/ GIMT_Encode4(109608),
38974 /* 109520 */ /*GILLT_s32*//*Label 2384*/ GIMT_Encode4(109666),
38975 /* 109524 */ /*GILLT_s64*//*Label 2385*/ GIMT_Encode4(109713), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
38976 /* 109540 */ /*GILLT_v2s64*//*Label 2386*/ GIMT_Encode4(109786), GIMT_Encode4(0),
38977 /* 109548 */ /*GILLT_v4s32*//*Label 2387*/ GIMT_Encode4(109813),
38978 /* 109552 */ /*GILLT_v4s64*//*Label 2388*/ GIMT_Encode4(109840), GIMT_Encode4(0),
38979 /* 109560 */ /*GILLT_v8s16*//*Label 2389*/ GIMT_Encode4(110037),
38980 /* 109564 */ /*GILLT_v8s32*//*Label 2390*/ GIMT_Encode4(110106),
38981 /* 109568 */ /*GILLT_v8s64*//*Label 2391*/ GIMT_Encode4(110303), GIMT_Encode4(0),
38982 /* 109576 */ /*GILLT_v16s8*//*Label 2392*/ GIMT_Encode4(110500),
38983 /* 109580 */ /*GILLT_v16s16*//*Label 2393*/ GIMT_Encode4(110569),
38984 /* 109584 */ /*GILLT_v16s32*//*Label 2394*/ GIMT_Encode4(110813), GIMT_Encode4(0),
38985 /* 109592 */ /*GILLT_v32s8*//*Label 2395*/ GIMT_Encode4(111010),
38986 /* 109596 */ /*GILLT_v32s16*//*Label 2396*/ GIMT_Encode4(111037), GIMT_Encode4(0),
38987 /* 109604 */ /*GILLT_v64s8*//*Label 2397*/ GIMT_Encode4(111149),
38988 /* 109608 */ // Label 2383: @109608
38989 /* 109608 */ GIM_Try, /*On fail goto*//*Label 2399*/ GIMT_Encode4(109665), // Rule ID 22729 //
38990 /* 109613 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
38991 /* 109616 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
38992 /* 109620 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
38993 /* 109624 */ // (sext:{ *:[i16] } GR8:{ *:[i8] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (MOVSX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_16bit:{ *:[i32] })
38994 /* 109624 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38995 /* 109627 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr8),
38996 /* 109631 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38997 /* 109636 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
38998 /* 109640 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38999 /* 109642 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39000 /* 109645 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39001 /* 109647 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
39002 /* 109654 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
39003 /* 109659 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39004 /* 109664 */ // GIR_Coverage, 22729,
39005 /* 109664 */ GIR_EraseRootFromParent_Done,
39006 /* 109665 */ // Label 2399: @109665
39007 /* 109665 */ GIM_Reject,
39008 /* 109666 */ // Label 2384: @109666
39009 /* 109666 */ GIM_Try, /*On fail goto*//*Label 2400*/ GIMT_Encode4(109689), // Rule ID 613 //
39010 /* 109671 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
39011 /* 109674 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39012 /* 109678 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39013 /* 109682 */ // (sext:{ *:[i32] } GR8:{ *:[i8] }:$src) => (MOVSX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src)
39014 /* 109682 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr8),
39015 /* 109687 */ GIR_RootConstrainSelectedInstOperands,
39016 /* 109688 */ // GIR_Coverage, 613,
39017 /* 109688 */ GIR_Done,
39018 /* 109689 */ // Label 2400: @109689
39019 /* 109689 */ GIM_Try, /*On fail goto*//*Label 2401*/ GIMT_Encode4(109712), // Rule ID 615 //
39020 /* 109694 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39021 /* 109697 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39022 /* 109701 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39023 /* 109705 */ // (sext:{ *:[i32] } GR16:{ *:[i16] }:$src) => (MOVSX32rr16:{ *:[i32] } GR16:{ *:[i16] }:$src)
39024 /* 109705 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr16),
39025 /* 109710 */ GIR_RootConstrainSelectedInstOperands,
39026 /* 109711 */ // GIR_Coverage, 615,
39027 /* 109711 */ GIR_Done,
39028 /* 109712 */ // Label 2401: @109712
39029 /* 109712 */ GIM_Reject,
39030 /* 109713 */ // Label 2385: @109713
39031 /* 109713 */ GIM_Try, /*On fail goto*//*Label 2402*/ GIMT_Encode4(109736), // Rule ID 621 //
39032 /* 109718 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
39033 /* 109721 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39034 /* 109725 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39035 /* 109729 */ // (sext:{ *:[i64] } GR8:{ *:[i8] }:$src) => (MOVSX64rr8:{ *:[i64] } GR8:{ *:[i8] }:$src)
39036 /* 109729 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX64rr8),
39037 /* 109734 */ GIR_RootConstrainSelectedInstOperands,
39038 /* 109735 */ // GIR_Coverage, 621,
39039 /* 109735 */ GIR_Done,
39040 /* 109736 */ // Label 2402: @109736
39041 /* 109736 */ GIM_Try, /*On fail goto*//*Label 2403*/ GIMT_Encode4(109759), // Rule ID 623 //
39042 /* 109741 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39043 /* 109744 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39044 /* 109748 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39045 /* 109752 */ // (sext:{ *:[i64] } GR16:{ *:[i16] }:$src) => (MOVSX64rr16:{ *:[i64] } GR16:{ *:[i16] }:$src)
39046 /* 109752 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX64rr16),
39047 /* 109757 */ GIR_RootConstrainSelectedInstOperands,
39048 /* 109758 */ // GIR_Coverage, 623,
39049 /* 109758 */ GIR_Done,
39050 /* 109759 */ // Label 2403: @109759
39051 /* 109759 */ GIM_Try, /*On fail goto*//*Label 2404*/ GIMT_Encode4(109785), // Rule ID 625 //
39052 /* 109764 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
39053 /* 109767 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
39054 /* 109770 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39055 /* 109774 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39056 /* 109778 */ // (sext:{ *:[i64] } GR32:{ *:[i32] }:$src) => (MOVSX64rr32:{ *:[i64] } GR32:{ *:[i32] }:$src)
39057 /* 109778 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX64rr32),
39058 /* 109783 */ GIR_RootConstrainSelectedInstOperands,
39059 /* 109784 */ // GIR_Coverage, 625,
39060 /* 109784 */ GIR_Done,
39061 /* 109785 */ // Label 2404: @109785
39062 /* 109785 */ GIM_Reject,
39063 /* 109786 */ // Label 2386: @109786
39064 /* 109786 */ GIM_Try, /*On fail goto*//*Label 2405*/ GIMT_Encode4(109812), // Rule ID 12598 //
39065 /* 109791 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
39066 /* 109794 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
39067 /* 109797 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39068 /* 109801 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
39069 /* 109805 */ // (sext:{ *:[v2i64] } VK2:{ *:[v2i1] }:$src) => (VPMOVM2QZ128rk:{ *:[v2i64] } VK2:{ *:[v2i1] }:$src)
39070 /* 109805 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2QZ128rk),
39071 /* 109810 */ GIR_RootConstrainSelectedInstOperands,
39072 /* 109811 */ // GIR_Coverage, 12598,
39073 /* 109811 */ GIR_Done,
39074 /* 109812 */ // Label 2405: @109812
39075 /* 109812 */ GIM_Reject,
39076 /* 109813 */ // Label 2387: @109813
39077 /* 109813 */ GIM_Try, /*On fail goto*//*Label 2406*/ GIMT_Encode4(109839), // Rule ID 12595 //
39078 /* 109818 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
39079 /* 109821 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
39080 /* 109824 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39081 /* 109828 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
39082 /* 109832 */ // (sext:{ *:[v4i32] } VK4:{ *:[v4i1] }:$src) => (VPMOVM2DZ128rk:{ *:[v4i32] } VK4:{ *:[v4i1] }:$src)
39083 /* 109832 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZ128rk),
39084 /* 109837 */ GIR_RootConstrainSelectedInstOperands,
39085 /* 109838 */ // GIR_Coverage, 12595,
39086 /* 109838 */ GIR_Done,
39087 /* 109839 */ // Label 2406: @109839
39088 /* 109839 */ GIM_Reject,
39089 /* 109840 */ // Label 2388: @109840
39090 /* 109840 */ GIM_Try, /*On fail goto*//*Label 2407*/ GIMT_Encode4(109899), // Rule ID 18380 //
39091 /* 109845 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
39092 /* 109848 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
39093 /* 109851 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
39094 /* 109855 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39095 /* 109859 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39096 /* 109863 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39097 /* 109866 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39098 /* 109870 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39099 /* 109874 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39100 /* 109876 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39101 /* 109883 */ // (sext:{ *:[v4i64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXDQYrm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
39102 /* 109883 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQYrm),
39103 /* 109886 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39104 /* 109888 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39105 /* 109892 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39106 /* 109897 */ GIR_RootConstrainSelectedInstOperands,
39107 /* 109898 */ // GIR_Coverage, 18380,
39108 /* 109898 */ GIR_EraseRootFromParent_Done,
39109 /* 109899 */ // Label 2407: @109899
39110 /* 109899 */ GIM_Try, /*On fail goto*//*Label 2408*/ GIMT_Encode4(109958), // Rule ID 21596 //
39111 /* 109904 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
39112 /* 109907 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
39113 /* 109910 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39114 /* 109914 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39115 /* 109918 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39116 /* 109922 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39117 /* 109925 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39118 /* 109929 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39119 /* 109933 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39120 /* 109935 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39121 /* 109942 */ // (sext:{ *:[v4i64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXDQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
39122 /* 109942 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQZ256rm),
39123 /* 109945 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39124 /* 109947 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39125 /* 109951 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39126 /* 109956 */ GIR_RootConstrainSelectedInstOperands,
39127 /* 109957 */ // GIR_Coverage, 21596,
39128 /* 109957 */ GIR_EraseRootFromParent_Done,
39129 /* 109958 */ // Label 2408: @109958
39130 /* 109958 */ GIM_Try, /*On fail goto*//*Label 2409*/ GIMT_Encode4(109984), // Rule ID 12575 //
39131 /* 109963 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
39132 /* 109966 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
39133 /* 109969 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39134 /* 109973 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39135 /* 109977 */ // (sext:{ *:[v4i64] } VR128X:{ *:[v4i32] }:$src) => (VPMOVSXDQZ256rr:{ *:[v4i64] } VR128X:{ *:[v4i32] }:$src)
39136 /* 109977 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQZ256rr),
39137 /* 109982 */ GIR_RootConstrainSelectedInstOperands,
39138 /* 109983 */ // GIR_Coverage, 12575,
39139 /* 109983 */ GIR_Done,
39140 /* 109984 */ // Label 2409: @109984
39141 /* 109984 */ GIM_Try, /*On fail goto*//*Label 2410*/ GIMT_Encode4(110010), // Rule ID 12597 //
39142 /* 109989 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
39143 /* 109992 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
39144 /* 109995 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39145 /* 109999 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
39146 /* 110003 */ // (sext:{ *:[v4i64] } VK4:{ *:[v4i1] }:$src) => (VPMOVM2QZ256rk:{ *:[v4i64] } VK4:{ *:[v4i1] }:$src)
39147 /* 110003 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2QZ256rk),
39148 /* 110008 */ GIR_RootConstrainSelectedInstOperands,
39149 /* 110009 */ // GIR_Coverage, 12597,
39150 /* 110009 */ GIR_Done,
39151 /* 110010 */ // Label 2410: @110010
39152 /* 110010 */ GIM_Try, /*On fail goto*//*Label 2411*/ GIMT_Encode4(110036), // Rule ID 18368 //
39153 /* 110015 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
39154 /* 110018 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
39155 /* 110021 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
39156 /* 110025 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
39157 /* 110029 */ // (sext:{ *:[v4i64] } VR128:{ *:[v4i32] }:$src) => (VPMOVSXDQYrr:{ *:[v4i64] } VR128:{ *:[v4i32] }:$src)
39158 /* 110029 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQYrr),
39159 /* 110034 */ GIR_RootConstrainSelectedInstOperands,
39160 /* 110035 */ // GIR_Coverage, 18368,
39161 /* 110035 */ GIR_Done,
39162 /* 110036 */ // Label 2411: @110036
39163 /* 110036 */ GIM_Reject,
39164 /* 110037 */ // Label 2389: @110037
39165 /* 110037 */ GIM_Try, /*On fail goto*//*Label 2412*/ GIMT_Encode4(110105),
39166 /* 110042 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
39167 /* 110045 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39168 /* 110049 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
39169 /* 110053 */ GIM_Try, /*On fail goto*//*Label 2413*/ GIMT_Encode4(110068), // Rule ID 12592 //
39170 /* 110058 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
39171 /* 110061 */ // (sext:{ *:[v8i16] } VK8:{ *:[v8i1] }:$src) => (VPMOVM2WZ128rk:{ *:[v8i16] } VK8:{ *:[v8i1] }:$src)
39172 /* 110061 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2WZ128rk),
39173 /* 110066 */ GIR_RootConstrainSelectedInstOperands,
39174 /* 110067 */ // GIR_Coverage, 12592,
39175 /* 110067 */ GIR_Done,
39176 /* 110068 */ // Label 2413: @110068
39177 /* 110068 */ GIM_Try, /*On fail goto*//*Label 2414*/ GIMT_Encode4(110104), // Rule ID 21672 //
39178 /* 110073 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX_NoBWI),
39179 /* 110076 */ // (sext:{ *:[v8i16] } VK8:{ *:[v8i1] }:$src) => (VPMOVDWZ256rr:{ *:[v8i16] } (VPMOVM2DZ256rk:{ *:[v8i32] } VK8:{ *:[v8i1] }:$src))
39180 /* 110076 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
39181 /* 110079 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZ256rk),
39182 /* 110083 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39183 /* 110088 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39184 /* 110092 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39185 /* 110094 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZ256rr),
39186 /* 110097 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39187 /* 110099 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39188 /* 110102 */ GIR_RootConstrainSelectedInstOperands,
39189 /* 110103 */ // GIR_Coverage, 21672,
39190 /* 110103 */ GIR_EraseRootFromParent_Done,
39191 /* 110104 */ // Label 2414: @110104
39192 /* 110104 */ GIM_Reject,
39193 /* 110105 */ // Label 2412: @110105
39194 /* 110105 */ GIM_Reject,
39195 /* 110106 */ // Label 2390: @110106
39196 /* 110106 */ GIM_Try, /*On fail goto*//*Label 2415*/ GIMT_Encode4(110165), // Rule ID 18376 //
39197 /* 110111 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
39198 /* 110114 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
39199 /* 110117 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
39200 /* 110121 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39201 /* 110125 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39202 /* 110129 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39203 /* 110132 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39204 /* 110136 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39205 /* 110140 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39206 /* 110142 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39207 /* 110149 */ // (sext:{ *:[v8i32] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXWDYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
39208 /* 110149 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDYrm),
39209 /* 110152 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39210 /* 110154 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39211 /* 110158 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39212 /* 110163 */ GIR_RootConstrainSelectedInstOperands,
39213 /* 110164 */ // GIR_Coverage, 18376,
39214 /* 110164 */ GIR_EraseRootFromParent_Done,
39215 /* 110165 */ // Label 2415: @110165
39216 /* 110165 */ GIM_Try, /*On fail goto*//*Label 2416*/ GIMT_Encode4(110224), // Rule ID 21595 //
39217 /* 110170 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
39218 /* 110173 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
39219 /* 110176 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39220 /* 110180 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39221 /* 110184 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39222 /* 110188 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39223 /* 110191 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39224 /* 110195 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39225 /* 110199 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39226 /* 110201 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39227 /* 110208 */ // (sext:{ *:[v8i32] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXWDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
39228 /* 110208 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDZ256rm),
39229 /* 110211 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39230 /* 110213 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39231 /* 110217 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39232 /* 110222 */ GIR_RootConstrainSelectedInstOperands,
39233 /* 110223 */ // GIR_Coverage, 21595,
39234 /* 110223 */ GIR_EraseRootFromParent_Done,
39235 /* 110224 */ // Label 2416: @110224
39236 /* 110224 */ GIM_Try, /*On fail goto*//*Label 2417*/ GIMT_Encode4(110250), // Rule ID 12539 //
39237 /* 110229 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
39238 /* 110232 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
39239 /* 110235 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39240 /* 110239 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39241 /* 110243 */ // (sext:{ *:[v8i32] } VR128X:{ *:[v8i16] }:$src) => (VPMOVSXWDZ256rr:{ *:[v8i32] } VR128X:{ *:[v8i16] }:$src)
39242 /* 110243 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDZ256rr),
39243 /* 110248 */ GIR_RootConstrainSelectedInstOperands,
39244 /* 110249 */ // GIR_Coverage, 12539,
39245 /* 110249 */ GIR_Done,
39246 /* 110250 */ // Label 2417: @110250
39247 /* 110250 */ GIM_Try, /*On fail goto*//*Label 2418*/ GIMT_Encode4(110276), // Rule ID 12594 //
39248 /* 110255 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
39249 /* 110258 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
39250 /* 110261 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39251 /* 110265 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
39252 /* 110269 */ // (sext:{ *:[v8i32] } VK8:{ *:[v8i1] }:$src) => (VPMOVM2DZ256rk:{ *:[v8i32] } VK8:{ *:[v8i1] }:$src)
39253 /* 110269 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZ256rk),
39254 /* 110274 */ GIR_RootConstrainSelectedInstOperands,
39255 /* 110275 */ // GIR_Coverage, 12594,
39256 /* 110275 */ GIR_Done,
39257 /* 110276 */ // Label 2418: @110276
39258 /* 110276 */ GIM_Try, /*On fail goto*//*Label 2419*/ GIMT_Encode4(110302), // Rule ID 18366 //
39259 /* 110281 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
39260 /* 110284 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
39261 /* 110287 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
39262 /* 110291 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
39263 /* 110295 */ // (sext:{ *:[v8i32] } VR128:{ *:[v8i16] }:$src) => (VPMOVSXWDYrr:{ *:[v8i32] } VR128:{ *:[v8i16] }:$src)
39264 /* 110295 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDYrr),
39265 /* 110300 */ GIR_RootConstrainSelectedInstOperands,
39266 /* 110301 */ // GIR_Coverage, 18366,
39267 /* 110301 */ GIR_Done,
39268 /* 110302 */ // Label 2419: @110302
39269 /* 110302 */ GIM_Reject,
39270 /* 110303 */ // Label 2391: @110303
39271 /* 110303 */ GIM_Try, /*On fail goto*//*Label 2420*/ GIMT_Encode4(110362), // Rule ID 21600 //
39272 /* 110308 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
39273 /* 110311 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
39274 /* 110314 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39275 /* 110318 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39276 /* 110322 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39277 /* 110326 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39278 /* 110329 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39279 /* 110333 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39280 /* 110337 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39281 /* 110339 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39282 /* 110346 */ // (sext:{ *:[v8i64] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXWQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
39283 /* 110346 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWQZrm),
39284 /* 110349 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39285 /* 110351 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39286 /* 110355 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39287 /* 110360 */ GIR_RootConstrainSelectedInstOperands,
39288 /* 110361 */ // GIR_Coverage, 21600,
39289 /* 110361 */ GIR_EraseRootFromParent_Done,
39290 /* 110362 */ // Label 2420: @110362
39291 /* 110362 */ GIM_Try, /*On fail goto*//*Label 2421*/ GIMT_Encode4(110421), // Rule ID 21601 //
39292 /* 110367 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
39293 /* 110370 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
39294 /* 110373 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39295 /* 110377 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39296 /* 110381 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39297 /* 110385 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39298 /* 110388 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39299 /* 110392 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39300 /* 110396 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39301 /* 110398 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39302 /* 110405 */ // (sext:{ *:[v8i64] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXDQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
39303 /* 110405 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQZrm),
39304 /* 110408 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39305 /* 110410 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39306 /* 110414 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39307 /* 110419 */ GIR_RootConstrainSelectedInstOperands,
39308 /* 110420 */ // GIR_Coverage, 21601,
39309 /* 110420 */ GIR_EraseRootFromParent_Done,
39310 /* 110421 */ // Label 2421: @110421
39311 /* 110421 */ GIM_Try, /*On fail goto*//*Label 2422*/ GIMT_Encode4(110447), // Rule ID 12563 //
39312 /* 110426 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
39313 /* 110429 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
39314 /* 110432 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39315 /* 110436 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39316 /* 110440 */ // (sext:{ *:[v8i64] } VR128X:{ *:[v8i16] }:$src) => (VPMOVSXWQZrr:{ *:[v8i64] } VR128X:{ *:[v8i16] }:$src)
39317 /* 110440 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWQZrr),
39318 /* 110445 */ GIR_RootConstrainSelectedInstOperands,
39319 /* 110446 */ // GIR_Coverage, 12563,
39320 /* 110446 */ GIR_Done,
39321 /* 110447 */ // Label 2422: @110447
39322 /* 110447 */ GIM_Try, /*On fail goto*//*Label 2423*/ GIMT_Encode4(110473), // Rule ID 12581 //
39323 /* 110452 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
39324 /* 110455 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
39325 /* 110458 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39326 /* 110462 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39327 /* 110466 */ // (sext:{ *:[v8i64] } VR256X:{ *:[v8i32] }:$src) => (VPMOVSXDQZrr:{ *:[v8i64] } VR256X:{ *:[v8i32] }:$src)
39328 /* 110466 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQZrr),
39329 /* 110471 */ GIR_RootConstrainSelectedInstOperands,
39330 /* 110472 */ // GIR_Coverage, 12581,
39331 /* 110472 */ GIR_Done,
39332 /* 110473 */ // Label 2423: @110473
39333 /* 110473 */ GIM_Try, /*On fail goto*//*Label 2424*/ GIMT_Encode4(110499), // Rule ID 12596 //
39334 /* 110478 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
39335 /* 110481 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
39336 /* 110484 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39337 /* 110488 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
39338 /* 110492 */ // (sext:{ *:[v8i64] } VK8:{ *:[v8i1] }:$src) => (VPMOVM2QZrk:{ *:[v8i64] } VK8:{ *:[v8i1] }:$src)
39339 /* 110492 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2QZrk),
39340 /* 110497 */ GIR_RootConstrainSelectedInstOperands,
39341 /* 110498 */ // GIR_Coverage, 12596,
39342 /* 110498 */ GIR_Done,
39343 /* 110499 */ // Label 2424: @110499
39344 /* 110499 */ GIM_Reject,
39345 /* 110500 */ // Label 2392: @110500
39346 /* 110500 */ GIM_Try, /*On fail goto*//*Label 2425*/ GIMT_Encode4(110568),
39347 /* 110505 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
39348 /* 110508 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39349 /* 110512 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
39350 /* 110516 */ GIM_Try, /*On fail goto*//*Label 2426*/ GIMT_Encode4(110531), // Rule ID 12589 //
39351 /* 110521 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
39352 /* 110524 */ // (sext:{ *:[v16i8] } VK16:{ *:[v16i1] }:$src) => (VPMOVM2BZ128rk:{ *:[v16i8] } VK16:{ *:[v16i1] }:$src)
39353 /* 110524 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2BZ128rk),
39354 /* 110529 */ GIR_RootConstrainSelectedInstOperands,
39355 /* 110530 */ // GIR_Coverage, 12589,
39356 /* 110530 */ GIR_Done,
39357 /* 110531 */ // Label 2426: @110531
39358 /* 110531 */ GIM_Try, /*On fail goto*//*Label 2427*/ GIMT_Encode4(110567), // Rule ID 21670 //
39359 /* 110536 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoBWI),
39360 /* 110539 */ // (sext:{ *:[v16i8] } VK16:{ *:[v16i1] }:$src) => (VPMOVDBZrr:{ *:[v16i8] } (VPMOVM2DZrk:{ *:[v16i32] } VK16:{ *:[v16i1] }:$src))
39361 /* 110539 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
39362 /* 110542 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZrk),
39363 /* 110546 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39364 /* 110551 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39365 /* 110555 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39366 /* 110557 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDBZrr),
39367 /* 110560 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39368 /* 110562 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39369 /* 110565 */ GIR_RootConstrainSelectedInstOperands,
39370 /* 110566 */ // GIR_Coverage, 21670,
39371 /* 110566 */ GIR_EraseRootFromParent_Done,
39372 /* 110567 */ // Label 2427: @110567
39373 /* 110567 */ GIM_Reject,
39374 /* 110568 */ // Label 2425: @110568
39375 /* 110568 */ GIM_Reject,
39376 /* 110569 */ // Label 2393: @110569
39377 /* 110569 */ GIM_Try, /*On fail goto*//*Label 2428*/ GIMT_Encode4(110628), // Rule ID 18370 //
39378 /* 110574 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
39379 /* 110577 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
39380 /* 110580 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
39381 /* 110584 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39382 /* 110588 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39383 /* 110592 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39384 /* 110595 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39385 /* 110599 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39386 /* 110603 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39387 /* 110605 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39388 /* 110612 */ // (sext:{ *:[v16i16] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXBWYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
39389 /* 110612 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWYrm),
39390 /* 110615 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39391 /* 110617 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39392 /* 110621 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39393 /* 110626 */ GIR_RootConstrainSelectedInstOperands,
39394 /* 110627 */ // GIR_Coverage, 18370,
39395 /* 110627 */ GIR_EraseRootFromParent_Done,
39396 /* 110628 */ // Label 2428: @110628
39397 /* 110628 */ GIM_Try, /*On fail goto*//*Label 2429*/ GIMT_Encode4(110687), // Rule ID 21594 //
39398 /* 110633 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
39399 /* 110636 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
39400 /* 110639 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39401 /* 110643 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39402 /* 110647 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39403 /* 110651 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39404 /* 110654 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39405 /* 110658 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39406 /* 110662 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39407 /* 110664 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39408 /* 110671 */ // (sext:{ *:[v16i16] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXBWZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
39409 /* 110671 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWZ256rm),
39410 /* 110674 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39411 /* 110676 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39412 /* 110680 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39413 /* 110685 */ GIR_RootConstrainSelectedInstOperands,
39414 /* 110686 */ // GIR_Coverage, 21594,
39415 /* 110686 */ GIR_EraseRootFromParent_Done,
39416 /* 110687 */ // Label 2429: @110687
39417 /* 110687 */ GIM_Try, /*On fail goto*//*Label 2430*/ GIMT_Encode4(110713), // Rule ID 12485 //
39418 /* 110692 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
39419 /* 110695 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
39420 /* 110698 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39421 /* 110702 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39422 /* 110706 */ // (sext:{ *:[v16i16] } VR128X:{ *:[v16i8] }:$src) => (VPMOVSXBWZ256rr:{ *:[v16i16] } VR128X:{ *:[v16i8] }:$src)
39423 /* 110706 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWZ256rr),
39424 /* 110711 */ GIR_RootConstrainSelectedInstOperands,
39425 /* 110712 */ // GIR_Coverage, 12485,
39426 /* 110712 */ GIR_Done,
39427 /* 110713 */ // Label 2430: @110713
39428 /* 110713 */ GIM_Try, /*On fail goto*//*Label 2431*/ GIMT_Encode4(110739), // Rule ID 12591 //
39429 /* 110718 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
39430 /* 110721 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
39431 /* 110724 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39432 /* 110728 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
39433 /* 110732 */ // (sext:{ *:[v16i16] } VK16:{ *:[v16i1] }:$src) => (VPMOVM2WZ256rk:{ *:[v16i16] } VK16:{ *:[v16i1] }:$src)
39434 /* 110732 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2WZ256rk),
39435 /* 110737 */ GIR_RootConstrainSelectedInstOperands,
39436 /* 110738 */ // GIR_Coverage, 12591,
39437 /* 110738 */ GIR_Done,
39438 /* 110739 */ // Label 2431: @110739
39439 /* 110739 */ GIM_Try, /*On fail goto*//*Label 2432*/ GIMT_Encode4(110765), // Rule ID 18363 //
39440 /* 110744 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
39441 /* 110747 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
39442 /* 110750 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
39443 /* 110754 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
39444 /* 110758 */ // (sext:{ *:[v16i16] } VR128:{ *:[v16i8] }:$src) => (VPMOVSXBWYrr:{ *:[v16i16] } VR128:{ *:[v16i8] }:$src)
39445 /* 110758 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWYrr),
39446 /* 110763 */ GIR_RootConstrainSelectedInstOperands,
39447 /* 110764 */ // GIR_Coverage, 18363,
39448 /* 110764 */ GIR_Done,
39449 /* 110765 */ // Label 2432: @110765
39450 /* 110765 */ GIM_Try, /*On fail goto*//*Label 2433*/ GIMT_Encode4(110812), // Rule ID 21671 //
39451 /* 110770 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoBWI),
39452 /* 110773 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
39453 /* 110776 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39454 /* 110780 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
39455 /* 110784 */ // (sext:{ *:[v16i16] } VK16:{ *:[v16i1] }:$src) => (VPMOVDWZrr:{ *:[v16i16] } (VPMOVM2DZrk:{ *:[v16i32] } VK16:{ *:[v16i1] }:$src))
39456 /* 110784 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
39457 /* 110787 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZrk),
39458 /* 110791 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39459 /* 110796 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39460 /* 110800 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39461 /* 110802 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZrr),
39462 /* 110805 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39463 /* 110807 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39464 /* 110810 */ GIR_RootConstrainSelectedInstOperands,
39465 /* 110811 */ // GIR_Coverage, 21671,
39466 /* 110811 */ GIR_EraseRootFromParent_Done,
39467 /* 110812 */ // Label 2433: @110812
39468 /* 110812 */ GIM_Reject,
39469 /* 110813 */ // Label 2394: @110813
39470 /* 110813 */ GIM_Try, /*On fail goto*//*Label 2434*/ GIMT_Encode4(110872), // Rule ID 21598 //
39471 /* 110818 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
39472 /* 110821 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
39473 /* 110824 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39474 /* 110828 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39475 /* 110832 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39476 /* 110836 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39477 /* 110839 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39478 /* 110843 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39479 /* 110847 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39480 /* 110849 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39481 /* 110856 */ // (sext:{ *:[v16i32] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXBDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
39482 /* 110856 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBDZrm),
39483 /* 110859 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39484 /* 110861 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39485 /* 110865 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39486 /* 110870 */ GIR_RootConstrainSelectedInstOperands,
39487 /* 110871 */ // GIR_Coverage, 21598,
39488 /* 110871 */ GIR_EraseRootFromParent_Done,
39489 /* 110872 */ // Label 2434: @110872
39490 /* 110872 */ GIM_Try, /*On fail goto*//*Label 2435*/ GIMT_Encode4(110931), // Rule ID 21599 //
39491 /* 110877 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
39492 /* 110880 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
39493 /* 110883 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39494 /* 110887 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39495 /* 110891 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39496 /* 110895 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39497 /* 110898 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39498 /* 110902 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39499 /* 110906 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39500 /* 110908 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39501 /* 110915 */ // (sext:{ *:[v16i32] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXWDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
39502 /* 110915 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDZrm),
39503 /* 110918 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39504 /* 110920 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39505 /* 110924 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39506 /* 110929 */ GIR_RootConstrainSelectedInstOperands,
39507 /* 110930 */ // GIR_Coverage, 21599,
39508 /* 110930 */ GIR_EraseRootFromParent_Done,
39509 /* 110931 */ // Label 2435: @110931
39510 /* 110931 */ GIM_Try, /*On fail goto*//*Label 2436*/ GIMT_Encode4(110957), // Rule ID 12509 //
39511 /* 110936 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
39512 /* 110939 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
39513 /* 110942 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39514 /* 110946 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39515 /* 110950 */ // (sext:{ *:[v16i32] } VR128X:{ *:[v16i8] }:$src) => (VPMOVSXBDZrr:{ *:[v16i32] } VR128X:{ *:[v16i8] }:$src)
39516 /* 110950 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBDZrr),
39517 /* 110955 */ GIR_RootConstrainSelectedInstOperands,
39518 /* 110956 */ // GIR_Coverage, 12509,
39519 /* 110956 */ GIR_Done,
39520 /* 110957 */ // Label 2436: @110957
39521 /* 110957 */ GIM_Try, /*On fail goto*//*Label 2437*/ GIMT_Encode4(110983), // Rule ID 12545 //
39522 /* 110962 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
39523 /* 110965 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
39524 /* 110968 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39525 /* 110972 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39526 /* 110976 */ // (sext:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src) => (VPMOVSXWDZrr:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src)
39527 /* 110976 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDZrr),
39528 /* 110981 */ GIR_RootConstrainSelectedInstOperands,
39529 /* 110982 */ // GIR_Coverage, 12545,
39530 /* 110982 */ GIR_Done,
39531 /* 110983 */ // Label 2437: @110983
39532 /* 110983 */ GIM_Try, /*On fail goto*//*Label 2438*/ GIMT_Encode4(111009), // Rule ID 12593 //
39533 /* 110988 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
39534 /* 110991 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
39535 /* 110994 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39536 /* 110998 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
39537 /* 111002 */ // (sext:{ *:[v16i32] } VK16:{ *:[v16i1] }:$src) => (VPMOVM2DZrk:{ *:[v16i32] } VK16:{ *:[v16i1] }:$src)
39538 /* 111002 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZrk),
39539 /* 111007 */ GIR_RootConstrainSelectedInstOperands,
39540 /* 111008 */ // GIR_Coverage, 12593,
39541 /* 111008 */ GIR_Done,
39542 /* 111009 */ // Label 2438: @111009
39543 /* 111009 */ GIM_Reject,
39544 /* 111010 */ // Label 2395: @111010
39545 /* 111010 */ GIM_Try, /*On fail goto*//*Label 2439*/ GIMT_Encode4(111036), // Rule ID 12588 //
39546 /* 111015 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
39547 /* 111018 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
39548 /* 111021 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39549 /* 111025 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
39550 /* 111029 */ // (sext:{ *:[v32i8] } VK32:{ *:[v32i1] }:$src) => (VPMOVM2BZ256rk:{ *:[v32i8] } VK32:{ *:[v32i1] }:$src)
39551 /* 111029 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2BZ256rk),
39552 /* 111034 */ GIR_RootConstrainSelectedInstOperands,
39553 /* 111035 */ // GIR_Coverage, 12588,
39554 /* 111035 */ GIR_Done,
39555 /* 111036 */ // Label 2439: @111036
39556 /* 111036 */ GIM_Reject,
39557 /* 111037 */ // Label 2396: @111037
39558 /* 111037 */ GIM_Try, /*On fail goto*//*Label 2440*/ GIMT_Encode4(111096), // Rule ID 21597 //
39559 /* 111042 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
39560 /* 111045 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
39561 /* 111048 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39562 /* 111052 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39563 /* 111056 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39564 /* 111060 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39565 /* 111063 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39566 /* 111067 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39567 /* 111071 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39568 /* 111073 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39569 /* 111080 */ // (sext:{ *:[v32i16] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXBWZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
39570 /* 111080 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWZrm),
39571 /* 111083 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39572 /* 111085 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39573 /* 111089 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39574 /* 111094 */ GIR_RootConstrainSelectedInstOperands,
39575 /* 111095 */ // GIR_Coverage, 21597,
39576 /* 111095 */ GIR_EraseRootFromParent_Done,
39577 /* 111096 */ // Label 2440: @111096
39578 /* 111096 */ GIM_Try, /*On fail goto*//*Label 2441*/ GIMT_Encode4(111122), // Rule ID 12491 //
39579 /* 111101 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
39580 /* 111104 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
39581 /* 111107 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39582 /* 111111 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39583 /* 111115 */ // (sext:{ *:[v32i16] } VR256X:{ *:[v32i8] }:$src) => (VPMOVSXBWZrr:{ *:[v32i16] } VR256X:{ *:[v32i8] }:$src)
39584 /* 111115 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWZrr),
39585 /* 111120 */ GIR_RootConstrainSelectedInstOperands,
39586 /* 111121 */ // GIR_Coverage, 12491,
39587 /* 111121 */ GIR_Done,
39588 /* 111122 */ // Label 2441: @111122
39589 /* 111122 */ GIM_Try, /*On fail goto*//*Label 2442*/ GIMT_Encode4(111148), // Rule ID 12590 //
39590 /* 111127 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
39591 /* 111130 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
39592 /* 111133 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39593 /* 111137 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
39594 /* 111141 */ // (sext:{ *:[v32i16] } VK32:{ *:[v32i1] }:$src) => (VPMOVM2WZrk:{ *:[v32i16] } VK32:{ *:[v32i1] }:$src)
39595 /* 111141 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2WZrk),
39596 /* 111146 */ GIR_RootConstrainSelectedInstOperands,
39597 /* 111147 */ // GIR_Coverage, 12590,
39598 /* 111147 */ GIR_Done,
39599 /* 111148 */ // Label 2442: @111148
39600 /* 111148 */ GIM_Reject,
39601 /* 111149 */ // Label 2397: @111149
39602 /* 111149 */ GIM_Try, /*On fail goto*//*Label 2443*/ GIMT_Encode4(111175), // Rule ID 12587 //
39603 /* 111154 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
39604 /* 111157 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
39605 /* 111160 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39606 /* 111164 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
39607 /* 111168 */ // (sext:{ *:[v64i8] } VK64:{ *:[v64i1] }:$src) => (VPMOVM2BZrk:{ *:[v64i8] } VK64:{ *:[v64i1] }:$src)
39608 /* 111168 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2BZrk),
39609 /* 111173 */ GIR_RootConstrainSelectedInstOperands,
39610 /* 111174 */ // GIR_Coverage, 12587,
39611 /* 111174 */ GIR_Done,
39612 /* 111175 */ // Label 2443: @111175
39613 /* 111175 */ GIM_Reject,
39614 /* 111176 */ // Label 2398: @111176
39615 /* 111176 */ GIM_Reject,
39616 /* 111177 */ // Label 25: @111177
39617 /* 111177 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(4), /*)*//*default:*//*Label 2446*/ GIMT_Encode4(111418),
39618 /* 111188 */ /*GILLT_s16*//*Label 2444*/ GIMT_Encode4(111196),
39619 /* 111192 */ /*GILLT_s32*//*Label 2445*/ GIMT_Encode4(111292),
39620 /* 111196 */ // Label 2444: @111196
39621 /* 111196 */ GIM_Try, /*On fail goto*//*Label 2447*/ GIMT_Encode4(111291), // Rule ID 22725 //
39622 /* 111201 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39623 /* 111204 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39624 /* 111208 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39625 /* 111212 */ // MIs[0] Operand 2
39626 /* 111212 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
39627 /* 111223 */ // (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] })
39628 /* 111223 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s8,
39629 /* 111226 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39630 /* 111230 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39631 /* 111235 */ GIR_CopySubReg, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src
39632 /* 111241 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
39633 /* 111246 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
39634 /* 111251 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39635 /* 111254 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr8),
39636 /* 111258 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39637 /* 111263 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
39638 /* 111266 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39639 /* 111268 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39640 /* 111271 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39641 /* 111273 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
39642 /* 111280 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
39643 /* 111285 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39644 /* 111290 */ // GIR_Coverage, 22725,
39645 /* 111290 */ GIR_EraseRootFromParent_Done,
39646 /* 111291 */ // Label 2447: @111291
39647 /* 111291 */ GIM_Reject,
39648 /* 111292 */ // Label 2445: @111292
39649 /* 111292 */ GIM_Try, /*On fail goto*//*Label 2448*/ GIMT_Encode4(111417),
39650 /* 111297 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
39651 /* 111300 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39652 /* 111304 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39653 /* 111308 */ GIM_Try, /*On fail goto*//*Label 2449*/ GIMT_Encode4(111362), // Rule ID 22723 //
39654 /* 111313 */ // MIs[0] Operand 2
39655 /* 111313 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(16),
39656 /* 111324 */ // (sext_inreg:{ *:[i32] } GR32:{ *:[i32] }:$src, i16:{ *:[Other] }) => (MOVSX32rr16:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i16] } GR32:{ *:[i32] }:$src, sub_16bit:{ *:[i32] }))
39657 /* 111324 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
39658 /* 111327 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39659 /* 111331 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39660 /* 111336 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(4), // src
39661 /* 111342 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
39662 /* 111347 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39663 /* 111352 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr16),
39664 /* 111355 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39665 /* 111357 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39666 /* 111360 */ GIR_RootConstrainSelectedInstOperands,
39667 /* 111361 */ // GIR_Coverage, 22723,
39668 /* 111361 */ GIR_EraseRootFromParent_Done,
39669 /* 111362 */ // Label 2449: @111362
39670 /* 111362 */ GIM_Try, /*On fail goto*//*Label 2450*/ GIMT_Encode4(111416), // Rule ID 22724 //
39671 /* 111367 */ // MIs[0] Operand 2
39672 /* 111367 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
39673 /* 111378 */ // (sext_inreg:{ *:[i32] } GR32:{ *:[i32] }:$src, i8:{ *:[Other] }) => (MOVSX32rr8:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i8] } GR32:{ *:[i32] }:$src, sub_8bit:{ *:[i32] }))
39674 /* 111378 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s8,
39675 /* 111381 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39676 /* 111385 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39677 /* 111390 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src
39678 /* 111396 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
39679 /* 111401 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39680 /* 111406 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr8),
39681 /* 111409 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39682 /* 111411 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39683 /* 111414 */ GIR_RootConstrainSelectedInstOperands,
39684 /* 111415 */ // GIR_Coverage, 22724,
39685 /* 111415 */ GIR_EraseRootFromParent_Done,
39686 /* 111416 */ // Label 2450: @111416
39687 /* 111416 */ GIM_Reject,
39688 /* 111417 */ // Label 2448: @111417
39689 /* 111417 */ GIM_Reject,
39690 /* 111418 */ // Label 2446: @111418
39691 /* 111418 */ GIM_Reject,
39692 /* 111419 */ // Label 26: @111419
39693 /* 111419 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 2460*/ GIMT_Encode4(113375),
39694 /* 111430 */ /*GILLT_s16*//*Label 2451*/ GIMT_Encode4(111514),
39695 /* 111434 */ /*GILLT_s32*//*Label 2452*/ GIMT_Encode4(111572),
39696 /* 111438 */ /*GILLT_s64*//*Label 2453*/ GIMT_Encode4(111918), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
39697 /* 111466 */ /*GILLT_v4s64*//*Label 2454*/ GIMT_Encode4(112444), GIMT_Encode4(0), GIMT_Encode4(0),
39698 /* 111478 */ /*GILLT_v8s32*//*Label 2455*/ GIMT_Encode4(112612),
39699 /* 111482 */ /*GILLT_v8s64*//*Label 2456*/ GIMT_Encode4(112780), GIMT_Encode4(0), GIMT_Encode4(0),
39700 /* 111494 */ /*GILLT_v16s16*//*Label 2457*/ GIMT_Encode4(112951),
39701 /* 111498 */ /*GILLT_v16s32*//*Label 2458*/ GIMT_Encode4(113119), GIMT_Encode4(0), GIMT_Encode4(0),
39702 /* 111510 */ /*GILLT_v32s16*//*Label 2459*/ GIMT_Encode4(113290),
39703 /* 111514 */ // Label 2451: @111514
39704 /* 111514 */ GIM_Try, /*On fail goto*//*Label 2461*/ GIMT_Encode4(111571), // Rule ID 22731 //
39705 /* 111519 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
39706 /* 111522 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39707 /* 111526 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39708 /* 111530 */ // (zext:{ *:[i16] } GR8:{ *:[i8] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_16bit:{ *:[i32] })
39709 /* 111530 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39710 /* 111533 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
39711 /* 111537 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39712 /* 111542 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39713 /* 111546 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39714 /* 111548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39715 /* 111551 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39716 /* 111553 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
39717 /* 111560 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
39718 /* 111565 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39719 /* 111570 */ // GIR_Coverage, 22731,
39720 /* 111570 */ GIR_EraseRootFromParent_Done,
39721 /* 111571 */ // Label 2461: @111571
39722 /* 111571 */ GIM_Reject,
39723 /* 111572 */ // Label 2452: @111572
39724 /* 111572 */ GIM_Try, /*On fail goto*//*Label 2462*/ GIMT_Encode4(111692), // Rule ID 23055 //
39725 /* 111577 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasZU),
39726 /* 111580 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39727 /* 111583 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
39728 /* 111587 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39729 /* 111591 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
39730 /* 111595 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
39731 /* 111599 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
39732 /* 111603 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
39733 /* 111607 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
39734 /* 111611 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39735 /* 111614 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
39736 /* 111618 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
39737 /* 111622 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
39738 /* 111626 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
39739 /* 111630 */ // MIs[3] Operand 1
39740 /* 111630 */ // No operand predicates
39741 /* 111630 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
39742 /* 111632 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39743 /* 111639 */ // (zext:{ *:[i32] } (mul:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (imm:{ *:[i16] }):$src2)) => (SUBREG_TO_REG:{ *:[i32] } (IMULZU16rmi:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i16] }):$src2), sub_16bit:{ *:[i32] })
39744 /* 111639 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
39745 /* 111642 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::IMULZU16rmi),
39746 /* 111646 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39747 /* 111651 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src1
39748 /* 111655 */ GIR_CopyConstantAsSImm, /*NewInsnID*/1, /*OldInsnID*/3, // src2
39749 /* 111658 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
39750 /* 111661 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
39751 /* 111668 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39752 /* 111670 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39753 /* 111673 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39754 /* 111675 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39755 /* 111678 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
39756 /* 111681 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
39757 /* 111686 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
39758 /* 111691 */ // GIR_Coverage, 23055,
39759 /* 111691 */ GIR_EraseRootFromParent_Done,
39760 /* 111692 */ // Label 2462: @111692
39761 /* 111692 */ GIM_Try, /*On fail goto*//*Label 2463*/ GIMT_Encode4(111784), // Rule ID 23054 //
39762 /* 111697 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasZU),
39763 /* 111700 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39764 /* 111703 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
39765 /* 111707 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39766 /* 111711 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
39767 /* 111715 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
39768 /* 111719 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
39769 /* 111723 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39770 /* 111728 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
39771 /* 111732 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
39772 /* 111736 */ // MIs[2] Operand 1
39773 /* 111736 */ // No operand predicates
39774 /* 111736 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
39775 /* 111738 */ // (zext:{ *:[i32] } (mul:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)) => (SUBREG_TO_REG:{ *:[i32] } (IMULZU16rri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2), sub_16bit:{ *:[i32] })
39776 /* 111738 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
39777 /* 111741 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::IMULZU16rri),
39778 /* 111745 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39779 /* 111750 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src1
39780 /* 111754 */ GIR_CopyConstantAsSImm, /*NewInsnID*/1, /*OldInsnID*/2, // src2
39781 /* 111757 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
39782 /* 111760 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39783 /* 111762 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39784 /* 111765 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39785 /* 111767 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39786 /* 111770 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
39787 /* 111773 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
39788 /* 111778 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
39789 /* 111783 */ // GIR_Coverage, 23054,
39790 /* 111783 */ GIR_EraseRootFromParent_Done,
39791 /* 111784 */ // Label 2463: @111784
39792 /* 111784 */ GIM_Try, /*On fail goto*//*Label 2464*/ GIMT_Encode4(111826), // Rule ID 19433 //
39793 /* 111789 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39794 /* 111792 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39795 /* 111796 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39796 /* 111800 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
39797 /* 111804 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
39798 /* 111808 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
39799 /* 111813 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39800 /* 111815 */ // (zext:{ *:[i32] } (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src)) => (KMOVWrk:{ *:[i32] } VK16:{ *:[v16i1] }:$src)
39801 /* 111815 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWrk),
39802 /* 111818 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39803 /* 111820 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
39804 /* 111824 */ GIR_RootConstrainSelectedInstOperands,
39805 /* 111825 */ // GIR_Coverage, 19433,
39806 /* 111825 */ GIR_EraseRootFromParent_Done,
39807 /* 111826 */ // Label 2464: @111826
39808 /* 111826 */ GIM_Try, /*On fail goto*//*Label 2465*/ GIMT_Encode4(111871), // Rule ID 19436 //
39809 /* 111831 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
39810 /* 111834 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
39811 /* 111837 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39812 /* 111841 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39813 /* 111845 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
39814 /* 111849 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
39815 /* 111853 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
39816 /* 111858 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39817 /* 111860 */ // (zext:{ *:[i32] } (bitconvert:{ *:[i8] } VK8:{ *:[v8i1] }:$src)) => (KMOVBrk:{ *:[i32] } VK8:{ *:[v8i1] }:$src)
39818 /* 111860 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBrk),
39819 /* 111863 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39820 /* 111865 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
39821 /* 111869 */ GIR_RootConstrainSelectedInstOperands,
39822 /* 111870 */ // GIR_Coverage, 19436,
39823 /* 111870 */ GIR_EraseRootFromParent_Done,
39824 /* 111871 */ // Label 2465: @111871
39825 /* 111871 */ GIM_Try, /*On fail goto*//*Label 2466*/ GIMT_Encode4(111894), // Rule ID 617 //
39826 /* 111876 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
39827 /* 111879 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39828 /* 111883 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39829 /* 111887 */ // (zext:{ *:[i32] } GR8:{ *:[i8] }:$src) => (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src)
39830 /* 111887 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
39831 /* 111892 */ GIR_RootConstrainSelectedInstOperands,
39832 /* 111893 */ // GIR_Coverage, 617,
39833 /* 111893 */ GIR_Done,
39834 /* 111894 */ // Label 2466: @111894
39835 /* 111894 */ GIM_Try, /*On fail goto*//*Label 2467*/ GIMT_Encode4(111917), // Rule ID 619 //
39836 /* 111899 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39837 /* 111902 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39838 /* 111906 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39839 /* 111910 */ // (zext:{ *:[i32] } GR16:{ *:[i16] }:$src) => (MOVZX32rr16:{ *:[i32] } GR16:{ *:[i16] }:$src)
39840 /* 111910 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr16),
39841 /* 111915 */ GIR_RootConstrainSelectedInstOperands,
39842 /* 111916 */ // GIR_Coverage, 619,
39843 /* 111916 */ GIR_Done,
39844 /* 111917 */ // Label 2467: @111917
39845 /* 111917 */ GIM_Reject,
39846 /* 111918 */ // Label 2453: @111918
39847 /* 111918 */ GIM_Try, /*On fail goto*//*Label 2468*/ GIMT_Encode4(112038), // Rule ID 23057 //
39848 /* 111923 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasZU),
39849 /* 111926 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39850 /* 111929 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39851 /* 111933 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39852 /* 111937 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
39853 /* 111941 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
39854 /* 111945 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
39855 /* 111949 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
39856 /* 111953 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
39857 /* 111957 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39858 /* 111960 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
39859 /* 111964 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
39860 /* 111968 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
39861 /* 111972 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
39862 /* 111976 */ // MIs[3] Operand 1
39863 /* 111976 */ // No operand predicates
39864 /* 111976 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
39865 /* 111978 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39866 /* 111985 */ // (zext:{ *:[i64] } (mul:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (imm:{ *:[i16] }):$src2)) => (SUBREG_TO_REG:{ *:[i64] } (IMULZU16rmi:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i16] }):$src2), sub_16bit:{ *:[i32] })
39867 /* 111985 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
39868 /* 111988 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::IMULZU16rmi),
39869 /* 111992 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39870 /* 111997 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src1
39871 /* 112001 */ GIR_CopyConstantAsSImm, /*NewInsnID*/1, /*OldInsnID*/3, // src2
39872 /* 112004 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
39873 /* 112007 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
39874 /* 112014 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39875 /* 112016 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39876 /* 112019 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39877 /* 112021 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39878 /* 112024 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
39879 /* 112027 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
39880 /* 112032 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
39881 /* 112037 */ // GIR_Coverage, 23057,
39882 /* 112037 */ GIR_EraseRootFromParent_Done,
39883 /* 112038 */ // Label 2468: @112038
39884 /* 112038 */ GIM_Try, /*On fail goto*//*Label 2469*/ GIMT_Encode4(112130), // Rule ID 23056 //
39885 /* 112043 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasZU),
39886 /* 112046 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39887 /* 112049 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39888 /* 112053 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39889 /* 112057 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
39890 /* 112061 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
39891 /* 112065 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
39892 /* 112069 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39893 /* 112074 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
39894 /* 112078 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
39895 /* 112082 */ // MIs[2] Operand 1
39896 /* 112082 */ // No operand predicates
39897 /* 112082 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
39898 /* 112084 */ // (zext:{ *:[i64] } (mul:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)) => (SUBREG_TO_REG:{ *:[i64] } (IMULZU16rri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2), sub_16bit:{ *:[i32] })
39899 /* 112084 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
39900 /* 112087 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::IMULZU16rri),
39901 /* 112091 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39902 /* 112096 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src1
39903 /* 112100 */ GIR_CopyConstantAsSImm, /*NewInsnID*/1, /*OldInsnID*/2, // src2
39904 /* 112103 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
39905 /* 112106 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39906 /* 112108 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39907 /* 112111 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39908 /* 112113 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39909 /* 112116 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
39910 /* 112119 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
39911 /* 112124 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
39912 /* 112129 */ // GIR_Coverage, 23056,
39913 /* 112129 */ GIR_EraseRootFromParent_Done,
39914 /* 112130 */ // Label 2469: @112130
39915 /* 112130 */ GIM_Try, /*On fail goto*//*Label 2470*/ GIMT_Encode4(112201), // Rule ID 19434 //
39916 /* 112135 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39917 /* 112138 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39918 /* 112142 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39919 /* 112146 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
39920 /* 112150 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
39921 /* 112154 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
39922 /* 112159 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39923 /* 112161 */ // (zext:{ *:[i64] } (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src)) => (SUBREG_TO_REG:{ *:[i64] } (KMOVWrk:{ *:[i32] } VK16:{ *:[v16i1] }:$src), sub_32bit:{ *:[i32] })
39924 /* 112161 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39925 /* 112164 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVWrk),
39926 /* 112168 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39927 /* 112173 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src
39928 /* 112177 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39929 /* 112179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39930 /* 112182 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39931 /* 112184 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39932 /* 112187 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
39933 /* 112190 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
39934 /* 112195 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39935 /* 112200 */ // GIR_Coverage, 19434,
39936 /* 112200 */ GIR_EraseRootFromParent_Done,
39937 /* 112201 */ // Label 2470: @112201
39938 /* 112201 */ GIM_Try, /*On fail goto*//*Label 2471*/ GIMT_Encode4(112275), // Rule ID 19437 //
39939 /* 112206 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
39940 /* 112209 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
39941 /* 112212 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39942 /* 112216 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39943 /* 112220 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
39944 /* 112224 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
39945 /* 112228 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
39946 /* 112233 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39947 /* 112235 */ // (zext:{ *:[i64] } (bitconvert:{ *:[i8] } VK8:{ *:[v8i1] }:$src)) => (SUBREG_TO_REG:{ *:[i64] } (KMOVBrk:{ *:[i32] } VK8:{ *:[v8i1] }:$src), sub_32bit:{ *:[i32] })
39948 /* 112235 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39949 /* 112238 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVBrk),
39950 /* 112242 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39951 /* 112247 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src
39952 /* 112251 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39953 /* 112253 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39954 /* 112256 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39955 /* 112258 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39956 /* 112261 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
39957 /* 112264 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
39958 /* 112269 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39959 /* 112274 */ // GIR_Coverage, 19437,
39960 /* 112274 */ GIR_EraseRootFromParent_Done,
39961 /* 112275 */ // Label 2471: @112275
39962 /* 112275 */ GIM_Try, /*On fail goto*//*Label 2472*/ GIMT_Encode4(112331), // Rule ID 17580 //
39963 /* 112280 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
39964 /* 112283 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39965 /* 112287 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39966 /* 112291 */ // (zext:{ *:[i64] } GR8:{ *:[i8] }:$src) => (SUBREG_TO_REG:{ *:[i64] } (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_32bit:{ *:[i32] })
39967 /* 112291 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39968 /* 112294 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
39969 /* 112298 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39970 /* 112303 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39971 /* 112307 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39972 /* 112309 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39973 /* 112312 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39974 /* 112314 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39975 /* 112317 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
39976 /* 112320 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
39977 /* 112325 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39978 /* 112330 */ // GIR_Coverage, 17580,
39979 /* 112330 */ GIR_EraseRootFromParent_Done,
39980 /* 112331 */ // Label 2472: @112331
39981 /* 112331 */ GIM_Try, /*On fail goto*//*Label 2473*/ GIMT_Encode4(112387), // Rule ID 17582 //
39982 /* 112336 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39983 /* 112339 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39984 /* 112343 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39985 /* 112347 */ // (zext:{ *:[i64] } GR16:{ *:[i16] }:$src) => (SUBREG_TO_REG:{ *:[i64] } (MOVZX32rr16:{ *:[i32] } GR16:{ *:[i16] }:$src), sub_32bit:{ *:[i32] })
39986 /* 112347 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39987 /* 112350 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr16),
39988 /* 112354 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39989 /* 112359 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39990 /* 112363 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39991 /* 112365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39992 /* 112368 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39993 /* 112370 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39994 /* 112373 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
39995 /* 112376 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
39996 /* 112381 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39997 /* 112386 */ // GIR_Coverage, 17582,
39998 /* 112386 */ GIR_EraseRootFromParent_Done,
39999 /* 112387 */ // Label 2473: @112387
40000 /* 112387 */ GIM_Try, /*On fail goto*//*Label 2474*/ GIMT_Encode4(112443), // Rule ID 17584 //
40001 /* 112392 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
40002 /* 112395 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40003 /* 112399 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40004 /* 112403 */ // (zext:{ *:[i64] } GR32:{ *:[i32] }:$src) => (SUBREG_TO_REG:{ *:[i64] } (MOV32rr:{ *:[i32] } GR32:{ *:[i32] }:$src), sub_32bit:{ *:[i32] })
40005 /* 112403 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40006 /* 112406 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32rr),
40007 /* 112410 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40008 /* 112415 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
40009 /* 112419 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40010 /* 112421 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
40011 /* 112424 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40012 /* 112426 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40013 /* 112429 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
40014 /* 112432 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
40015 /* 112437 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
40016 /* 112442 */ // GIR_Coverage, 17584,
40017 /* 112442 */ GIR_EraseRootFromParent_Done,
40018 /* 112443 */ // Label 2474: @112443
40019 /* 112443 */ GIM_Reject,
40020 /* 112444 */ // Label 2454: @112444
40021 /* 112444 */ GIM_Try, /*On fail goto*//*Label 2475*/ GIMT_Encode4(112611),
40022 /* 112449 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
40023 /* 112452 */ GIM_Try, /*On fail goto*//*Label 2476*/ GIMT_Encode4(112508), // Rule ID 18403 //
40024 /* 112457 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
40025 /* 112460 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
40026 /* 112464 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40027 /* 112468 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40028 /* 112472 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40029 /* 112475 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40030 /* 112479 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40031 /* 112483 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40032 /* 112485 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40033 /* 112492 */ // (zext:{ *:[v4i64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXDQYrm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
40034 /* 112492 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQYrm),
40035 /* 112495 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40036 /* 112497 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40037 /* 112501 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40038 /* 112506 */ GIR_RootConstrainSelectedInstOperands,
40039 /* 112507 */ // GIR_Coverage, 18403,
40040 /* 112507 */ GIR_EraseRootFromParent_Done,
40041 /* 112508 */ // Label 2476: @112508
40042 /* 112508 */ GIM_Try, /*On fail goto*//*Label 2477*/ GIMT_Encode4(112564), // Rule ID 21629 //
40043 /* 112513 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
40044 /* 112516 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40045 /* 112520 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40046 /* 112524 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40047 /* 112528 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40048 /* 112531 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40049 /* 112535 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40050 /* 112539 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40051 /* 112541 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40052 /* 112548 */ // (zext:{ *:[v4i64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXDQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
40053 /* 112548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQZ256rm),
40054 /* 112551 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40055 /* 112553 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40056 /* 112557 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40057 /* 112562 */ GIR_RootConstrainSelectedInstOperands,
40058 /* 112563 */ // GIR_Coverage, 21629,
40059 /* 112563 */ GIR_EraseRootFromParent_Done,
40060 /* 112564 */ // Label 2477: @112564
40061 /* 112564 */ GIM_Try, /*On fail goto*//*Label 2478*/ GIMT_Encode4(112587), // Rule ID 12467 //
40062 /* 112569 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
40063 /* 112572 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40064 /* 112576 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
40065 /* 112580 */ // (zext:{ *:[v4i64] } VR128X:{ *:[v4i32] }:$src) => (VPMOVZXDQZ256rr:{ *:[v4i64] } VR128X:{ *:[v4i32] }:$src)
40066 /* 112580 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQZ256rr),
40067 /* 112585 */ GIR_RootConstrainSelectedInstOperands,
40068 /* 112586 */ // GIR_Coverage, 12467,
40069 /* 112586 */ GIR_Done,
40070 /* 112587 */ // Label 2478: @112587
40071 /* 112587 */ GIM_Try, /*On fail goto*//*Label 2479*/ GIMT_Encode4(112610), // Rule ID 18391 //
40072 /* 112592 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
40073 /* 112595 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
40074 /* 112599 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
40075 /* 112603 */ // (zext:{ *:[v4i64] } VR128:{ *:[v4i32] }:$src) => (VPMOVZXDQYrr:{ *:[v4i64] } VR128:{ *:[v4i32] }:$src)
40076 /* 112603 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQYrr),
40077 /* 112608 */ GIR_RootConstrainSelectedInstOperands,
40078 /* 112609 */ // GIR_Coverage, 18391,
40079 /* 112609 */ GIR_Done,
40080 /* 112610 */ // Label 2479: @112610
40081 /* 112610 */ GIM_Reject,
40082 /* 112611 */ // Label 2475: @112611
40083 /* 112611 */ GIM_Reject,
40084 /* 112612 */ // Label 2455: @112612
40085 /* 112612 */ GIM_Try, /*On fail goto*//*Label 2480*/ GIMT_Encode4(112779),
40086 /* 112617 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
40087 /* 112620 */ GIM_Try, /*On fail goto*//*Label 2481*/ GIMT_Encode4(112676), // Rule ID 18399 //
40088 /* 112625 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
40089 /* 112628 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
40090 /* 112632 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40091 /* 112636 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40092 /* 112640 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40093 /* 112643 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40094 /* 112647 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40095 /* 112651 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40096 /* 112653 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40097 /* 112660 */ // (zext:{ *:[v8i32] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXWDYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
40098 /* 112660 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDYrm),
40099 /* 112663 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40100 /* 112665 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40101 /* 112669 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40102 /* 112674 */ GIR_RootConstrainSelectedInstOperands,
40103 /* 112675 */ // GIR_Coverage, 18399,
40104 /* 112675 */ GIR_EraseRootFromParent_Done,
40105 /* 112676 */ // Label 2481: @112676
40106 /* 112676 */ GIM_Try, /*On fail goto*//*Label 2482*/ GIMT_Encode4(112732), // Rule ID 21628 //
40107 /* 112681 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
40108 /* 112684 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40109 /* 112688 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40110 /* 112692 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40111 /* 112696 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40112 /* 112699 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40113 /* 112703 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40114 /* 112707 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40115 /* 112709 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40116 /* 112716 */ // (zext:{ *:[v8i32] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXWDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
40117 /* 112716 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZ256rm),
40118 /* 112719 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40119 /* 112721 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40120 /* 112725 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40121 /* 112730 */ GIR_RootConstrainSelectedInstOperands,
40122 /* 112731 */ // GIR_Coverage, 21628,
40123 /* 112731 */ GIR_EraseRootFromParent_Done,
40124 /* 112732 */ // Label 2482: @112732
40125 /* 112732 */ GIM_Try, /*On fail goto*//*Label 2483*/ GIMT_Encode4(112755), // Rule ID 12431 //
40126 /* 112737 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
40127 /* 112740 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40128 /* 112744 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
40129 /* 112748 */ // (zext:{ *:[v8i32] } VR128X:{ *:[v8i16] }:$src) => (VPMOVZXWDZ256rr:{ *:[v8i32] } VR128X:{ *:[v8i16] }:$src)
40130 /* 112748 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZ256rr),
40131 /* 112753 */ GIR_RootConstrainSelectedInstOperands,
40132 /* 112754 */ // GIR_Coverage, 12431,
40133 /* 112754 */ GIR_Done,
40134 /* 112755 */ // Label 2483: @112755
40135 /* 112755 */ GIM_Try, /*On fail goto*//*Label 2484*/ GIMT_Encode4(112778), // Rule ID 18389 //
40136 /* 112760 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
40137 /* 112763 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
40138 /* 112767 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
40139 /* 112771 */ // (zext:{ *:[v8i32] } VR128:{ *:[v8i16] }:$src) => (VPMOVZXWDYrr:{ *:[v8i32] } VR128:{ *:[v8i16] }:$src)
40140 /* 112771 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDYrr),
40141 /* 112776 */ GIR_RootConstrainSelectedInstOperands,
40142 /* 112777 */ // GIR_Coverage, 18389,
40143 /* 112777 */ GIR_Done,
40144 /* 112778 */ // Label 2484: @112778
40145 /* 112778 */ GIM_Reject,
40146 /* 112779 */ // Label 2480: @112779
40147 /* 112779 */ GIM_Reject,
40148 /* 112780 */ // Label 2456: @112780
40149 /* 112780 */ GIM_Try, /*On fail goto*//*Label 2485*/ GIMT_Encode4(112839), // Rule ID 21633 //
40150 /* 112785 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40151 /* 112788 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
40152 /* 112791 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40153 /* 112795 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40154 /* 112799 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40155 /* 112803 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40156 /* 112806 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40157 /* 112810 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40158 /* 112814 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40159 /* 112816 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40160 /* 112823 */ // (zext:{ *:[v8i64] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXWQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
40161 /* 112823 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWQZrm),
40162 /* 112826 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40163 /* 112828 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40164 /* 112832 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40165 /* 112837 */ GIR_RootConstrainSelectedInstOperands,
40166 /* 112838 */ // GIR_Coverage, 21633,
40167 /* 112838 */ GIR_EraseRootFromParent_Done,
40168 /* 112839 */ // Label 2485: @112839
40169 /* 112839 */ GIM_Try, /*On fail goto*//*Label 2486*/ GIMT_Encode4(112898), // Rule ID 21634 //
40170 /* 112844 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40171 /* 112847 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
40172 /* 112850 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40173 /* 112854 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40174 /* 112858 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40175 /* 112862 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40176 /* 112865 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40177 /* 112869 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40178 /* 112873 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40179 /* 112875 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40180 /* 112882 */ // (zext:{ *:[v8i64] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXDQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
40181 /* 112882 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQZrm),
40182 /* 112885 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40183 /* 112887 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40184 /* 112891 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40185 /* 112896 */ GIR_RootConstrainSelectedInstOperands,
40186 /* 112897 */ // GIR_Coverage, 21634,
40187 /* 112897 */ GIR_EraseRootFromParent_Done,
40188 /* 112898 */ // Label 2486: @112898
40189 /* 112898 */ GIM_Try, /*On fail goto*//*Label 2487*/ GIMT_Encode4(112924), // Rule ID 12455 //
40190 /* 112903 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40191 /* 112906 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
40192 /* 112909 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40193 /* 112913 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
40194 /* 112917 */ // (zext:{ *:[v8i64] } VR128X:{ *:[v8i16] }:$src) => (VPMOVZXWQZrr:{ *:[v8i64] } VR128X:{ *:[v8i16] }:$src)
40195 /* 112917 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWQZrr),
40196 /* 112922 */ GIR_RootConstrainSelectedInstOperands,
40197 /* 112923 */ // GIR_Coverage, 12455,
40198 /* 112923 */ GIR_Done,
40199 /* 112924 */ // Label 2487: @112924
40200 /* 112924 */ GIM_Try, /*On fail goto*//*Label 2488*/ GIMT_Encode4(112950), // Rule ID 12473 //
40201 /* 112929 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40202 /* 112932 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
40203 /* 112935 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40204 /* 112939 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40205 /* 112943 */ // (zext:{ *:[v8i64] } VR256X:{ *:[v8i32] }:$src) => (VPMOVZXDQZrr:{ *:[v8i64] } VR256X:{ *:[v8i32] }:$src)
40206 /* 112943 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQZrr),
40207 /* 112948 */ GIR_RootConstrainSelectedInstOperands,
40208 /* 112949 */ // GIR_Coverage, 12473,
40209 /* 112949 */ GIR_Done,
40210 /* 112950 */ // Label 2488: @112950
40211 /* 112950 */ GIM_Reject,
40212 /* 112951 */ // Label 2457: @112951
40213 /* 112951 */ GIM_Try, /*On fail goto*//*Label 2489*/ GIMT_Encode4(113118),
40214 /* 112956 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
40215 /* 112959 */ GIM_Try, /*On fail goto*//*Label 2490*/ GIMT_Encode4(113015), // Rule ID 18393 //
40216 /* 112964 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
40217 /* 112967 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
40218 /* 112971 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40219 /* 112975 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40220 /* 112979 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40221 /* 112982 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40222 /* 112986 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40223 /* 112990 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40224 /* 112992 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40225 /* 112999 */ // (zext:{ *:[v16i16] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXBWYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
40226 /* 112999 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWYrm),
40227 /* 113002 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40228 /* 113004 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40229 /* 113008 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40230 /* 113013 */ GIR_RootConstrainSelectedInstOperands,
40231 /* 113014 */ // GIR_Coverage, 18393,
40232 /* 113014 */ GIR_EraseRootFromParent_Done,
40233 /* 113015 */ // Label 2490: @113015
40234 /* 113015 */ GIM_Try, /*On fail goto*//*Label 2491*/ GIMT_Encode4(113071), // Rule ID 21627 //
40235 /* 113020 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
40236 /* 113023 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40237 /* 113027 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40238 /* 113031 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40239 /* 113035 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40240 /* 113038 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40241 /* 113042 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40242 /* 113046 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40243 /* 113048 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40244 /* 113055 */ // (zext:{ *:[v16i16] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXBWZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
40245 /* 113055 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWZ256rm),
40246 /* 113058 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40247 /* 113060 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40248 /* 113064 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40249 /* 113069 */ GIR_RootConstrainSelectedInstOperands,
40250 /* 113070 */ // GIR_Coverage, 21627,
40251 /* 113070 */ GIR_EraseRootFromParent_Done,
40252 /* 113071 */ // Label 2491: @113071
40253 /* 113071 */ GIM_Try, /*On fail goto*//*Label 2492*/ GIMT_Encode4(113094), // Rule ID 12377 //
40254 /* 113076 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
40255 /* 113079 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40256 /* 113083 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
40257 /* 113087 */ // (zext:{ *:[v16i16] } VR128X:{ *:[v16i8] }:$src) => (VPMOVZXBWZ256rr:{ *:[v16i16] } VR128X:{ *:[v16i8] }:$src)
40258 /* 113087 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWZ256rr),
40259 /* 113092 */ GIR_RootConstrainSelectedInstOperands,
40260 /* 113093 */ // GIR_Coverage, 12377,
40261 /* 113093 */ GIR_Done,
40262 /* 113094 */ // Label 2492: @113094
40263 /* 113094 */ GIM_Try, /*On fail goto*//*Label 2493*/ GIMT_Encode4(113117), // Rule ID 18386 //
40264 /* 113099 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
40265 /* 113102 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
40266 /* 113106 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
40267 /* 113110 */ // (zext:{ *:[v16i16] } VR128:{ *:[v16i8] }:$src) => (VPMOVZXBWYrr:{ *:[v16i16] } VR128:{ *:[v16i8] }:$src)
40268 /* 113110 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWYrr),
40269 /* 113115 */ GIR_RootConstrainSelectedInstOperands,
40270 /* 113116 */ // GIR_Coverage, 18386,
40271 /* 113116 */ GIR_Done,
40272 /* 113117 */ // Label 2493: @113117
40273 /* 113117 */ GIM_Reject,
40274 /* 113118 */ // Label 2489: @113118
40275 /* 113118 */ GIM_Reject,
40276 /* 113119 */ // Label 2458: @113119
40277 /* 113119 */ GIM_Try, /*On fail goto*//*Label 2494*/ GIMT_Encode4(113178), // Rule ID 21631 //
40278 /* 113124 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40279 /* 113127 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
40280 /* 113130 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40281 /* 113134 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40282 /* 113138 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40283 /* 113142 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40284 /* 113145 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40285 /* 113149 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40286 /* 113153 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40287 /* 113155 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40288 /* 113162 */ // (zext:{ *:[v16i32] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXBDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
40289 /* 113162 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBDZrm),
40290 /* 113165 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40291 /* 113167 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40292 /* 113171 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40293 /* 113176 */ GIR_RootConstrainSelectedInstOperands,
40294 /* 113177 */ // GIR_Coverage, 21631,
40295 /* 113177 */ GIR_EraseRootFromParent_Done,
40296 /* 113178 */ // Label 2494: @113178
40297 /* 113178 */ GIM_Try, /*On fail goto*//*Label 2495*/ GIMT_Encode4(113237), // Rule ID 21632 //
40298 /* 113183 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40299 /* 113186 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
40300 /* 113189 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40301 /* 113193 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40302 /* 113197 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40303 /* 113201 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40304 /* 113204 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40305 /* 113208 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40306 /* 113212 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40307 /* 113214 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40308 /* 113221 */ // (zext:{ *:[v16i32] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXWDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
40309 /* 113221 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZrm),
40310 /* 113224 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40311 /* 113226 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40312 /* 113230 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40313 /* 113235 */ GIR_RootConstrainSelectedInstOperands,
40314 /* 113236 */ // GIR_Coverage, 21632,
40315 /* 113236 */ GIR_EraseRootFromParent_Done,
40316 /* 113237 */ // Label 2495: @113237
40317 /* 113237 */ GIM_Try, /*On fail goto*//*Label 2496*/ GIMT_Encode4(113263), // Rule ID 12401 //
40318 /* 113242 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40319 /* 113245 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
40320 /* 113248 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40321 /* 113252 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
40322 /* 113256 */ // (zext:{ *:[v16i32] } VR128X:{ *:[v16i8] }:$src) => (VPMOVZXBDZrr:{ *:[v16i32] } VR128X:{ *:[v16i8] }:$src)
40323 /* 113256 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBDZrr),
40324 /* 113261 */ GIR_RootConstrainSelectedInstOperands,
40325 /* 113262 */ // GIR_Coverage, 12401,
40326 /* 113262 */ GIR_Done,
40327 /* 113263 */ // Label 2496: @113263
40328 /* 113263 */ GIM_Try, /*On fail goto*//*Label 2497*/ GIMT_Encode4(113289), // Rule ID 12437 //
40329 /* 113268 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40330 /* 113271 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
40331 /* 113274 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40332 /* 113278 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40333 /* 113282 */ // (zext:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src) => (VPMOVZXWDZrr:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src)
40334 /* 113282 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZrr),
40335 /* 113287 */ GIR_RootConstrainSelectedInstOperands,
40336 /* 113288 */ // GIR_Coverage, 12437,
40337 /* 113288 */ GIR_Done,
40338 /* 113289 */ // Label 2497: @113289
40339 /* 113289 */ GIM_Reject,
40340 /* 113290 */ // Label 2459: @113290
40341 /* 113290 */ GIM_Try, /*On fail goto*//*Label 2498*/ GIMT_Encode4(113374),
40342 /* 113295 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
40343 /* 113298 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40344 /* 113302 */ GIM_Try, /*On fail goto*//*Label 2499*/ GIMT_Encode4(113354), // Rule ID 21630 //
40345 /* 113307 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
40346 /* 113310 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40347 /* 113314 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40348 /* 113318 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40349 /* 113321 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40350 /* 113325 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40351 /* 113329 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40352 /* 113331 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40353 /* 113338 */ // (zext:{ *:[v32i16] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXBWZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
40354 /* 113338 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWZrm),
40355 /* 113341 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40356 /* 113343 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40357 /* 113347 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40358 /* 113352 */ GIR_RootConstrainSelectedInstOperands,
40359 /* 113353 */ // GIR_Coverage, 21630,
40360 /* 113353 */ GIR_EraseRootFromParent_Done,
40361 /* 113354 */ // Label 2499: @113354
40362 /* 113354 */ GIM_Try, /*On fail goto*//*Label 2500*/ GIMT_Encode4(113373), // Rule ID 12383 //
40363 /* 113359 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
40364 /* 113362 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40365 /* 113366 */ // (zext:{ *:[v32i16] } VR256X:{ *:[v32i8] }:$src) => (VPMOVZXBWZrr:{ *:[v32i16] } VR256X:{ *:[v32i8] }:$src)
40366 /* 113366 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWZrr),
40367 /* 113371 */ GIR_RootConstrainSelectedInstOperands,
40368 /* 113372 */ // GIR_Coverage, 12383,
40369 /* 113372 */ GIR_Done,
40370 /* 113373 */ // Label 2500: @113373
40371 /* 113373 */ GIM_Reject,
40372 /* 113374 */ // Label 2498: @113374
40373 /* 113374 */ GIM_Reject,
40374 /* 113375 */ // Label 2460: @113375
40375 /* 113375 */ GIM_Reject,
40376 /* 113376 */ // Label 27: @113376
40377 /* 113376 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 2505*/ GIMT_Encode4(115059),
40378 /* 113387 */ /*GILLT_s8*//*Label 2501*/ GIMT_Encode4(113403),
40379 /* 113391 */ /*GILLT_s16*//*Label 2502*/ GIMT_Encode4(113618),
40380 /* 113395 */ /*GILLT_s32*//*Label 2503*/ GIMT_Encode4(113833),
40381 /* 113399 */ /*GILLT_s64*//*Label 2504*/ GIMT_Encode4(114446),
40382 /* 113403 */ // Label 2501: @113403
40383 /* 113403 */ GIM_Try, /*On fail goto*//*Label 2506*/ GIMT_Encode4(113617),
40384 /* 113408 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
40385 /* 113411 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
40386 /* 113414 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40387 /* 113418 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40388 /* 113422 */ GIM_Try, /*On fail goto*//*Label 2507*/ GIMT_Encode4(113448), // Rule ID 22756 //
40389 /* 113427 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
40390 /* 113430 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
40391 /* 113434 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, 1:{ *:[i8] }) => (ADD8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src1)
40392 /* 113434 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8rr),
40393 /* 113437 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40394 /* 113439 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40395 /* 113441 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40396 /* 113443 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40397 /* 113446 */ GIR_RootConstrainSelectedInstOperands,
40398 /* 113447 */ // GIR_Coverage, 22756,
40399 /* 113447 */ GIR_EraseRootFromParent_Done,
40400 /* 113448 */ // Label 2507: @113448
40401 /* 113448 */ GIM_Try, /*On fail goto*//*Label 2508*/ GIMT_Encode4(113474), // Rule ID 22760 //
40402 /* 113453 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
40403 /* 113456 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
40404 /* 113460 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, 1:{ *:[i8] }) => (ADD8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src1)
40405 /* 113460 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8rr_ND),
40406 /* 113463 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40407 /* 113465 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40408 /* 113467 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40409 /* 113469 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40410 /* 113472 */ GIR_RootConstrainSelectedInstOperands,
40411 /* 113473 */ // GIR_Coverage, 22760,
40412 /* 113473 */ GIR_EraseRootFromParent_Done,
40413 /* 113474 */ // Label 2508: @113474
40414 /* 113474 */ GIM_Try, /*On fail goto*//*Label 2509*/ GIMT_Encode4(113507), // Rule ID 661 //
40415 /* 113479 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
40416 /* 113482 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40417 /* 113486 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40418 /* 113490 */ // MIs[1] Operand 1
40419 /* 113490 */ // No operand predicates
40420 /* 113490 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40421 /* 113492 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
40422 /* 113492 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8ri),
40423 /* 113495 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40424 /* 113497 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40425 /* 113499 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40426 /* 113502 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40427 /* 113505 */ GIR_RootConstrainSelectedInstOperands,
40428 /* 113506 */ // GIR_Coverage, 661,
40429 /* 113506 */ GIR_EraseRootFromParent_Done,
40430 /* 113507 */ // Label 2509: @113507
40431 /* 113507 */ GIM_Try, /*On fail goto*//*Label 2510*/ GIMT_Encode4(113540), // Rule ID 665 //
40432 /* 113512 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
40433 /* 113515 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40434 /* 113519 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40435 /* 113523 */ // MIs[1] Operand 1
40436 /* 113523 */ // No operand predicates
40437 /* 113523 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40438 /* 113525 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
40439 /* 113525 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8ri_ND),
40440 /* 113528 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40441 /* 113530 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40442 /* 113532 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40443 /* 113535 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40444 /* 113538 */ GIR_RootConstrainSelectedInstOperands,
40445 /* 113539 */ // GIR_Coverage, 665,
40446 /* 113539 */ GIR_EraseRootFromParent_Done,
40447 /* 113540 */ // Label 2510: @113540
40448 /* 113540 */ GIM_Try, /*On fail goto*//*Label 2511*/ GIMT_Encode4(113578), // Rule ID 677 //
40449 /* 113545 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
40450 /* 113548 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
40451 /* 113552 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SHL8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
40452 /* 113552 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40453 /* 113556 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40454 /* 113562 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40455 /* 113566 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8rCL),
40456 /* 113569 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40457 /* 113571 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40458 /* 113573 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40459 /* 113576 */ GIR_RootConstrainSelectedInstOperands,
40460 /* 113577 */ // GIR_Coverage, 677,
40461 /* 113577 */ GIR_EraseRootFromParent_Done,
40462 /* 113578 */ // Label 2511: @113578
40463 /* 113578 */ GIM_Try, /*On fail goto*//*Label 2512*/ GIMT_Encode4(113616), // Rule ID 681 //
40464 /* 113583 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
40465 /* 113586 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
40466 /* 113590 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SHL8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
40467 /* 113590 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40468 /* 113594 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40469 /* 113600 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40470 /* 113604 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8rCL_ND),
40471 /* 113607 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40472 /* 113609 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40473 /* 113611 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40474 /* 113614 */ GIR_RootConstrainSelectedInstOperands,
40475 /* 113615 */ // GIR_Coverage, 681,
40476 /* 113615 */ GIR_EraseRootFromParent_Done,
40477 /* 113616 */ // Label 2512: @113616
40478 /* 113616 */ GIM_Reject,
40479 /* 113617 */ // Label 2506: @113617
40480 /* 113617 */ GIM_Reject,
40481 /* 113618 */ // Label 2502: @113618
40482 /* 113618 */ GIM_Try, /*On fail goto*//*Label 2513*/ GIMT_Encode4(113832),
40483 /* 113623 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40484 /* 113626 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
40485 /* 113629 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
40486 /* 113633 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
40487 /* 113637 */ GIM_Try, /*On fail goto*//*Label 2514*/ GIMT_Encode4(113663), // Rule ID 22757 //
40488 /* 113642 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
40489 /* 113645 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
40490 /* 113649 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, 1:{ *:[i8] }) => (ADD16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src1)
40491 /* 113649 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16rr),
40492 /* 113652 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40493 /* 113654 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40494 /* 113656 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40495 /* 113658 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40496 /* 113661 */ GIR_RootConstrainSelectedInstOperands,
40497 /* 113662 */ // GIR_Coverage, 22757,
40498 /* 113662 */ GIR_EraseRootFromParent_Done,
40499 /* 113663 */ // Label 2514: @113663
40500 /* 113663 */ GIM_Try, /*On fail goto*//*Label 2515*/ GIMT_Encode4(113689), // Rule ID 22761 //
40501 /* 113668 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
40502 /* 113671 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
40503 /* 113675 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, 1:{ *:[i8] }) => (ADD16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src1)
40504 /* 113675 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16rr_ND),
40505 /* 113678 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40506 /* 113680 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40507 /* 113682 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40508 /* 113684 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40509 /* 113687 */ GIR_RootConstrainSelectedInstOperands,
40510 /* 113688 */ // GIR_Coverage, 22761,
40511 /* 113688 */ GIR_EraseRootFromParent_Done,
40512 /* 113689 */ // Label 2515: @113689
40513 /* 113689 */ GIM_Try, /*On fail goto*//*Label 2516*/ GIMT_Encode4(113722), // Rule ID 662 //
40514 /* 113694 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
40515 /* 113697 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40516 /* 113701 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40517 /* 113705 */ // MIs[1] Operand 1
40518 /* 113705 */ // No operand predicates
40519 /* 113705 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40520 /* 113707 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
40521 /* 113707 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16ri),
40522 /* 113710 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40523 /* 113712 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40524 /* 113714 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40525 /* 113717 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40526 /* 113720 */ GIR_RootConstrainSelectedInstOperands,
40527 /* 113721 */ // GIR_Coverage, 662,
40528 /* 113721 */ GIR_EraseRootFromParent_Done,
40529 /* 113722 */ // Label 2516: @113722
40530 /* 113722 */ GIM_Try, /*On fail goto*//*Label 2517*/ GIMT_Encode4(113755), // Rule ID 666 //
40531 /* 113727 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
40532 /* 113730 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40533 /* 113734 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40534 /* 113738 */ // MIs[1] Operand 1
40535 /* 113738 */ // No operand predicates
40536 /* 113738 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40537 /* 113740 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
40538 /* 113740 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16ri_ND),
40539 /* 113743 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40540 /* 113745 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40541 /* 113747 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40542 /* 113750 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40543 /* 113753 */ GIR_RootConstrainSelectedInstOperands,
40544 /* 113754 */ // GIR_Coverage, 666,
40545 /* 113754 */ GIR_EraseRootFromParent_Done,
40546 /* 113755 */ // Label 2517: @113755
40547 /* 113755 */ GIM_Try, /*On fail goto*//*Label 2518*/ GIMT_Encode4(113793), // Rule ID 678 //
40548 /* 113760 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
40549 /* 113763 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
40550 /* 113767 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SHL16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
40551 /* 113767 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40552 /* 113771 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40553 /* 113777 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40554 /* 113781 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16rCL),
40555 /* 113784 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40556 /* 113786 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40557 /* 113788 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40558 /* 113791 */ GIR_RootConstrainSelectedInstOperands,
40559 /* 113792 */ // GIR_Coverage, 678,
40560 /* 113792 */ GIR_EraseRootFromParent_Done,
40561 /* 113793 */ // Label 2518: @113793
40562 /* 113793 */ GIM_Try, /*On fail goto*//*Label 2519*/ GIMT_Encode4(113831), // Rule ID 682 //
40563 /* 113798 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
40564 /* 113801 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
40565 /* 113805 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SHL16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
40566 /* 113805 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40567 /* 113809 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40568 /* 113815 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40569 /* 113819 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16rCL_ND),
40570 /* 113822 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40571 /* 113824 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40572 /* 113826 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40573 /* 113829 */ GIR_RootConstrainSelectedInstOperands,
40574 /* 113830 */ // GIR_Coverage, 682,
40575 /* 113830 */ GIR_EraseRootFromParent_Done,
40576 /* 113831 */ // Label 2519: @113831
40577 /* 113831 */ GIM_Reject,
40578 /* 113832 */ // Label 2513: @113832
40579 /* 113832 */ GIM_Reject,
40580 /* 113833 */ // Label 2503: @113833
40581 /* 113833 */ GIM_Try, /*On fail goto*//*Label 2520*/ GIMT_Encode4(114445),
40582 /* 113838 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
40583 /* 113841 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
40584 /* 113844 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40585 /* 113848 */ GIM_Try, /*On fail goto*//*Label 2521*/ GIMT_Encode4(113958), // Rule ID 17662 //
40586 /* 113853 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
40587 /* 113856 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40588 /* 113860 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40589 /* 113864 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40590 /* 113867 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40591 /* 113871 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
40592 /* 113875 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40593 /* 113879 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40594 /* 113881 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40595 /* 113888 */ // (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] }))
40596 /* 113888 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
40597 /* 113891 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40598 /* 113895 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40599 /* 113900 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40600 /* 113902 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40601 /* 113905 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40602 /* 113909 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40603 /* 113914 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40604 /* 113917 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40605 /* 113921 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40606 /* 113924 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40607 /* 113929 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40608 /* 113934 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40609 /* 113939 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX32rm),
40610 /* 113942 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40611 /* 113944 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
40612 /* 113948 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40613 /* 113951 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40614 /* 113956 */ GIR_RootConstrainSelectedInstOperands,
40615 /* 113957 */ // GIR_Coverage, 17662,
40616 /* 113957 */ GIR_EraseRootFromParent_Done,
40617 /* 113958 */ // Label 2521: @113958
40618 /* 113958 */ GIM_Try, /*On fail goto*//*Label 2522*/ GIMT_Encode4(114068), // Rule ID 17694 //
40619 /* 113963 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
40620 /* 113966 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40621 /* 113970 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40622 /* 113974 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40623 /* 113977 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40624 /* 113981 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
40625 /* 113985 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40626 /* 113989 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40627 /* 113991 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40628 /* 113998 */ // (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] }))
40629 /* 113998 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
40630 /* 114001 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40631 /* 114005 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40632 /* 114010 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40633 /* 114012 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40634 /* 114015 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40635 /* 114019 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40636 /* 114024 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40637 /* 114027 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40638 /* 114031 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40639 /* 114034 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40640 /* 114039 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40641 /* 114044 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40642 /* 114049 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX32rm_EVEX),
40643 /* 114052 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40644 /* 114054 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
40645 /* 114058 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40646 /* 114061 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40647 /* 114066 */ GIR_RootConstrainSelectedInstOperands,
40648 /* 114067 */ // GIR_Coverage, 17694,
40649 /* 114067 */ GIR_EraseRootFromParent_Done,
40650 /* 114068 */ // Label 2522: @114068
40651 /* 114068 */ GIM_Try, /*On fail goto*//*Label 2523*/ GIMT_Encode4(114098), // Rule ID 22758 //
40652 /* 114073 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
40653 /* 114076 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40654 /* 114080 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
40655 /* 114084 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, 1:{ *:[i8] }) => (ADD32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src1)
40656 /* 114084 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32rr),
40657 /* 114087 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40658 /* 114089 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40659 /* 114091 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40660 /* 114093 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40661 /* 114096 */ GIR_RootConstrainSelectedInstOperands,
40662 /* 114097 */ // GIR_Coverage, 22758,
40663 /* 114097 */ GIR_EraseRootFromParent_Done,
40664 /* 114098 */ // Label 2523: @114098
40665 /* 114098 */ GIM_Try, /*On fail goto*//*Label 2524*/ GIMT_Encode4(114128), // Rule ID 22762 //
40666 /* 114103 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
40667 /* 114106 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40668 /* 114110 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
40669 /* 114114 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, 1:{ *:[i8] }) => (ADD32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src1)
40670 /* 114114 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32rr_ND),
40671 /* 114117 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40672 /* 114119 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40673 /* 114121 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40674 /* 114123 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40675 /* 114126 */ GIR_RootConstrainSelectedInstOperands,
40676 /* 114127 */ // GIR_Coverage, 22762,
40677 /* 114127 */ GIR_EraseRootFromParent_Done,
40678 /* 114128 */ // Label 2524: @114128
40679 /* 114128 */ GIM_Try, /*On fail goto*//*Label 2525*/ GIMT_Encode4(114165), // Rule ID 663 //
40680 /* 114133 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
40681 /* 114136 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40682 /* 114140 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40683 /* 114144 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40684 /* 114148 */ // MIs[1] Operand 1
40685 /* 114148 */ // No operand predicates
40686 /* 114148 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40687 /* 114150 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
40688 /* 114150 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32ri),
40689 /* 114153 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40690 /* 114155 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40691 /* 114157 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40692 /* 114160 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40693 /* 114163 */ GIR_RootConstrainSelectedInstOperands,
40694 /* 114164 */ // GIR_Coverage, 663,
40695 /* 114164 */ GIR_EraseRootFromParent_Done,
40696 /* 114165 */ // Label 2525: @114165
40697 /* 114165 */ GIM_Try, /*On fail goto*//*Label 2526*/ GIMT_Encode4(114202), // Rule ID 667 //
40698 /* 114170 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
40699 /* 114173 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40700 /* 114177 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40701 /* 114181 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40702 /* 114185 */ // MIs[1] Operand 1
40703 /* 114185 */ // No operand predicates
40704 /* 114185 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40705 /* 114187 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
40706 /* 114187 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32ri_ND),
40707 /* 114190 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40708 /* 114192 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40709 /* 114194 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40710 /* 114197 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40711 /* 114200 */ GIR_RootConstrainSelectedInstOperands,
40712 /* 114201 */ // GIR_Coverage, 667,
40713 /* 114201 */ GIR_EraseRootFromParent_Done,
40714 /* 114202 */ // Label 2526: @114202
40715 /* 114202 */ GIM_Try, /*On fail goto*//*Label 2527*/ GIMT_Encode4(114281), // Rule ID 17658 //
40716 /* 114207 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
40717 /* 114210 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40718 /* 114214 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40719 /* 114218 */ // (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] }))
40720 /* 114218 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
40721 /* 114221 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40722 /* 114225 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40723 /* 114230 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40724 /* 114232 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40725 /* 114235 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40726 /* 114239 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40727 /* 114244 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40728 /* 114247 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40729 /* 114251 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40730 /* 114254 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40731 /* 114259 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40732 /* 114264 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40733 /* 114269 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX32rr),
40734 /* 114272 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40735 /* 114274 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40736 /* 114276 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40737 /* 114279 */ GIR_RootConstrainSelectedInstOperands,
40738 /* 114280 */ // GIR_Coverage, 17658,
40739 /* 114280 */ GIR_EraseRootFromParent_Done,
40740 /* 114281 */ // Label 2527: @114281
40741 /* 114281 */ GIM_Try, /*On fail goto*//*Label 2528*/ GIMT_Encode4(114360), // Rule ID 17690 //
40742 /* 114286 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
40743 /* 114289 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40744 /* 114293 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40745 /* 114297 */ // (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] }))
40746 /* 114297 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
40747 /* 114300 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40748 /* 114304 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40749 /* 114309 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40750 /* 114311 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40751 /* 114314 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40752 /* 114318 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40753 /* 114323 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40754 /* 114326 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40755 /* 114330 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40756 /* 114333 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40757 /* 114338 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40758 /* 114343 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40759 /* 114348 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX32rr_EVEX),
40760 /* 114351 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40761 /* 114353 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40762 /* 114355 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40763 /* 114358 */ GIR_RootConstrainSelectedInstOperands,
40764 /* 114359 */ // GIR_Coverage, 17690,
40765 /* 114359 */ GIR_EraseRootFromParent_Done,
40766 /* 114360 */ // Label 2528: @114360
40767 /* 114360 */ GIM_Try, /*On fail goto*//*Label 2529*/ GIMT_Encode4(114402), // Rule ID 679 //
40768 /* 114365 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
40769 /* 114368 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40770 /* 114372 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
40771 /* 114376 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHL32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
40772 /* 114376 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40773 /* 114380 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40774 /* 114386 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40775 /* 114390 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32rCL),
40776 /* 114393 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40777 /* 114395 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40778 /* 114397 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40779 /* 114400 */ GIR_RootConstrainSelectedInstOperands,
40780 /* 114401 */ // GIR_Coverage, 679,
40781 /* 114401 */ GIR_EraseRootFromParent_Done,
40782 /* 114402 */ // Label 2529: @114402
40783 /* 114402 */ GIM_Try, /*On fail goto*//*Label 2530*/ GIMT_Encode4(114444), // Rule ID 683 //
40784 /* 114407 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
40785 /* 114410 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40786 /* 114414 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
40787 /* 114418 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHL32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
40788 /* 114418 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40789 /* 114422 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40790 /* 114428 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40791 /* 114432 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32rCL_ND),
40792 /* 114435 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40793 /* 114437 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40794 /* 114439 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40795 /* 114442 */ GIR_RootConstrainSelectedInstOperands,
40796 /* 114443 */ // GIR_Coverage, 683,
40797 /* 114443 */ GIR_EraseRootFromParent_Done,
40798 /* 114444 */ // Label 2530: @114444
40799 /* 114444 */ GIM_Reject,
40800 /* 114445 */ // Label 2520: @114445
40801 /* 114445 */ GIM_Reject,
40802 /* 114446 */ // Label 2504: @114446
40803 /* 114446 */ GIM_Try, /*On fail goto*//*Label 2531*/ GIMT_Encode4(115058),
40804 /* 114451 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
40805 /* 114454 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
40806 /* 114457 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40807 /* 114461 */ GIM_Try, /*On fail goto*//*Label 2532*/ GIMT_Encode4(114571), // Rule ID 17663 //
40808 /* 114466 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
40809 /* 114469 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40810 /* 114473 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40811 /* 114477 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40812 /* 114480 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40813 /* 114484 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40814 /* 114488 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40815 /* 114492 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40816 /* 114494 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40817 /* 114501 */ // (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] }))
40818 /* 114501 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
40819 /* 114504 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40820 /* 114508 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40821 /* 114513 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40822 /* 114515 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
40823 /* 114518 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40824 /* 114522 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40825 /* 114527 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40826 /* 114530 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40827 /* 114534 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40828 /* 114537 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40829 /* 114542 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40830 /* 114547 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40831 /* 114552 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX64rm),
40832 /* 114555 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40833 /* 114557 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
40834 /* 114561 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40835 /* 114564 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40836 /* 114569 */ GIR_RootConstrainSelectedInstOperands,
40837 /* 114570 */ // GIR_Coverage, 17663,
40838 /* 114570 */ GIR_EraseRootFromParent_Done,
40839 /* 114571 */ // Label 2532: @114571
40840 /* 114571 */ GIM_Try, /*On fail goto*//*Label 2533*/ GIMT_Encode4(114681), // Rule ID 17695 //
40841 /* 114576 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
40842 /* 114579 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40843 /* 114583 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40844 /* 114587 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40845 /* 114590 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40846 /* 114594 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40847 /* 114598 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40848 /* 114602 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40849 /* 114604 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40850 /* 114611 */ // (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] }))
40851 /* 114611 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
40852 /* 114614 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40853 /* 114618 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40854 /* 114623 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40855 /* 114625 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
40856 /* 114628 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40857 /* 114632 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40858 /* 114637 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40859 /* 114640 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40860 /* 114644 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40861 /* 114647 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40862 /* 114652 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40863 /* 114657 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40864 /* 114662 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX64rm_EVEX),
40865 /* 114665 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40866 /* 114667 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
40867 /* 114671 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40868 /* 114674 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40869 /* 114679 */ GIR_RootConstrainSelectedInstOperands,
40870 /* 114680 */ // GIR_Coverage, 17695,
40871 /* 114680 */ GIR_EraseRootFromParent_Done,
40872 /* 114681 */ // Label 2533: @114681
40873 /* 114681 */ GIM_Try, /*On fail goto*//*Label 2534*/ GIMT_Encode4(114711), // Rule ID 22759 //
40874 /* 114686 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
40875 /* 114689 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40876 /* 114693 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
40877 /* 114697 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, 1:{ *:[i8] }) => (ADD64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src1)
40878 /* 114697 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64rr),
40879 /* 114700 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40880 /* 114702 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40881 /* 114704 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40882 /* 114706 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40883 /* 114709 */ GIR_RootConstrainSelectedInstOperands,
40884 /* 114710 */ // GIR_Coverage, 22759,
40885 /* 114710 */ GIR_EraseRootFromParent_Done,
40886 /* 114711 */ // Label 2534: @114711
40887 /* 114711 */ GIM_Try, /*On fail goto*//*Label 2535*/ GIMT_Encode4(114741), // Rule ID 22763 //
40888 /* 114716 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
40889 /* 114719 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40890 /* 114723 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
40891 /* 114727 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, 1:{ *:[i8] }) => (ADD64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src1)
40892 /* 114727 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64rr_ND),
40893 /* 114730 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40894 /* 114732 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40895 /* 114734 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40896 /* 114736 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40897 /* 114739 */ GIR_RootConstrainSelectedInstOperands,
40898 /* 114740 */ // GIR_Coverage, 22763,
40899 /* 114740 */ GIR_EraseRootFromParent_Done,
40900 /* 114741 */ // Label 2535: @114741
40901 /* 114741 */ GIM_Try, /*On fail goto*//*Label 2536*/ GIMT_Encode4(114778), // Rule ID 664 //
40902 /* 114746 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
40903 /* 114749 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40904 /* 114753 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40905 /* 114757 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40906 /* 114761 */ // MIs[1] Operand 1
40907 /* 114761 */ // No operand predicates
40908 /* 114761 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40909 /* 114763 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
40910 /* 114763 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64ri),
40911 /* 114766 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40912 /* 114768 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40913 /* 114770 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40914 /* 114773 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40915 /* 114776 */ GIR_RootConstrainSelectedInstOperands,
40916 /* 114777 */ // GIR_Coverage, 664,
40917 /* 114777 */ GIR_EraseRootFromParent_Done,
40918 /* 114778 */ // Label 2536: @114778
40919 /* 114778 */ GIM_Try, /*On fail goto*//*Label 2537*/ GIMT_Encode4(114815), // Rule ID 668 //
40920 /* 114783 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
40921 /* 114786 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40922 /* 114790 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40923 /* 114794 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40924 /* 114798 */ // MIs[1] Operand 1
40925 /* 114798 */ // No operand predicates
40926 /* 114798 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40927 /* 114800 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
40928 /* 114800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64ri_ND),
40929 /* 114803 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40930 /* 114805 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40931 /* 114807 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40932 /* 114810 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40933 /* 114813 */ GIR_RootConstrainSelectedInstOperands,
40934 /* 114814 */ // GIR_Coverage, 668,
40935 /* 114814 */ GIR_EraseRootFromParent_Done,
40936 /* 114815 */ // Label 2537: @114815
40937 /* 114815 */ GIM_Try, /*On fail goto*//*Label 2538*/ GIMT_Encode4(114894), // Rule ID 17659 //
40938 /* 114820 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
40939 /* 114823 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40940 /* 114827 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40941 /* 114831 */ // (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] }))
40942 /* 114831 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
40943 /* 114834 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40944 /* 114838 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40945 /* 114843 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40946 /* 114845 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
40947 /* 114848 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40948 /* 114852 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40949 /* 114857 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40950 /* 114860 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40951 /* 114864 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40952 /* 114867 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40953 /* 114872 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40954 /* 114877 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40955 /* 114882 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX64rr),
40956 /* 114885 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40957 /* 114887 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40958 /* 114889 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40959 /* 114892 */ GIR_RootConstrainSelectedInstOperands,
40960 /* 114893 */ // GIR_Coverage, 17659,
40961 /* 114893 */ GIR_EraseRootFromParent_Done,
40962 /* 114894 */ // Label 2538: @114894
40963 /* 114894 */ GIM_Try, /*On fail goto*//*Label 2539*/ GIMT_Encode4(114973), // Rule ID 17691 //
40964 /* 114899 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
40965 /* 114902 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40966 /* 114906 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40967 /* 114910 */ // (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] }))
40968 /* 114910 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
40969 /* 114913 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40970 /* 114917 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40971 /* 114922 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40972 /* 114924 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
40973 /* 114927 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40974 /* 114931 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40975 /* 114936 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40976 /* 114939 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40977 /* 114943 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40978 /* 114946 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40979 /* 114951 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40980 /* 114956 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40981 /* 114961 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX64rr_EVEX),
40982 /* 114964 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40983 /* 114966 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40984 /* 114968 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40985 /* 114971 */ GIR_RootConstrainSelectedInstOperands,
40986 /* 114972 */ // GIR_Coverage, 17691,
40987 /* 114972 */ GIR_EraseRootFromParent_Done,
40988 /* 114973 */ // Label 2539: @114973
40989 /* 114973 */ GIM_Try, /*On fail goto*//*Label 2540*/ GIMT_Encode4(115015), // Rule ID 680 //
40990 /* 114978 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
40991 /* 114981 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40992 /* 114985 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
40993 /* 114989 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHL64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
40994 /* 114989 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40995 /* 114993 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40996 /* 114999 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40997 /* 115003 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64rCL),
40998 /* 115006 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40999 /* 115008 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41000 /* 115010 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41001 /* 115013 */ GIR_RootConstrainSelectedInstOperands,
41002 /* 115014 */ // GIR_Coverage, 680,
41003 /* 115014 */ GIR_EraseRootFromParent_Done,
41004 /* 115015 */ // Label 2540: @115015
41005 /* 115015 */ GIM_Try, /*On fail goto*//*Label 2541*/ GIMT_Encode4(115057), // Rule ID 684 //
41006 /* 115020 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41007 /* 115023 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41008 /* 115027 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41009 /* 115031 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHL64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
41010 /* 115031 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41011 /* 115035 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41012 /* 115041 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41013 /* 115045 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64rCL_ND),
41014 /* 115048 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41015 /* 115050 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41016 /* 115052 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41017 /* 115055 */ GIR_RootConstrainSelectedInstOperands,
41018 /* 115056 */ // GIR_Coverage, 684,
41019 /* 115056 */ GIR_EraseRootFromParent_Done,
41020 /* 115057 */ // Label 2541: @115057
41021 /* 115057 */ GIM_Reject,
41022 /* 115058 */ // Label 2531: @115058
41023 /* 115058 */ GIM_Reject,
41024 /* 115059 */ // Label 2505: @115059
41025 /* 115059 */ GIM_Reject,
41026 /* 115060 */ // Label 28: @115060
41027 /* 115060 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 2546*/ GIMT_Encode4(116519),
41028 /* 115071 */ /*GILLT_s8*//*Label 2542*/ GIMT_Encode4(115087),
41029 /* 115075 */ /*GILLT_s16*//*Label 2543*/ GIMT_Encode4(115250),
41030 /* 115079 */ /*GILLT_s32*//*Label 2544*/ GIMT_Encode4(115413),
41031 /* 115083 */ /*GILLT_s64*//*Label 2545*/ GIMT_Encode4(115966),
41032 /* 115087 */ // Label 2542: @115087
41033 /* 115087 */ GIM_Try, /*On fail goto*//*Label 2547*/ GIMT_Encode4(115249),
41034 /* 115092 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
41035 /* 115095 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41036 /* 115098 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41037 /* 115102 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41038 /* 115106 */ GIM_Try, /*On fail goto*//*Label 2548*/ GIMT_Encode4(115139), // Rule ID 693 //
41039 /* 115111 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41040 /* 115114 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41041 /* 115118 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41042 /* 115122 */ // MIs[1] Operand 1
41043 /* 115122 */ // No operand predicates
41044 /* 115122 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41045 /* 115124 */ // (srl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
41046 /* 115124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8ri),
41047 /* 115127 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41048 /* 115129 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41049 /* 115131 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41050 /* 115134 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41051 /* 115137 */ GIR_RootConstrainSelectedInstOperands,
41052 /* 115138 */ // GIR_Coverage, 693,
41053 /* 115138 */ GIR_EraseRootFromParent_Done,
41054 /* 115139 */ // Label 2548: @115139
41055 /* 115139 */ GIM_Try, /*On fail goto*//*Label 2549*/ GIMT_Encode4(115172), // Rule ID 697 //
41056 /* 115144 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41057 /* 115147 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41058 /* 115151 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41059 /* 115155 */ // MIs[1] Operand 1
41060 /* 115155 */ // No operand predicates
41061 /* 115155 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41062 /* 115157 */ // (srl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
41063 /* 115157 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8ri_ND),
41064 /* 115160 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41065 /* 115162 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41066 /* 115164 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41067 /* 115167 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41068 /* 115170 */ GIR_RootConstrainSelectedInstOperands,
41069 /* 115171 */ // GIR_Coverage, 697,
41070 /* 115171 */ GIR_EraseRootFromParent_Done,
41071 /* 115172 */ // Label 2549: @115172
41072 /* 115172 */ GIM_Try, /*On fail goto*//*Label 2550*/ GIMT_Encode4(115210), // Rule ID 709 //
41073 /* 115177 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41074 /* 115180 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41075 /* 115184 */ // (srl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SHR8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
41076 /* 115184 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41077 /* 115188 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41078 /* 115194 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41079 /* 115198 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8rCL),
41080 /* 115201 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41081 /* 115203 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41082 /* 115205 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41083 /* 115208 */ GIR_RootConstrainSelectedInstOperands,
41084 /* 115209 */ // GIR_Coverage, 709,
41085 /* 115209 */ GIR_EraseRootFromParent_Done,
41086 /* 115210 */ // Label 2550: @115210
41087 /* 115210 */ GIM_Try, /*On fail goto*//*Label 2551*/ GIMT_Encode4(115248), // Rule ID 713 //
41088 /* 115215 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41089 /* 115218 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41090 /* 115222 */ // (srl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SHR8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
41091 /* 115222 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41092 /* 115226 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41093 /* 115232 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41094 /* 115236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8rCL_ND),
41095 /* 115239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41096 /* 115241 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41097 /* 115243 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41098 /* 115246 */ GIR_RootConstrainSelectedInstOperands,
41099 /* 115247 */ // GIR_Coverage, 713,
41100 /* 115247 */ GIR_EraseRootFromParent_Done,
41101 /* 115248 */ // Label 2551: @115248
41102 /* 115248 */ GIM_Reject,
41103 /* 115249 */ // Label 2547: @115249
41104 /* 115249 */ GIM_Reject,
41105 /* 115250 */ // Label 2543: @115250
41106 /* 115250 */ GIM_Try, /*On fail goto*//*Label 2552*/ GIMT_Encode4(115412),
41107 /* 115255 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
41108 /* 115258 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41109 /* 115261 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
41110 /* 115265 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
41111 /* 115269 */ GIM_Try, /*On fail goto*//*Label 2553*/ GIMT_Encode4(115302), // Rule ID 694 //
41112 /* 115274 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41113 /* 115277 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41114 /* 115281 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41115 /* 115285 */ // MIs[1] Operand 1
41116 /* 115285 */ // No operand predicates
41117 /* 115285 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41118 /* 115287 */ // (srl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
41119 /* 115287 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16ri),
41120 /* 115290 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41121 /* 115292 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41122 /* 115294 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41123 /* 115297 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41124 /* 115300 */ GIR_RootConstrainSelectedInstOperands,
41125 /* 115301 */ // GIR_Coverage, 694,
41126 /* 115301 */ GIR_EraseRootFromParent_Done,
41127 /* 115302 */ // Label 2553: @115302
41128 /* 115302 */ GIM_Try, /*On fail goto*//*Label 2554*/ GIMT_Encode4(115335), // Rule ID 698 //
41129 /* 115307 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41130 /* 115310 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41131 /* 115314 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41132 /* 115318 */ // MIs[1] Operand 1
41133 /* 115318 */ // No operand predicates
41134 /* 115318 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41135 /* 115320 */ // (srl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
41136 /* 115320 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16ri_ND),
41137 /* 115323 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41138 /* 115325 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41139 /* 115327 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41140 /* 115330 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41141 /* 115333 */ GIR_RootConstrainSelectedInstOperands,
41142 /* 115334 */ // GIR_Coverage, 698,
41143 /* 115334 */ GIR_EraseRootFromParent_Done,
41144 /* 115335 */ // Label 2554: @115335
41145 /* 115335 */ GIM_Try, /*On fail goto*//*Label 2555*/ GIMT_Encode4(115373), // Rule ID 710 //
41146 /* 115340 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41147 /* 115343 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41148 /* 115347 */ // (srl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SHR16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
41149 /* 115347 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41150 /* 115351 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41151 /* 115357 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41152 /* 115361 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16rCL),
41153 /* 115364 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41154 /* 115366 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41155 /* 115368 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41156 /* 115371 */ GIR_RootConstrainSelectedInstOperands,
41157 /* 115372 */ // GIR_Coverage, 710,
41158 /* 115372 */ GIR_EraseRootFromParent_Done,
41159 /* 115373 */ // Label 2555: @115373
41160 /* 115373 */ GIM_Try, /*On fail goto*//*Label 2556*/ GIMT_Encode4(115411), // Rule ID 714 //
41161 /* 115378 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41162 /* 115381 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41163 /* 115385 */ // (srl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SHR16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
41164 /* 115385 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41165 /* 115389 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41166 /* 115395 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41167 /* 115399 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16rCL_ND),
41168 /* 115402 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41169 /* 115404 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41170 /* 115406 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41171 /* 115409 */ GIR_RootConstrainSelectedInstOperands,
41172 /* 115410 */ // GIR_Coverage, 714,
41173 /* 115410 */ GIR_EraseRootFromParent_Done,
41174 /* 115411 */ // Label 2556: @115411
41175 /* 115411 */ GIM_Reject,
41176 /* 115412 */ // Label 2552: @115412
41177 /* 115412 */ GIM_Reject,
41178 /* 115413 */ // Label 2544: @115413
41179 /* 115413 */ GIM_Try, /*On fail goto*//*Label 2557*/ GIMT_Encode4(115965),
41180 /* 115418 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
41181 /* 115421 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41182 /* 115424 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41183 /* 115428 */ GIM_Try, /*On fail goto*//*Label 2558*/ GIMT_Encode4(115538), // Rule ID 17654 //
41184 /* 115433 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
41185 /* 115436 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41186 /* 115440 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41187 /* 115444 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41188 /* 115447 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41189 /* 115451 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
41190 /* 115455 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41191 /* 115459 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41192 /* 115461 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41193 /* 115468 */ // (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] }))
41194 /* 115468 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
41195 /* 115471 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41196 /* 115475 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41197 /* 115480 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41198 /* 115482 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41199 /* 115485 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41200 /* 115489 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41201 /* 115494 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41202 /* 115497 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41203 /* 115501 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41204 /* 115504 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41205 /* 115509 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41206 /* 115514 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41207 /* 115519 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX32rm),
41208 /* 115522 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41209 /* 115524 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41210 /* 115528 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41211 /* 115531 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41212 /* 115536 */ GIR_RootConstrainSelectedInstOperands,
41213 /* 115537 */ // GIR_Coverage, 17654,
41214 /* 115537 */ GIR_EraseRootFromParent_Done,
41215 /* 115538 */ // Label 2558: @115538
41216 /* 115538 */ GIM_Try, /*On fail goto*//*Label 2559*/ GIMT_Encode4(115648), // Rule ID 17686 //
41217 /* 115543 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
41218 /* 115546 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41219 /* 115550 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41220 /* 115554 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41221 /* 115557 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41222 /* 115561 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
41223 /* 115565 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41224 /* 115569 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41225 /* 115571 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41226 /* 115578 */ // (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] }))
41227 /* 115578 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
41228 /* 115581 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41229 /* 115585 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41230 /* 115590 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41231 /* 115592 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41232 /* 115595 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41233 /* 115599 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41234 /* 115604 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41235 /* 115607 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41236 /* 115611 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41237 /* 115614 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41238 /* 115619 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41239 /* 115624 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41240 /* 115629 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX32rm_EVEX),
41241 /* 115632 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41242 /* 115634 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41243 /* 115638 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41244 /* 115641 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41245 /* 115646 */ GIR_RootConstrainSelectedInstOperands,
41246 /* 115647 */ // GIR_Coverage, 17686,
41247 /* 115647 */ GIR_EraseRootFromParent_Done,
41248 /* 115648 */ // Label 2559: @115648
41249 /* 115648 */ GIM_Try, /*On fail goto*//*Label 2560*/ GIMT_Encode4(115685), // Rule ID 695 //
41250 /* 115653 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41251 /* 115656 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41252 /* 115660 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41253 /* 115664 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41254 /* 115668 */ // MIs[1] Operand 1
41255 /* 115668 */ // No operand predicates
41256 /* 115668 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41257 /* 115670 */ // (srl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
41258 /* 115670 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32ri),
41259 /* 115673 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41260 /* 115675 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41261 /* 115677 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41262 /* 115680 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41263 /* 115683 */ GIR_RootConstrainSelectedInstOperands,
41264 /* 115684 */ // GIR_Coverage, 695,
41265 /* 115684 */ GIR_EraseRootFromParent_Done,
41266 /* 115685 */ // Label 2560: @115685
41267 /* 115685 */ GIM_Try, /*On fail goto*//*Label 2561*/ GIMT_Encode4(115722), // Rule ID 699 //
41268 /* 115690 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41269 /* 115693 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41270 /* 115697 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41271 /* 115701 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41272 /* 115705 */ // MIs[1] Operand 1
41273 /* 115705 */ // No operand predicates
41274 /* 115705 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41275 /* 115707 */ // (srl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
41276 /* 115707 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32ri_ND),
41277 /* 115710 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41278 /* 115712 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41279 /* 115714 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41280 /* 115717 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41281 /* 115720 */ GIR_RootConstrainSelectedInstOperands,
41282 /* 115721 */ // GIR_Coverage, 699,
41283 /* 115721 */ GIR_EraseRootFromParent_Done,
41284 /* 115722 */ // Label 2561: @115722
41285 /* 115722 */ GIM_Try, /*On fail goto*//*Label 2562*/ GIMT_Encode4(115801), // Rule ID 17650 //
41286 /* 115727 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
41287 /* 115730 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41288 /* 115734 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41289 /* 115738 */ // (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] }))
41290 /* 115738 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
41291 /* 115741 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41292 /* 115745 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41293 /* 115750 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41294 /* 115752 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41295 /* 115755 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41296 /* 115759 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41297 /* 115764 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41298 /* 115767 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41299 /* 115771 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41300 /* 115774 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41301 /* 115779 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41302 /* 115784 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41303 /* 115789 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX32rr),
41304 /* 115792 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41305 /* 115794 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41306 /* 115796 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41307 /* 115799 */ GIR_RootConstrainSelectedInstOperands,
41308 /* 115800 */ // GIR_Coverage, 17650,
41309 /* 115800 */ GIR_EraseRootFromParent_Done,
41310 /* 115801 */ // Label 2562: @115801
41311 /* 115801 */ GIM_Try, /*On fail goto*//*Label 2563*/ GIMT_Encode4(115880), // Rule ID 17682 //
41312 /* 115806 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
41313 /* 115809 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41314 /* 115813 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41315 /* 115817 */ // (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] }))
41316 /* 115817 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
41317 /* 115820 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41318 /* 115824 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41319 /* 115829 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41320 /* 115831 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41321 /* 115834 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41322 /* 115838 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41323 /* 115843 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41324 /* 115846 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41325 /* 115850 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41326 /* 115853 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41327 /* 115858 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41328 /* 115863 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41329 /* 115868 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX32rr_EVEX),
41330 /* 115871 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41331 /* 115873 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41332 /* 115875 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41333 /* 115878 */ GIR_RootConstrainSelectedInstOperands,
41334 /* 115879 */ // GIR_Coverage, 17682,
41335 /* 115879 */ GIR_EraseRootFromParent_Done,
41336 /* 115880 */ // Label 2563: @115880
41337 /* 115880 */ GIM_Try, /*On fail goto*//*Label 2564*/ GIMT_Encode4(115922), // Rule ID 711 //
41338 /* 115885 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41339 /* 115888 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41340 /* 115892 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41341 /* 115896 */ // (srl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHR32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
41342 /* 115896 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41343 /* 115900 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41344 /* 115906 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41345 /* 115910 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32rCL),
41346 /* 115913 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41347 /* 115915 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41348 /* 115917 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41349 /* 115920 */ GIR_RootConstrainSelectedInstOperands,
41350 /* 115921 */ // GIR_Coverage, 711,
41351 /* 115921 */ GIR_EraseRootFromParent_Done,
41352 /* 115922 */ // Label 2564: @115922
41353 /* 115922 */ GIM_Try, /*On fail goto*//*Label 2565*/ GIMT_Encode4(115964), // Rule ID 715 //
41354 /* 115927 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41355 /* 115930 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41356 /* 115934 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41357 /* 115938 */ // (srl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHR32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
41358 /* 115938 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41359 /* 115942 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41360 /* 115948 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41361 /* 115952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32rCL_ND),
41362 /* 115955 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41363 /* 115957 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41364 /* 115959 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41365 /* 115962 */ GIR_RootConstrainSelectedInstOperands,
41366 /* 115963 */ // GIR_Coverage, 715,
41367 /* 115963 */ GIR_EraseRootFromParent_Done,
41368 /* 115964 */ // Label 2565: @115964
41369 /* 115964 */ GIM_Reject,
41370 /* 115965 */ // Label 2557: @115965
41371 /* 115965 */ GIM_Reject,
41372 /* 115966 */ // Label 2545: @115966
41373 /* 115966 */ GIM_Try, /*On fail goto*//*Label 2566*/ GIMT_Encode4(116518),
41374 /* 115971 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
41375 /* 115974 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41376 /* 115977 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41377 /* 115981 */ GIM_Try, /*On fail goto*//*Label 2567*/ GIMT_Encode4(116091), // Rule ID 17655 //
41378 /* 115986 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
41379 /* 115989 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41380 /* 115993 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41381 /* 115997 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41382 /* 116000 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41383 /* 116004 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41384 /* 116008 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41385 /* 116012 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41386 /* 116014 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41387 /* 116021 */ // (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] }))
41388 /* 116021 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
41389 /* 116024 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41390 /* 116028 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41391 /* 116033 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41392 /* 116035 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
41393 /* 116038 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41394 /* 116042 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41395 /* 116047 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41396 /* 116050 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41397 /* 116054 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41398 /* 116057 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41399 /* 116062 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41400 /* 116067 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41401 /* 116072 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX64rm),
41402 /* 116075 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41403 /* 116077 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41404 /* 116081 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41405 /* 116084 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41406 /* 116089 */ GIR_RootConstrainSelectedInstOperands,
41407 /* 116090 */ // GIR_Coverage, 17655,
41408 /* 116090 */ GIR_EraseRootFromParent_Done,
41409 /* 116091 */ // Label 2567: @116091
41410 /* 116091 */ GIM_Try, /*On fail goto*//*Label 2568*/ GIMT_Encode4(116201), // Rule ID 17687 //
41411 /* 116096 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
41412 /* 116099 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41413 /* 116103 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41414 /* 116107 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41415 /* 116110 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41416 /* 116114 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41417 /* 116118 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41418 /* 116122 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41419 /* 116124 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41420 /* 116131 */ // (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] }))
41421 /* 116131 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
41422 /* 116134 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41423 /* 116138 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41424 /* 116143 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41425 /* 116145 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
41426 /* 116148 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41427 /* 116152 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41428 /* 116157 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41429 /* 116160 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41430 /* 116164 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41431 /* 116167 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41432 /* 116172 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41433 /* 116177 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41434 /* 116182 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX64rm_EVEX),
41435 /* 116185 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41436 /* 116187 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41437 /* 116191 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41438 /* 116194 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41439 /* 116199 */ GIR_RootConstrainSelectedInstOperands,
41440 /* 116200 */ // GIR_Coverage, 17687,
41441 /* 116200 */ GIR_EraseRootFromParent_Done,
41442 /* 116201 */ // Label 2568: @116201
41443 /* 116201 */ GIM_Try, /*On fail goto*//*Label 2569*/ GIMT_Encode4(116238), // Rule ID 696 //
41444 /* 116206 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41445 /* 116209 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41446 /* 116213 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41447 /* 116217 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41448 /* 116221 */ // MIs[1] Operand 1
41449 /* 116221 */ // No operand predicates
41450 /* 116221 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41451 /* 116223 */ // (srl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
41452 /* 116223 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64ri),
41453 /* 116226 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41454 /* 116228 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41455 /* 116230 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41456 /* 116233 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41457 /* 116236 */ GIR_RootConstrainSelectedInstOperands,
41458 /* 116237 */ // GIR_Coverage, 696,
41459 /* 116237 */ GIR_EraseRootFromParent_Done,
41460 /* 116238 */ // Label 2569: @116238
41461 /* 116238 */ GIM_Try, /*On fail goto*//*Label 2570*/ GIMT_Encode4(116275), // Rule ID 700 //
41462 /* 116243 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41463 /* 116246 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41464 /* 116250 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41465 /* 116254 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41466 /* 116258 */ // MIs[1] Operand 1
41467 /* 116258 */ // No operand predicates
41468 /* 116258 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41469 /* 116260 */ // (srl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
41470 /* 116260 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64ri_ND),
41471 /* 116263 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41472 /* 116265 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41473 /* 116267 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41474 /* 116270 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41475 /* 116273 */ GIR_RootConstrainSelectedInstOperands,
41476 /* 116274 */ // GIR_Coverage, 700,
41477 /* 116274 */ GIR_EraseRootFromParent_Done,
41478 /* 116275 */ // Label 2570: @116275
41479 /* 116275 */ GIM_Try, /*On fail goto*//*Label 2571*/ GIMT_Encode4(116354), // Rule ID 17651 //
41480 /* 116280 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
41481 /* 116283 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41482 /* 116287 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41483 /* 116291 */ // (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] }))
41484 /* 116291 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
41485 /* 116294 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41486 /* 116298 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41487 /* 116303 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41488 /* 116305 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
41489 /* 116308 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41490 /* 116312 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41491 /* 116317 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41492 /* 116320 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41493 /* 116324 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41494 /* 116327 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41495 /* 116332 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41496 /* 116337 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41497 /* 116342 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX64rr),
41498 /* 116345 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41499 /* 116347 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41500 /* 116349 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41501 /* 116352 */ GIR_RootConstrainSelectedInstOperands,
41502 /* 116353 */ // GIR_Coverage, 17651,
41503 /* 116353 */ GIR_EraseRootFromParent_Done,
41504 /* 116354 */ // Label 2571: @116354
41505 /* 116354 */ GIM_Try, /*On fail goto*//*Label 2572*/ GIMT_Encode4(116433), // Rule ID 17683 //
41506 /* 116359 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
41507 /* 116362 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41508 /* 116366 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41509 /* 116370 */ // (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] }))
41510 /* 116370 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
41511 /* 116373 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41512 /* 116377 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41513 /* 116382 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41514 /* 116384 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
41515 /* 116387 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41516 /* 116391 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41517 /* 116396 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41518 /* 116399 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41519 /* 116403 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41520 /* 116406 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41521 /* 116411 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41522 /* 116416 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41523 /* 116421 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX64rr_EVEX),
41524 /* 116424 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41525 /* 116426 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41526 /* 116428 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41527 /* 116431 */ GIR_RootConstrainSelectedInstOperands,
41528 /* 116432 */ // GIR_Coverage, 17683,
41529 /* 116432 */ GIR_EraseRootFromParent_Done,
41530 /* 116433 */ // Label 2572: @116433
41531 /* 116433 */ GIM_Try, /*On fail goto*//*Label 2573*/ GIMT_Encode4(116475), // Rule ID 712 //
41532 /* 116438 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41533 /* 116441 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41534 /* 116445 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41535 /* 116449 */ // (srl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHR64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
41536 /* 116449 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41537 /* 116453 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41538 /* 116459 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41539 /* 116463 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64rCL),
41540 /* 116466 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41541 /* 116468 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41542 /* 116470 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41543 /* 116473 */ GIR_RootConstrainSelectedInstOperands,
41544 /* 116474 */ // GIR_Coverage, 712,
41545 /* 116474 */ GIR_EraseRootFromParent_Done,
41546 /* 116475 */ // Label 2573: @116475
41547 /* 116475 */ GIM_Try, /*On fail goto*//*Label 2574*/ GIMT_Encode4(116517), // Rule ID 716 //
41548 /* 116480 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41549 /* 116483 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41550 /* 116487 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41551 /* 116491 */ // (srl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHR64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
41552 /* 116491 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41553 /* 116495 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41554 /* 116501 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41555 /* 116505 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64rCL_ND),
41556 /* 116508 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41557 /* 116510 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41558 /* 116512 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41559 /* 116515 */ GIR_RootConstrainSelectedInstOperands,
41560 /* 116516 */ // GIR_Coverage, 716,
41561 /* 116516 */ GIR_EraseRootFromParent_Done,
41562 /* 116517 */ // Label 2574: @116517
41563 /* 116517 */ GIM_Reject,
41564 /* 116518 */ // Label 2566: @116518
41565 /* 116518 */ GIM_Reject,
41566 /* 116519 */ // Label 2546: @116519
41567 /* 116519 */ GIM_Reject,
41568 /* 116520 */ // Label 29: @116520
41569 /* 116520 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 2579*/ GIMT_Encode4(117979),
41570 /* 116531 */ /*GILLT_s8*//*Label 2575*/ GIMT_Encode4(116547),
41571 /* 116535 */ /*GILLT_s16*//*Label 2576*/ GIMT_Encode4(116710),
41572 /* 116539 */ /*GILLT_s32*//*Label 2577*/ GIMT_Encode4(116873),
41573 /* 116543 */ /*GILLT_s64*//*Label 2578*/ GIMT_Encode4(117426),
41574 /* 116547 */ // Label 2575: @116547
41575 /* 116547 */ GIM_Try, /*On fail goto*//*Label 2580*/ GIMT_Encode4(116709),
41576 /* 116552 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
41577 /* 116555 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41578 /* 116558 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41579 /* 116562 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41580 /* 116566 */ GIM_Try, /*On fail goto*//*Label 2581*/ GIMT_Encode4(116599), // Rule ID 725 //
41581 /* 116571 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41582 /* 116574 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41583 /* 116578 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41584 /* 116582 */ // MIs[1] Operand 1
41585 /* 116582 */ // No operand predicates
41586 /* 116582 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41587 /* 116584 */ // (sra:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
41588 /* 116584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8ri),
41589 /* 116587 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41590 /* 116589 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41591 /* 116591 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41592 /* 116594 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41593 /* 116597 */ GIR_RootConstrainSelectedInstOperands,
41594 /* 116598 */ // GIR_Coverage, 725,
41595 /* 116598 */ GIR_EraseRootFromParent_Done,
41596 /* 116599 */ // Label 2581: @116599
41597 /* 116599 */ GIM_Try, /*On fail goto*//*Label 2582*/ GIMT_Encode4(116632), // Rule ID 729 //
41598 /* 116604 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41599 /* 116607 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41600 /* 116611 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41601 /* 116615 */ // MIs[1] Operand 1
41602 /* 116615 */ // No operand predicates
41603 /* 116615 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41604 /* 116617 */ // (sra:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
41605 /* 116617 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8ri_ND),
41606 /* 116620 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41607 /* 116622 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41608 /* 116624 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41609 /* 116627 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41610 /* 116630 */ GIR_RootConstrainSelectedInstOperands,
41611 /* 116631 */ // GIR_Coverage, 729,
41612 /* 116631 */ GIR_EraseRootFromParent_Done,
41613 /* 116632 */ // Label 2582: @116632
41614 /* 116632 */ GIM_Try, /*On fail goto*//*Label 2583*/ GIMT_Encode4(116670), // Rule ID 741 //
41615 /* 116637 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41616 /* 116640 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41617 /* 116644 */ // (sra:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SAR8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
41618 /* 116644 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41619 /* 116648 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41620 /* 116654 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41621 /* 116658 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8rCL),
41622 /* 116661 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41623 /* 116663 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41624 /* 116665 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41625 /* 116668 */ GIR_RootConstrainSelectedInstOperands,
41626 /* 116669 */ // GIR_Coverage, 741,
41627 /* 116669 */ GIR_EraseRootFromParent_Done,
41628 /* 116670 */ // Label 2583: @116670
41629 /* 116670 */ GIM_Try, /*On fail goto*//*Label 2584*/ GIMT_Encode4(116708), // Rule ID 745 //
41630 /* 116675 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41631 /* 116678 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41632 /* 116682 */ // (sra:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SAR8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
41633 /* 116682 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41634 /* 116686 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41635 /* 116692 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41636 /* 116696 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8rCL_ND),
41637 /* 116699 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41638 /* 116701 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41639 /* 116703 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41640 /* 116706 */ GIR_RootConstrainSelectedInstOperands,
41641 /* 116707 */ // GIR_Coverage, 745,
41642 /* 116707 */ GIR_EraseRootFromParent_Done,
41643 /* 116708 */ // Label 2584: @116708
41644 /* 116708 */ GIM_Reject,
41645 /* 116709 */ // Label 2580: @116709
41646 /* 116709 */ GIM_Reject,
41647 /* 116710 */ // Label 2576: @116710
41648 /* 116710 */ GIM_Try, /*On fail goto*//*Label 2585*/ GIMT_Encode4(116872),
41649 /* 116715 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
41650 /* 116718 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41651 /* 116721 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
41652 /* 116725 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
41653 /* 116729 */ GIM_Try, /*On fail goto*//*Label 2586*/ GIMT_Encode4(116762), // Rule ID 726 //
41654 /* 116734 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41655 /* 116737 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41656 /* 116741 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41657 /* 116745 */ // MIs[1] Operand 1
41658 /* 116745 */ // No operand predicates
41659 /* 116745 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41660 /* 116747 */ // (sra:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
41661 /* 116747 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16ri),
41662 /* 116750 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41663 /* 116752 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41664 /* 116754 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41665 /* 116757 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41666 /* 116760 */ GIR_RootConstrainSelectedInstOperands,
41667 /* 116761 */ // GIR_Coverage, 726,
41668 /* 116761 */ GIR_EraseRootFromParent_Done,
41669 /* 116762 */ // Label 2586: @116762
41670 /* 116762 */ GIM_Try, /*On fail goto*//*Label 2587*/ GIMT_Encode4(116795), // Rule ID 730 //
41671 /* 116767 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41672 /* 116770 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41673 /* 116774 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41674 /* 116778 */ // MIs[1] Operand 1
41675 /* 116778 */ // No operand predicates
41676 /* 116778 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41677 /* 116780 */ // (sra:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
41678 /* 116780 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16ri_ND),
41679 /* 116783 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41680 /* 116785 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41681 /* 116787 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41682 /* 116790 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41683 /* 116793 */ GIR_RootConstrainSelectedInstOperands,
41684 /* 116794 */ // GIR_Coverage, 730,
41685 /* 116794 */ GIR_EraseRootFromParent_Done,
41686 /* 116795 */ // Label 2587: @116795
41687 /* 116795 */ GIM_Try, /*On fail goto*//*Label 2588*/ GIMT_Encode4(116833), // Rule ID 742 //
41688 /* 116800 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41689 /* 116803 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41690 /* 116807 */ // (sra:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SAR16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
41691 /* 116807 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41692 /* 116811 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41693 /* 116817 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41694 /* 116821 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16rCL),
41695 /* 116824 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41696 /* 116826 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41697 /* 116828 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41698 /* 116831 */ GIR_RootConstrainSelectedInstOperands,
41699 /* 116832 */ // GIR_Coverage, 742,
41700 /* 116832 */ GIR_EraseRootFromParent_Done,
41701 /* 116833 */ // Label 2588: @116833
41702 /* 116833 */ GIM_Try, /*On fail goto*//*Label 2589*/ GIMT_Encode4(116871), // Rule ID 746 //
41703 /* 116838 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41704 /* 116841 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41705 /* 116845 */ // (sra:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SAR16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
41706 /* 116845 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41707 /* 116849 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41708 /* 116855 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41709 /* 116859 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16rCL_ND),
41710 /* 116862 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41711 /* 116864 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41712 /* 116866 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41713 /* 116869 */ GIR_RootConstrainSelectedInstOperands,
41714 /* 116870 */ // GIR_Coverage, 746,
41715 /* 116870 */ GIR_EraseRootFromParent_Done,
41716 /* 116871 */ // Label 2589: @116871
41717 /* 116871 */ GIM_Reject,
41718 /* 116872 */ // Label 2585: @116872
41719 /* 116872 */ GIM_Reject,
41720 /* 116873 */ // Label 2577: @116873
41721 /* 116873 */ GIM_Try, /*On fail goto*//*Label 2590*/ GIMT_Encode4(117425),
41722 /* 116878 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
41723 /* 116881 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41724 /* 116884 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41725 /* 116888 */ GIM_Try, /*On fail goto*//*Label 2591*/ GIMT_Encode4(116998), // Rule ID 17646 //
41726 /* 116893 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
41727 /* 116896 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41728 /* 116900 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41729 /* 116904 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41730 /* 116907 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41731 /* 116911 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
41732 /* 116915 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41733 /* 116919 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41734 /* 116921 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41735 /* 116928 */ // (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] }))
41736 /* 116928 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
41737 /* 116931 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41738 /* 116935 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41739 /* 116940 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41740 /* 116942 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41741 /* 116945 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41742 /* 116949 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41743 /* 116954 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41744 /* 116957 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41745 /* 116961 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41746 /* 116964 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41747 /* 116969 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41748 /* 116974 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41749 /* 116979 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX32rm),
41750 /* 116982 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41751 /* 116984 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41752 /* 116988 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41753 /* 116991 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41754 /* 116996 */ GIR_RootConstrainSelectedInstOperands,
41755 /* 116997 */ // GIR_Coverage, 17646,
41756 /* 116997 */ GIR_EraseRootFromParent_Done,
41757 /* 116998 */ // Label 2591: @116998
41758 /* 116998 */ GIM_Try, /*On fail goto*//*Label 2592*/ GIMT_Encode4(117108), // Rule ID 17678 //
41759 /* 117003 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
41760 /* 117006 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41761 /* 117010 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41762 /* 117014 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41763 /* 117017 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41764 /* 117021 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
41765 /* 117025 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41766 /* 117029 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41767 /* 117031 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41768 /* 117038 */ // (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] }))
41769 /* 117038 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
41770 /* 117041 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41771 /* 117045 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41772 /* 117050 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41773 /* 117052 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41774 /* 117055 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41775 /* 117059 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41776 /* 117064 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41777 /* 117067 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41778 /* 117071 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41779 /* 117074 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41780 /* 117079 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41781 /* 117084 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41782 /* 117089 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX32rm_EVEX),
41783 /* 117092 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41784 /* 117094 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41785 /* 117098 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41786 /* 117101 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41787 /* 117106 */ GIR_RootConstrainSelectedInstOperands,
41788 /* 117107 */ // GIR_Coverage, 17678,
41789 /* 117107 */ GIR_EraseRootFromParent_Done,
41790 /* 117108 */ // Label 2592: @117108
41791 /* 117108 */ GIM_Try, /*On fail goto*//*Label 2593*/ GIMT_Encode4(117145), // Rule ID 727 //
41792 /* 117113 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41793 /* 117116 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41794 /* 117120 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41795 /* 117124 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41796 /* 117128 */ // MIs[1] Operand 1
41797 /* 117128 */ // No operand predicates
41798 /* 117128 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41799 /* 117130 */ // (sra:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
41800 /* 117130 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32ri),
41801 /* 117133 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41802 /* 117135 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41803 /* 117137 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41804 /* 117140 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41805 /* 117143 */ GIR_RootConstrainSelectedInstOperands,
41806 /* 117144 */ // GIR_Coverage, 727,
41807 /* 117144 */ GIR_EraseRootFromParent_Done,
41808 /* 117145 */ // Label 2593: @117145
41809 /* 117145 */ GIM_Try, /*On fail goto*//*Label 2594*/ GIMT_Encode4(117182), // Rule ID 731 //
41810 /* 117150 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41811 /* 117153 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41812 /* 117157 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41813 /* 117161 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41814 /* 117165 */ // MIs[1] Operand 1
41815 /* 117165 */ // No operand predicates
41816 /* 117165 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41817 /* 117167 */ // (sra:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
41818 /* 117167 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32ri_ND),
41819 /* 117170 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41820 /* 117172 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41821 /* 117174 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41822 /* 117177 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41823 /* 117180 */ GIR_RootConstrainSelectedInstOperands,
41824 /* 117181 */ // GIR_Coverage, 731,
41825 /* 117181 */ GIR_EraseRootFromParent_Done,
41826 /* 117182 */ // Label 2594: @117182
41827 /* 117182 */ GIM_Try, /*On fail goto*//*Label 2595*/ GIMT_Encode4(117261), // Rule ID 17642 //
41828 /* 117187 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
41829 /* 117190 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41830 /* 117194 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41831 /* 117198 */ // (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] }))
41832 /* 117198 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
41833 /* 117201 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41834 /* 117205 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41835 /* 117210 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41836 /* 117212 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41837 /* 117215 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41838 /* 117219 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41839 /* 117224 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41840 /* 117227 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41841 /* 117231 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41842 /* 117234 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41843 /* 117239 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41844 /* 117244 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41845 /* 117249 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX32rr),
41846 /* 117252 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41847 /* 117254 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41848 /* 117256 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41849 /* 117259 */ GIR_RootConstrainSelectedInstOperands,
41850 /* 117260 */ // GIR_Coverage, 17642,
41851 /* 117260 */ GIR_EraseRootFromParent_Done,
41852 /* 117261 */ // Label 2595: @117261
41853 /* 117261 */ GIM_Try, /*On fail goto*//*Label 2596*/ GIMT_Encode4(117340), // Rule ID 17674 //
41854 /* 117266 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
41855 /* 117269 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41856 /* 117273 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41857 /* 117277 */ // (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] }))
41858 /* 117277 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
41859 /* 117280 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41860 /* 117284 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41861 /* 117289 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41862 /* 117291 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41863 /* 117294 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41864 /* 117298 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41865 /* 117303 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41866 /* 117306 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41867 /* 117310 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41868 /* 117313 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41869 /* 117318 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41870 /* 117323 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41871 /* 117328 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX32rr_EVEX),
41872 /* 117331 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41873 /* 117333 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41874 /* 117335 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41875 /* 117338 */ GIR_RootConstrainSelectedInstOperands,
41876 /* 117339 */ // GIR_Coverage, 17674,
41877 /* 117339 */ GIR_EraseRootFromParent_Done,
41878 /* 117340 */ // Label 2596: @117340
41879 /* 117340 */ GIM_Try, /*On fail goto*//*Label 2597*/ GIMT_Encode4(117382), // Rule ID 743 //
41880 /* 117345 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41881 /* 117348 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41882 /* 117352 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41883 /* 117356 */ // (sra:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SAR32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
41884 /* 117356 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41885 /* 117360 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41886 /* 117366 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41887 /* 117370 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32rCL),
41888 /* 117373 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41889 /* 117375 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41890 /* 117377 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41891 /* 117380 */ GIR_RootConstrainSelectedInstOperands,
41892 /* 117381 */ // GIR_Coverage, 743,
41893 /* 117381 */ GIR_EraseRootFromParent_Done,
41894 /* 117382 */ // Label 2597: @117382
41895 /* 117382 */ GIM_Try, /*On fail goto*//*Label 2598*/ GIMT_Encode4(117424), // Rule ID 747 //
41896 /* 117387 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41897 /* 117390 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41898 /* 117394 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41899 /* 117398 */ // (sra:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SAR32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
41900 /* 117398 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41901 /* 117402 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41902 /* 117408 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41903 /* 117412 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32rCL_ND),
41904 /* 117415 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41905 /* 117417 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41906 /* 117419 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41907 /* 117422 */ GIR_RootConstrainSelectedInstOperands,
41908 /* 117423 */ // GIR_Coverage, 747,
41909 /* 117423 */ GIR_EraseRootFromParent_Done,
41910 /* 117424 */ // Label 2598: @117424
41911 /* 117424 */ GIM_Reject,
41912 /* 117425 */ // Label 2590: @117425
41913 /* 117425 */ GIM_Reject,
41914 /* 117426 */ // Label 2578: @117426
41915 /* 117426 */ GIM_Try, /*On fail goto*//*Label 2599*/ GIMT_Encode4(117978),
41916 /* 117431 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
41917 /* 117434 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41918 /* 117437 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41919 /* 117441 */ GIM_Try, /*On fail goto*//*Label 2600*/ GIMT_Encode4(117551), // Rule ID 17647 //
41920 /* 117446 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
41921 /* 117449 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41922 /* 117453 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41923 /* 117457 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41924 /* 117460 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41925 /* 117464 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41926 /* 117468 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41927 /* 117472 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41928 /* 117474 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41929 /* 117481 */ // (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] }))
41930 /* 117481 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
41931 /* 117484 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41932 /* 117488 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41933 /* 117493 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41934 /* 117495 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
41935 /* 117498 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41936 /* 117502 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41937 /* 117507 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41938 /* 117510 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41939 /* 117514 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41940 /* 117517 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41941 /* 117522 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41942 /* 117527 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41943 /* 117532 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX64rm),
41944 /* 117535 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41945 /* 117537 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41946 /* 117541 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41947 /* 117544 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41948 /* 117549 */ GIR_RootConstrainSelectedInstOperands,
41949 /* 117550 */ // GIR_Coverage, 17647,
41950 /* 117550 */ GIR_EraseRootFromParent_Done,
41951 /* 117551 */ // Label 2600: @117551
41952 /* 117551 */ GIM_Try, /*On fail goto*//*Label 2601*/ GIMT_Encode4(117661), // Rule ID 17679 //
41953 /* 117556 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
41954 /* 117559 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41955 /* 117563 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41956 /* 117567 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41957 /* 117570 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41958 /* 117574 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41959 /* 117578 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41960 /* 117582 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41961 /* 117584 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41962 /* 117591 */ // (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] }))
41963 /* 117591 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
41964 /* 117594 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41965 /* 117598 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41966 /* 117603 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41967 /* 117605 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
41968 /* 117608 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41969 /* 117612 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41970 /* 117617 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41971 /* 117620 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41972 /* 117624 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41973 /* 117627 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41974 /* 117632 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41975 /* 117637 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41976 /* 117642 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX64rm_EVEX),
41977 /* 117645 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41978 /* 117647 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41979 /* 117651 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41980 /* 117654 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41981 /* 117659 */ GIR_RootConstrainSelectedInstOperands,
41982 /* 117660 */ // GIR_Coverage, 17679,
41983 /* 117660 */ GIR_EraseRootFromParent_Done,
41984 /* 117661 */ // Label 2601: @117661
41985 /* 117661 */ GIM_Try, /*On fail goto*//*Label 2602*/ GIMT_Encode4(117698), // Rule ID 728 //
41986 /* 117666 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41987 /* 117669 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41988 /* 117673 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41989 /* 117677 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41990 /* 117681 */ // MIs[1] Operand 1
41991 /* 117681 */ // No operand predicates
41992 /* 117681 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41993 /* 117683 */ // (sra:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
41994 /* 117683 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64ri),
41995 /* 117686 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41996 /* 117688 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41997 /* 117690 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41998 /* 117693 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41999 /* 117696 */ GIR_RootConstrainSelectedInstOperands,
42000 /* 117697 */ // GIR_Coverage, 728,
42001 /* 117697 */ GIR_EraseRootFromParent_Done,
42002 /* 117698 */ // Label 2602: @117698
42003 /* 117698 */ GIM_Try, /*On fail goto*//*Label 2603*/ GIMT_Encode4(117735), // Rule ID 732 //
42004 /* 117703 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42005 /* 117706 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42006 /* 117710 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
42007 /* 117714 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42008 /* 117718 */ // MIs[1] Operand 1
42009 /* 117718 */ // No operand predicates
42010 /* 117718 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42011 /* 117720 */ // (sra:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
42012 /* 117720 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64ri_ND),
42013 /* 117723 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42014 /* 117725 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42015 /* 117727 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
42016 /* 117730 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42017 /* 117733 */ GIR_RootConstrainSelectedInstOperands,
42018 /* 117734 */ // GIR_Coverage, 732,
42019 /* 117734 */ GIR_EraseRootFromParent_Done,
42020 /* 117735 */ // Label 2603: @117735
42021 /* 117735 */ GIM_Try, /*On fail goto*//*Label 2604*/ GIMT_Encode4(117814), // Rule ID 17643 //
42022 /* 117740 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
42023 /* 117743 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42024 /* 117747 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42025 /* 117751 */ // (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] }))
42026 /* 117751 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
42027 /* 117754 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42028 /* 117758 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42029 /* 117763 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42030 /* 117765 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
42031 /* 117768 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42032 /* 117772 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42033 /* 117777 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42034 /* 117780 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42035 /* 117784 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42036 /* 117787 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42037 /* 117792 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42038 /* 117797 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42039 /* 117802 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX64rr),
42040 /* 117805 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42041 /* 117807 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42042 /* 117809 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42043 /* 117812 */ GIR_RootConstrainSelectedInstOperands,
42044 /* 117813 */ // GIR_Coverage, 17643,
42045 /* 117813 */ GIR_EraseRootFromParent_Done,
42046 /* 117814 */ // Label 2604: @117814
42047 /* 117814 */ GIM_Try, /*On fail goto*//*Label 2605*/ GIMT_Encode4(117893), // Rule ID 17675 //
42048 /* 117819 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
42049 /* 117822 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42050 /* 117826 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42051 /* 117830 */ // (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] }))
42052 /* 117830 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
42053 /* 117833 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42054 /* 117837 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42055 /* 117842 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42056 /* 117844 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
42057 /* 117847 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42058 /* 117851 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42059 /* 117856 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42060 /* 117859 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42061 /* 117863 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42062 /* 117866 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42063 /* 117871 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42064 /* 117876 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42065 /* 117881 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX64rr_EVEX),
42066 /* 117884 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42067 /* 117886 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42068 /* 117888 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42069 /* 117891 */ GIR_RootConstrainSelectedInstOperands,
42070 /* 117892 */ // GIR_Coverage, 17675,
42071 /* 117892 */ GIR_EraseRootFromParent_Done,
42072 /* 117893 */ // Label 2605: @117893
42073 /* 117893 */ GIM_Try, /*On fail goto*//*Label 2606*/ GIMT_Encode4(117935), // Rule ID 744 //
42074 /* 117898 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42075 /* 117901 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42076 /* 117905 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42077 /* 117909 */ // (sra:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SAR64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
42078 /* 117909 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42079 /* 117913 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42080 /* 117919 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42081 /* 117923 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64rCL),
42082 /* 117926 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42083 /* 117928 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42084 /* 117930 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42085 /* 117933 */ GIR_RootConstrainSelectedInstOperands,
42086 /* 117934 */ // GIR_Coverage, 744,
42087 /* 117934 */ GIR_EraseRootFromParent_Done,
42088 /* 117935 */ // Label 2606: @117935
42089 /* 117935 */ GIM_Try, /*On fail goto*//*Label 2607*/ GIMT_Encode4(117977), // Rule ID 748 //
42090 /* 117940 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42091 /* 117943 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42092 /* 117947 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42093 /* 117951 */ // (sra:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SAR64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
42094 /* 117951 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42095 /* 117955 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42096 /* 117961 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42097 /* 117965 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64rCL_ND),
42098 /* 117968 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42099 /* 117970 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42100 /* 117972 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42101 /* 117975 */ GIR_RootConstrainSelectedInstOperands,
42102 /* 117976 */ // GIR_Coverage, 748,
42103 /* 117976 */ GIR_EraseRootFromParent_Done,
42104 /* 117977 */ // Label 2607: @117977
42105 /* 117977 */ GIM_Reject,
42106 /* 117978 */ // Label 2599: @117978
42107 /* 117978 */ GIM_Reject,
42108 /* 117979 */ // Label 2579: @117979
42109 /* 117979 */ GIM_Reject,
42110 /* 117980 */ // Label 30: @117980
42111 /* 117980 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(23), /*)*//*default:*//*Label 2619*/ GIMT_Encode4(120692),
42112 /* 117991 */ /*GILLT_s32*//*Label 2608*/ GIMT_Encode4(118071),
42113 /* 117995 */ /*GILLT_s64*//*Label 2609*/ GIMT_Encode4(118249), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
42114 /* 118011 */ /*GILLT_v2s64*//*Label 2610*/ GIMT_Encode4(118427), GIMT_Encode4(0),
42115 /* 118019 */ /*GILLT_v4s32*//*Label 2611*/ GIMT_Encode4(118765),
42116 /* 118023 */ /*GILLT_v4s64*//*Label 2612*/ GIMT_Encode4(119103), GIMT_Encode4(0),
42117 /* 118031 */ /*GILLT_v8s16*//*Label 2613*/ GIMT_Encode4(119417),
42118 /* 118035 */ /*GILLT_v8s32*//*Label 2614*/ GIMT_Encode4(119755),
42119 /* 118039 */ /*GILLT_v8s64*//*Label 2615*/ GIMT_Encode4(120069), GIMT_Encode4(0), GIMT_Encode4(0),
42120 /* 118051 */ /*GILLT_v16s16*//*Label 2616*/ GIMT_Encode4(120172),
42121 /* 118055 */ /*GILLT_v16s32*//*Label 2617*/ GIMT_Encode4(120486), GIMT_Encode4(0), GIMT_Encode4(0),
42122 /* 118067 */ /*GILLT_v32s16*//*Label 2618*/ GIMT_Encode4(120589),
42123 /* 118071 */ // Label 2608: @118071
42124 /* 118071 */ GIM_Try, /*On fail goto*//*Label 2620*/ GIMT_Encode4(118248),
42125 /* 118076 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
42126 /* 118079 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
42127 /* 118082 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
42128 /* 118085 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42129 /* 118089 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42130 /* 118093 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42131 /* 118097 */ GIM_Try, /*On fail goto*//*Label 2621*/ GIMT_Encode4(118132), // Rule ID 822 //
42132 /* 118102 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42133 /* 118105 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42134 /* 118109 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42135 /* 118113 */ // MIs[1] Operand 1
42136 /* 118113 */ // No operand predicates
42137 /* 118113 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42138 /* 118115 */ // (fshl:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3) => (SHLD32rri8:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
42139 /* 118115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32rri8),
42140 /* 118118 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42141 /* 118120 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42142 /* 118122 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42143 /* 118124 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
42144 /* 118127 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42145 /* 118130 */ GIR_RootConstrainSelectedInstOperands,
42146 /* 118131 */ // GIR_Coverage, 822,
42147 /* 118131 */ GIR_EraseRootFromParent_Done,
42148 /* 118132 */ // Label 2621: @118132
42149 /* 118132 */ GIM_Try, /*On fail goto*//*Label 2622*/ GIMT_Encode4(118167), // Rule ID 828 //
42150 /* 118137 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42151 /* 118140 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42152 /* 118144 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42153 /* 118148 */ // MIs[1] Operand 1
42154 /* 118148 */ // No operand predicates
42155 /* 118148 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42156 /* 118150 */ // (fshl:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3) => (SHLD32rri8_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
42157 /* 118150 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32rri8_ND),
42158 /* 118153 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42159 /* 118155 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42160 /* 118157 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42161 /* 118159 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
42162 /* 118162 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42163 /* 118165 */ GIR_RootConstrainSelectedInstOperands,
42164 /* 118166 */ // GIR_Coverage, 828,
42165 /* 118166 */ GIR_EraseRootFromParent_Done,
42166 /* 118167 */ // Label 2622: @118167
42167 /* 118167 */ GIM_Try, /*On fail goto*//*Label 2623*/ GIMT_Encode4(118207), // Rule ID 825 //
42168 /* 118172 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42169 /* 118175 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42170 /* 118179 */ // (fshl:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, CL:{ *:[i8] }) => (SHLD32rrCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
42171 /* 118179 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42172 /* 118183 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42173 /* 118189 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
42174 /* 118193 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32rrCL),
42175 /* 118196 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42176 /* 118198 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42177 /* 118200 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42178 /* 118202 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42179 /* 118205 */ GIR_RootConstrainSelectedInstOperands,
42180 /* 118206 */ // GIR_Coverage, 825,
42181 /* 118206 */ GIR_EraseRootFromParent_Done,
42182 /* 118207 */ // Label 2623: @118207
42183 /* 118207 */ GIM_Try, /*On fail goto*//*Label 2624*/ GIMT_Encode4(118247), // Rule ID 831 //
42184 /* 118212 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42185 /* 118215 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42186 /* 118219 */ // (fshl:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, CL:{ *:[i8] }) => (SHLD32rrCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
42187 /* 118219 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42188 /* 118223 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42189 /* 118229 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
42190 /* 118233 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32rrCL_ND),
42191 /* 118236 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42192 /* 118238 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42193 /* 118240 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42194 /* 118242 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42195 /* 118245 */ GIR_RootConstrainSelectedInstOperands,
42196 /* 118246 */ // GIR_Coverage, 831,
42197 /* 118246 */ GIR_EraseRootFromParent_Done,
42198 /* 118247 */ // Label 2624: @118247
42199 /* 118247 */ GIM_Reject,
42200 /* 118248 */ // Label 2620: @118248
42201 /* 118248 */ GIM_Reject,
42202 /* 118249 */ // Label 2609: @118249
42203 /* 118249 */ GIM_Try, /*On fail goto*//*Label 2625*/ GIMT_Encode4(118426),
42204 /* 118254 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
42205 /* 118257 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
42206 /* 118260 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
42207 /* 118263 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42208 /* 118267 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42209 /* 118271 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42210 /* 118275 */ GIM_Try, /*On fail goto*//*Label 2626*/ GIMT_Encode4(118310), // Rule ID 823 //
42211 /* 118280 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42212 /* 118283 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42213 /* 118287 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42214 /* 118291 */ // MIs[1] Operand 1
42215 /* 118291 */ // No operand predicates
42216 /* 118291 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42217 /* 118293 */ // (fshl:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3) => (SHLD64rri8:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
42218 /* 118293 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64rri8),
42219 /* 118296 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42220 /* 118298 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42221 /* 118300 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42222 /* 118302 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
42223 /* 118305 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42224 /* 118308 */ GIR_RootConstrainSelectedInstOperands,
42225 /* 118309 */ // GIR_Coverage, 823,
42226 /* 118309 */ GIR_EraseRootFromParent_Done,
42227 /* 118310 */ // Label 2626: @118310
42228 /* 118310 */ GIM_Try, /*On fail goto*//*Label 2627*/ GIMT_Encode4(118345), // Rule ID 829 //
42229 /* 118315 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42230 /* 118318 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42231 /* 118322 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42232 /* 118326 */ // MIs[1] Operand 1
42233 /* 118326 */ // No operand predicates
42234 /* 118326 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42235 /* 118328 */ // (fshl:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3) => (SHLD64rri8_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
42236 /* 118328 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64rri8_ND),
42237 /* 118331 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42238 /* 118333 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42239 /* 118335 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42240 /* 118337 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
42241 /* 118340 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42242 /* 118343 */ GIR_RootConstrainSelectedInstOperands,
42243 /* 118344 */ // GIR_Coverage, 829,
42244 /* 118344 */ GIR_EraseRootFromParent_Done,
42245 /* 118345 */ // Label 2627: @118345
42246 /* 118345 */ GIM_Try, /*On fail goto*//*Label 2628*/ GIMT_Encode4(118385), // Rule ID 826 //
42247 /* 118350 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42248 /* 118353 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42249 /* 118357 */ // (fshl:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, CL:{ *:[i8] }) => (SHLD64rrCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
42250 /* 118357 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42251 /* 118361 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42252 /* 118367 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
42253 /* 118371 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64rrCL),
42254 /* 118374 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42255 /* 118376 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42256 /* 118378 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42257 /* 118380 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42258 /* 118383 */ GIR_RootConstrainSelectedInstOperands,
42259 /* 118384 */ // GIR_Coverage, 826,
42260 /* 118384 */ GIR_EraseRootFromParent_Done,
42261 /* 118385 */ // Label 2628: @118385
42262 /* 118385 */ GIM_Try, /*On fail goto*//*Label 2629*/ GIMT_Encode4(118425), // Rule ID 832 //
42263 /* 118390 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42264 /* 118393 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42265 /* 118397 */ // (fshl:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, CL:{ *:[i8] }) => (SHLD64rrCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
42266 /* 118397 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42267 /* 118401 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42268 /* 118407 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
42269 /* 118411 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64rrCL_ND),
42270 /* 118414 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42271 /* 118416 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42272 /* 118418 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42273 /* 118420 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42274 /* 118423 */ GIR_RootConstrainSelectedInstOperands,
42275 /* 118424 */ // GIR_Coverage, 832,
42276 /* 118424 */ GIR_EraseRootFromParent_Done,
42277 /* 118425 */ // Label 2629: @118425
42278 /* 118425 */ GIM_Reject,
42279 /* 118426 */ // Label 2625: @118426
42280 /* 118426 */ GIM_Reject,
42281 /* 118427 */ // Label 2610: @118427
42282 /* 118427 */ GIM_Try, /*On fail goto*//*Label 2630*/ GIMT_Encode4(118764),
42283 /* 118432 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
42284 /* 118435 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
42285 /* 118438 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
42286 /* 118441 */ GIM_Try, /*On fail goto*//*Label 2631*/ GIMT_Encode4(118509), // Rule ID 14160 //
42287 /* 118446 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
42288 /* 118449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42289 /* 118453 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42290 /* 118457 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42291 /* 118461 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42292 /* 118465 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42293 /* 118469 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42294 /* 118472 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42295 /* 118476 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42296 /* 118480 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42297 /* 118482 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42298 /* 118489 */ // (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)
42299 /* 118489 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZ128m),
42300 /* 118492 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42301 /* 118494 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42302 /* 118496 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42303 /* 118498 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42304 /* 118502 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42305 /* 118507 */ GIR_RootConstrainSelectedInstOperands,
42306 /* 118508 */ // GIR_Coverage, 14160,
42307 /* 118508 */ GIR_EraseRootFromParent_Done,
42308 /* 118509 */ // Label 2631: @118509
42309 /* 118509 */ GIM_Try, /*On fail goto*//*Label 2632*/ GIMT_Encode4(118540), // Rule ID 14157 //
42310 /* 118514 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
42311 /* 118517 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42312 /* 118521 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42313 /* 118525 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42314 /* 118529 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42315 /* 118533 */ // (fshl:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2, VR128X:{ *:[v2i64] }:$src3) => (VPSHLDVQZ128r:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2, VR128X:{ *:[v2i64] }:$src3)
42316 /* 118533 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZ128r),
42317 /* 118538 */ GIR_RootConstrainSelectedInstOperands,
42318 /* 118539 */ // GIR_Coverage, 14157,
42319 /* 118539 */ GIR_Done,
42320 /* 118540 */ // Label 2632: @118540
42321 /* 118540 */ GIM_Try, /*On fail goto*//*Label 2633*/ GIMT_Encode4(118763), // Rule ID 22152 //
42322 /* 118545 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
42323 /* 118548 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
42324 /* 118552 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42325 /* 118556 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42326 /* 118560 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42327 /* 118564 */ // (fshl:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2, VR128X:{ *:[v2i64] }:$src3) => (EXTRACT_SUBREG:{ *:[v2i64] } (VPSHLDVQZr:{ *:[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] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src3, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
42328 /* 118564 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
42329 /* 118567 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42330 /* 118571 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42331 /* 118576 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
42332 /* 118578 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
42333 /* 118581 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42334 /* 118585 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42335 /* 118590 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
42336 /* 118593 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
42337 /* 118597 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
42338 /* 118600 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42339 /* 118605 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42340 /* 118610 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42341 /* 118615 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
42342 /* 118618 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42343 /* 118622 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42344 /* 118627 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
42345 /* 118629 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
42346 /* 118632 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42347 /* 118636 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42348 /* 118641 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
42349 /* 118644 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
42350 /* 118648 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
42351 /* 118651 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42352 /* 118656 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42353 /* 118661 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42354 /* 118666 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
42355 /* 118669 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42356 /* 118673 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42357 /* 118678 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
42358 /* 118680 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
42359 /* 118683 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42360 /* 118687 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42361 /* 118692 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
42362 /* 118695 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
42363 /* 118699 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
42364 /* 118702 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42365 /* 118707 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42366 /* 118712 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42367 /* 118717 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
42368 /* 118720 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZr),
42369 /* 118724 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42370 /* 118729 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42371 /* 118732 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
42372 /* 118735 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
42373 /* 118738 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
42374 /* 118740 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42375 /* 118743 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42376 /* 118745 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
42377 /* 118752 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
42378 /* 118757 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42379 /* 118762 */ // GIR_Coverage, 22152,
42380 /* 118762 */ GIR_EraseRootFromParent_Done,
42381 /* 118763 */ // Label 2633: @118763
42382 /* 118763 */ GIM_Reject,
42383 /* 118764 */ // Label 2630: @118764
42384 /* 118764 */ GIM_Reject,
42385 /* 118765 */ // Label 2611: @118765
42386 /* 118765 */ GIM_Try, /*On fail goto*//*Label 2634*/ GIMT_Encode4(119102),
42387 /* 118770 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
42388 /* 118773 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
42389 /* 118776 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
42390 /* 118779 */ GIM_Try, /*On fail goto*//*Label 2635*/ GIMT_Encode4(118847), // Rule ID 14133 //
42391 /* 118784 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
42392 /* 118787 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42393 /* 118791 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42394 /* 118795 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42395 /* 118799 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42396 /* 118803 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42397 /* 118807 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42398 /* 118810 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42399 /* 118814 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42400 /* 118818 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42401 /* 118820 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42402 /* 118827 */ // (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)
42403 /* 118827 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZ128m),
42404 /* 118830 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42405 /* 118832 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42406 /* 118834 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42407 /* 118836 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42408 /* 118840 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42409 /* 118845 */ GIR_RootConstrainSelectedInstOperands,
42410 /* 118846 */ // GIR_Coverage, 14133,
42411 /* 118846 */ GIR_EraseRootFromParent_Done,
42412 /* 118847 */ // Label 2635: @118847
42413 /* 118847 */ GIM_Try, /*On fail goto*//*Label 2636*/ GIMT_Encode4(118878), // Rule ID 14130 //
42414 /* 118852 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
42415 /* 118855 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42416 /* 118859 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42417 /* 118863 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42418 /* 118867 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42419 /* 118871 */ // (fshl:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2, VR128X:{ *:[v4i32] }:$src3) => (VPSHLDVDZ128r:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2, VR128X:{ *:[v4i32] }:$src3)
42420 /* 118871 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZ128r),
42421 /* 118876 */ GIR_RootConstrainSelectedInstOperands,
42422 /* 118877 */ // GIR_Coverage, 14130,
42423 /* 118877 */ GIR_Done,
42424 /* 118878 */ // Label 2636: @118878
42425 /* 118878 */ GIM_Try, /*On fail goto*//*Label 2637*/ GIMT_Encode4(119101), // Rule ID 22160 //
42426 /* 118883 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
42427 /* 118886 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
42428 /* 118890 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42429 /* 118894 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42430 /* 118898 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42431 /* 118902 */ // (fshl:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2, VR128X:{ *:[v4i32] }:$src3) => (EXTRACT_SUBREG:{ *:[v4i32] } (VPSHLDVDZr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR128X:{ *:[v4i32] }:$src1, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR128X:{ *:[v4i32] }:$src2, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR128X:{ *:[v4i32] }:$src3, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
42432 /* 118902 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v16s32,
42433 /* 118905 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42434 /* 118909 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42435 /* 118914 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
42436 /* 118916 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
42437 /* 118919 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42438 /* 118923 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42439 /* 118928 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
42440 /* 118931 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
42441 /* 118935 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
42442 /* 118938 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42443 /* 118943 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42444 /* 118948 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42445 /* 118953 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
42446 /* 118956 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42447 /* 118960 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42448 /* 118965 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
42449 /* 118967 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
42450 /* 118970 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42451 /* 118974 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42452 /* 118979 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
42453 /* 118982 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
42454 /* 118986 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
42455 /* 118989 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42456 /* 118994 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42457 /* 118999 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42458 /* 119004 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
42459 /* 119007 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42460 /* 119011 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42461 /* 119016 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
42462 /* 119018 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
42463 /* 119021 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42464 /* 119025 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42465 /* 119030 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
42466 /* 119033 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
42467 /* 119037 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
42468 /* 119040 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42469 /* 119045 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42470 /* 119050 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42471 /* 119055 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
42472 /* 119058 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZr),
42473 /* 119062 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42474 /* 119067 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42475 /* 119070 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
42476 /* 119073 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
42477 /* 119076 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
42478 /* 119078 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42479 /* 119081 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42480 /* 119083 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
42481 /* 119090 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
42482 /* 119095 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42483 /* 119100 */ // GIR_Coverage, 22160,
42484 /* 119100 */ GIR_EraseRootFromParent_Done,
42485 /* 119101 */ // Label 2637: @119101
42486 /* 119101 */ GIM_Reject,
42487 /* 119102 */ // Label 2634: @119102
42488 /* 119102 */ GIM_Reject,
42489 /* 119103 */ // Label 2612: @119103
42490 /* 119103 */ GIM_Try, /*On fail goto*//*Label 2638*/ GIMT_Encode4(119416),
42491 /* 119108 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
42492 /* 119111 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
42493 /* 119114 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
42494 /* 119117 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42495 /* 119121 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42496 /* 119125 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42497 /* 119129 */ GIM_Try, /*On fail goto*//*Label 2639*/ GIMT_Encode4(119185), // Rule ID 14151 //
42498 /* 119134 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
42499 /* 119137 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42500 /* 119141 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42501 /* 119145 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42502 /* 119148 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42503 /* 119152 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42504 /* 119156 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42505 /* 119158 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42506 /* 119165 */ // (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)
42507 /* 119165 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZ256m),
42508 /* 119168 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42509 /* 119170 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42510 /* 119172 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42511 /* 119174 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42512 /* 119178 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42513 /* 119183 */ GIR_RootConstrainSelectedInstOperands,
42514 /* 119184 */ // GIR_Coverage, 14151,
42515 /* 119184 */ GIR_EraseRootFromParent_Done,
42516 /* 119185 */ // Label 2639: @119185
42517 /* 119185 */ GIM_Try, /*On fail goto*//*Label 2640*/ GIMT_Encode4(119204), // Rule ID 14148 //
42518 /* 119190 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
42519 /* 119193 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42520 /* 119197 */ // (fshl:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2, VR256X:{ *:[v4i64] }:$src3) => (VPSHLDVQZ256r:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2, VR256X:{ *:[v4i64] }:$src3)
42521 /* 119197 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZ256r),
42522 /* 119202 */ GIR_RootConstrainSelectedInstOperands,
42523 /* 119203 */ // GIR_Coverage, 14148,
42524 /* 119203 */ GIR_Done,
42525 /* 119204 */ // Label 2640: @119204
42526 /* 119204 */ GIM_Try, /*On fail goto*//*Label 2641*/ GIMT_Encode4(119415), // Rule ID 22148 //
42527 /* 119209 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
42528 /* 119212 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42529 /* 119216 */ // (fshl:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2, VR256X:{ *:[v4i64] }:$src3) => (EXTRACT_SUBREG:{ *:[v4i64] } (VPSHLDVQZr:{ *:[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] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src3, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
42530 /* 119216 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
42531 /* 119219 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42532 /* 119223 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42533 /* 119228 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
42534 /* 119230 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
42535 /* 119233 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42536 /* 119237 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42537 /* 119242 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
42538 /* 119245 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
42539 /* 119249 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
42540 /* 119252 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42541 /* 119257 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42542 /* 119262 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42543 /* 119267 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
42544 /* 119270 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42545 /* 119274 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42546 /* 119279 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
42547 /* 119281 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
42548 /* 119284 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42549 /* 119288 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42550 /* 119293 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
42551 /* 119296 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
42552 /* 119300 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
42553 /* 119303 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42554 /* 119308 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42555 /* 119313 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42556 /* 119318 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
42557 /* 119321 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42558 /* 119325 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42559 /* 119330 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
42560 /* 119332 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
42561 /* 119335 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42562 /* 119339 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42563 /* 119344 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
42564 /* 119347 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
42565 /* 119351 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
42566 /* 119354 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42567 /* 119359 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42568 /* 119364 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42569 /* 119369 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
42570 /* 119372 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZr),
42571 /* 119376 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42572 /* 119381 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42573 /* 119384 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
42574 /* 119387 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
42575 /* 119390 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
42576 /* 119392 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42577 /* 119395 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42578 /* 119397 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
42579 /* 119404 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
42580 /* 119409 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42581 /* 119414 */ // GIR_Coverage, 22148,
42582 /* 119414 */ GIR_EraseRootFromParent_Done,
42583 /* 119415 */ // Label 2641: @119415
42584 /* 119415 */ GIM_Reject,
42585 /* 119416 */ // Label 2638: @119416
42586 /* 119416 */ GIM_Reject,
42587 /* 119417 */ // Label 2613: @119417
42588 /* 119417 */ GIM_Try, /*On fail goto*//*Label 2642*/ GIMT_Encode4(119754),
42589 /* 119422 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
42590 /* 119425 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
42591 /* 119428 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
42592 /* 119431 */ GIM_Try, /*On fail goto*//*Label 2643*/ GIMT_Encode4(119499), // Rule ID 14109 //
42593 /* 119436 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
42594 /* 119439 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42595 /* 119443 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42596 /* 119447 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42597 /* 119451 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42598 /* 119455 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42599 /* 119459 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42600 /* 119462 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42601 /* 119466 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42602 /* 119470 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42603 /* 119472 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42604 /* 119479 */ // (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)
42605 /* 119479 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZ128m),
42606 /* 119482 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42607 /* 119484 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42608 /* 119486 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42609 /* 119488 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42610 /* 119492 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42611 /* 119497 */ GIR_RootConstrainSelectedInstOperands,
42612 /* 119498 */ // GIR_Coverage, 14109,
42613 /* 119498 */ GIR_EraseRootFromParent_Done,
42614 /* 119499 */ // Label 2643: @119499
42615 /* 119499 */ GIM_Try, /*On fail goto*//*Label 2644*/ GIMT_Encode4(119530), // Rule ID 14106 //
42616 /* 119504 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
42617 /* 119507 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42618 /* 119511 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42619 /* 119515 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42620 /* 119519 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42621 /* 119523 */ // (fshl:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2, VR128X:{ *:[v8i16] }:$src3) => (VPSHLDVWZ128r:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2, VR128X:{ *:[v8i16] }:$src3)
42622 /* 119523 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZ128r),
42623 /* 119528 */ GIR_RootConstrainSelectedInstOperands,
42624 /* 119529 */ // GIR_Coverage, 14106,
42625 /* 119529 */ GIR_Done,
42626 /* 119530 */ // Label 2644: @119530
42627 /* 119530 */ GIM_Try, /*On fail goto*//*Label 2645*/ GIMT_Encode4(119753), // Rule ID 22168 //
42628 /* 119535 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
42629 /* 119538 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
42630 /* 119542 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42631 /* 119546 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42632 /* 119550 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42633 /* 119554 */ // (fshl:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2, VR128X:{ *:[v8i16] }:$src3) => (EXTRACT_SUBREG:{ *:[v8i16] } (VPSHLDVWZr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR128X:{ *:[v8i16] }:$src1, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR128X:{ *:[v8i16] }:$src2, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR128X:{ *:[v8i16] }:$src3, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
42634 /* 119554 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
42635 /* 119557 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42636 /* 119561 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42637 /* 119566 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
42638 /* 119568 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
42639 /* 119571 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42640 /* 119575 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42641 /* 119580 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
42642 /* 119583 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
42643 /* 119587 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
42644 /* 119590 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42645 /* 119595 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42646 /* 119600 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42647 /* 119605 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
42648 /* 119608 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42649 /* 119612 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42650 /* 119617 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
42651 /* 119619 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
42652 /* 119622 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42653 /* 119626 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42654 /* 119631 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
42655 /* 119634 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
42656 /* 119638 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
42657 /* 119641 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42658 /* 119646 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42659 /* 119651 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42660 /* 119656 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
42661 /* 119659 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42662 /* 119663 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42663 /* 119668 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
42664 /* 119670 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
42665 /* 119673 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42666 /* 119677 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42667 /* 119682 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
42668 /* 119685 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
42669 /* 119689 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
42670 /* 119692 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42671 /* 119697 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42672 /* 119702 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42673 /* 119707 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
42674 /* 119710 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZr),
42675 /* 119714 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42676 /* 119719 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42677 /* 119722 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
42678 /* 119725 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
42679 /* 119728 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
42680 /* 119730 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42681 /* 119733 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42682 /* 119735 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
42683 /* 119742 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
42684 /* 119747 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42685 /* 119752 */ // GIR_Coverage, 22168,
42686 /* 119752 */ GIR_EraseRootFromParent_Done,
42687 /* 119753 */ // Label 2645: @119753
42688 /* 119753 */ GIM_Reject,
42689 /* 119754 */ // Label 2642: @119754
42690 /* 119754 */ GIM_Reject,
42691 /* 119755 */ // Label 2614: @119755
42692 /* 119755 */ GIM_Try, /*On fail goto*//*Label 2646*/ GIMT_Encode4(120068),
42693 /* 119760 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
42694 /* 119763 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
42695 /* 119766 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
42696 /* 119769 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42697 /* 119773 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42698 /* 119777 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42699 /* 119781 */ GIM_Try, /*On fail goto*//*Label 2647*/ GIMT_Encode4(119837), // Rule ID 14124 //
42700 /* 119786 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
42701 /* 119789 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42702 /* 119793 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42703 /* 119797 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42704 /* 119800 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42705 /* 119804 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42706 /* 119808 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42707 /* 119810 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42708 /* 119817 */ // (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)
42709 /* 119817 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZ256m),
42710 /* 119820 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42711 /* 119822 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42712 /* 119824 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42713 /* 119826 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42714 /* 119830 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42715 /* 119835 */ GIR_RootConstrainSelectedInstOperands,
42716 /* 119836 */ // GIR_Coverage, 14124,
42717 /* 119836 */ GIR_EraseRootFromParent_Done,
42718 /* 119837 */ // Label 2647: @119837
42719 /* 119837 */ GIM_Try, /*On fail goto*//*Label 2648*/ GIMT_Encode4(119856), // Rule ID 14121 //
42720 /* 119842 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
42721 /* 119845 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42722 /* 119849 */ // (fshl:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2, VR256X:{ *:[v8i32] }:$src3) => (VPSHLDVDZ256r:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2, VR256X:{ *:[v8i32] }:$src3)
42723 /* 119849 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZ256r),
42724 /* 119854 */ GIR_RootConstrainSelectedInstOperands,
42725 /* 119855 */ // GIR_Coverage, 14121,
42726 /* 119855 */ GIR_Done,
42727 /* 119856 */ // Label 2648: @119856
42728 /* 119856 */ GIM_Try, /*On fail goto*//*Label 2649*/ GIMT_Encode4(120067), // Rule ID 22156 //
42729 /* 119861 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
42730 /* 119864 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42731 /* 119868 */ // (fshl:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2, VR256X:{ *:[v8i32] }:$src3) => (EXTRACT_SUBREG:{ *:[v8i32] } (VPSHLDVDZr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR256X:{ *:[v8i32] }:$src1, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR256X:{ *:[v8i32] }:$src2, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR256X:{ *:[v8i32] }:$src3, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
42732 /* 119868 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v16s32,
42733 /* 119871 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42734 /* 119875 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42735 /* 119880 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
42736 /* 119882 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
42737 /* 119885 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42738 /* 119889 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42739 /* 119894 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
42740 /* 119897 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
42741 /* 119901 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
42742 /* 119904 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42743 /* 119909 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42744 /* 119914 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42745 /* 119919 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
42746 /* 119922 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42747 /* 119926 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42748 /* 119931 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
42749 /* 119933 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
42750 /* 119936 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42751 /* 119940 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42752 /* 119945 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
42753 /* 119948 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
42754 /* 119952 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
42755 /* 119955 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42756 /* 119960 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42757 /* 119965 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42758 /* 119970 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
42759 /* 119973 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42760 /* 119977 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42761 /* 119982 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
42762 /* 119984 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
42763 /* 119987 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42764 /* 119991 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42765 /* 119996 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
42766 /* 119999 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
42767 /* 120003 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
42768 /* 120006 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42769 /* 120011 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42770 /* 120016 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42771 /* 120021 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
42772 /* 120024 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZr),
42773 /* 120028 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42774 /* 120033 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42775 /* 120036 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
42776 /* 120039 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
42777 /* 120042 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
42778 /* 120044 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42779 /* 120047 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42780 /* 120049 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
42781 /* 120056 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
42782 /* 120061 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42783 /* 120066 */ // GIR_Coverage, 22156,
42784 /* 120066 */ GIR_EraseRootFromParent_Done,
42785 /* 120067 */ // Label 2649: @120067
42786 /* 120067 */ GIM_Reject,
42787 /* 120068 */ // Label 2646: @120068
42788 /* 120068 */ GIM_Reject,
42789 /* 120069 */ // Label 2615: @120069
42790 /* 120069 */ GIM_Try, /*On fail goto*//*Label 2650*/ GIMT_Encode4(120171),
42791 /* 120074 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
42792 /* 120077 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
42793 /* 120080 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
42794 /* 120083 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42795 /* 120087 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42796 /* 120091 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42797 /* 120095 */ GIM_Try, /*On fail goto*//*Label 2651*/ GIMT_Encode4(120151), // Rule ID 14142 //
42798 /* 120100 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
42799 /* 120103 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42800 /* 120107 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42801 /* 120111 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42802 /* 120114 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42803 /* 120118 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42804 /* 120122 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42805 /* 120124 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42806 /* 120131 */ // (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)
42807 /* 120131 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZm),
42808 /* 120134 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42809 /* 120136 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42810 /* 120138 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42811 /* 120140 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42812 /* 120144 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42813 /* 120149 */ GIR_RootConstrainSelectedInstOperands,
42814 /* 120150 */ // GIR_Coverage, 14142,
42815 /* 120150 */ GIR_EraseRootFromParent_Done,
42816 /* 120151 */ // Label 2651: @120151
42817 /* 120151 */ GIM_Try, /*On fail goto*//*Label 2652*/ GIMT_Encode4(120170), // Rule ID 14139 //
42818 /* 120156 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
42819 /* 120159 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42820 /* 120163 */ // (fshl:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2, VR512:{ *:[v8i64] }:$src3) => (VPSHLDVQZr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2, VR512:{ *:[v8i64] }:$src3)
42821 /* 120163 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZr),
42822 /* 120168 */ GIR_RootConstrainSelectedInstOperands,
42823 /* 120169 */ // GIR_Coverage, 14139,
42824 /* 120169 */ GIR_Done,
42825 /* 120170 */ // Label 2652: @120170
42826 /* 120170 */ GIM_Reject,
42827 /* 120171 */ // Label 2650: @120171
42828 /* 120171 */ GIM_Reject,
42829 /* 120172 */ // Label 2616: @120172
42830 /* 120172 */ GIM_Try, /*On fail goto*//*Label 2653*/ GIMT_Encode4(120485),
42831 /* 120177 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
42832 /* 120180 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
42833 /* 120183 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
42834 /* 120186 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42835 /* 120190 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42836 /* 120194 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42837 /* 120198 */ GIM_Try, /*On fail goto*//*Label 2654*/ GIMT_Encode4(120254), // Rule ID 14103 //
42838 /* 120203 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
42839 /* 120206 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42840 /* 120210 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42841 /* 120214 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42842 /* 120217 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42843 /* 120221 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42844 /* 120225 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42845 /* 120227 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42846 /* 120234 */ // (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)
42847 /* 120234 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZ256m),
42848 /* 120237 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42849 /* 120239 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42850 /* 120241 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42851 /* 120243 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42852 /* 120247 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42853 /* 120252 */ GIR_RootConstrainSelectedInstOperands,
42854 /* 120253 */ // GIR_Coverage, 14103,
42855 /* 120253 */ GIR_EraseRootFromParent_Done,
42856 /* 120254 */ // Label 2654: @120254
42857 /* 120254 */ GIM_Try, /*On fail goto*//*Label 2655*/ GIMT_Encode4(120273), // Rule ID 14100 //
42858 /* 120259 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
42859 /* 120262 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42860 /* 120266 */ // (fshl:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2, VR256X:{ *:[v16i16] }:$src3) => (VPSHLDVWZ256r:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2, VR256X:{ *:[v16i16] }:$src3)
42861 /* 120266 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZ256r),
42862 /* 120271 */ GIR_RootConstrainSelectedInstOperands,
42863 /* 120272 */ // GIR_Coverage, 14100,
42864 /* 120272 */ GIR_Done,
42865 /* 120273 */ // Label 2655: @120273
42866 /* 120273 */ GIM_Try, /*On fail goto*//*Label 2656*/ GIMT_Encode4(120484), // Rule ID 22164 //
42867 /* 120278 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
42868 /* 120281 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42869 /* 120285 */ // (fshl:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2, VR256X:{ *:[v16i16] }:$src3) => (EXTRACT_SUBREG:{ *:[v16i16] } (VPSHLDVWZr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR256X:{ *:[v16i16] }:$src1, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR256X:{ *:[v16i16] }:$src2, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR256X:{ *:[v16i16] }:$src3, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
42870 /* 120285 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
42871 /* 120288 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42872 /* 120292 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42873 /* 120297 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
42874 /* 120299 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
42875 /* 120302 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42876 /* 120306 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42877 /* 120311 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
42878 /* 120314 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
42879 /* 120318 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
42880 /* 120321 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42881 /* 120326 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42882 /* 120331 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42883 /* 120336 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
42884 /* 120339 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42885 /* 120343 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42886 /* 120348 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
42887 /* 120350 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
42888 /* 120353 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42889 /* 120357 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42890 /* 120362 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
42891 /* 120365 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
42892 /* 120369 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
42893 /* 120372 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42894 /* 120377 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42895 /* 120382 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42896 /* 120387 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
42897 /* 120390 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42898 /* 120394 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42899 /* 120399 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
42900 /* 120401 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
42901 /* 120404 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42902 /* 120408 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42903 /* 120413 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
42904 /* 120416 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
42905 /* 120420 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
42906 /* 120423 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42907 /* 120428 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42908 /* 120433 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42909 /* 120438 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
42910 /* 120441 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZr),
42911 /* 120445 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42912 /* 120450 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42913 /* 120453 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
42914 /* 120456 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
42915 /* 120459 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
42916 /* 120461 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42917 /* 120464 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42918 /* 120466 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
42919 /* 120473 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
42920 /* 120478 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42921 /* 120483 */ // GIR_Coverage, 22164,
42922 /* 120483 */ GIR_EraseRootFromParent_Done,
42923 /* 120484 */ // Label 2656: @120484
42924 /* 120484 */ GIM_Reject,
42925 /* 120485 */ // Label 2653: @120485
42926 /* 120485 */ GIM_Reject,
42927 /* 120486 */ // Label 2617: @120486
42928 /* 120486 */ GIM_Try, /*On fail goto*//*Label 2657*/ GIMT_Encode4(120588),
42929 /* 120491 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
42930 /* 120494 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
42931 /* 120497 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
42932 /* 120500 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42933 /* 120504 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42934 /* 120508 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42935 /* 120512 */ GIM_Try, /*On fail goto*//*Label 2658*/ GIMT_Encode4(120568), // Rule ID 14115 //
42936 /* 120517 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
42937 /* 120520 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42938 /* 120524 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42939 /* 120528 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42940 /* 120531 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42941 /* 120535 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42942 /* 120539 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42943 /* 120541 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42944 /* 120548 */ // (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)
42945 /* 120548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZm),
42946 /* 120551 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42947 /* 120553 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42948 /* 120555 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42949 /* 120557 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42950 /* 120561 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42951 /* 120566 */ GIR_RootConstrainSelectedInstOperands,
42952 /* 120567 */ // GIR_Coverage, 14115,
42953 /* 120567 */ GIR_EraseRootFromParent_Done,
42954 /* 120568 */ // Label 2658: @120568
42955 /* 120568 */ GIM_Try, /*On fail goto*//*Label 2659*/ GIMT_Encode4(120587), // Rule ID 14112 //
42956 /* 120573 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
42957 /* 120576 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42958 /* 120580 */ // (fshl:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2, VR512:{ *:[v16i32] }:$src3) => (VPSHLDVDZr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2, VR512:{ *:[v16i32] }:$src3)
42959 /* 120580 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZr),
42960 /* 120585 */ GIR_RootConstrainSelectedInstOperands,
42961 /* 120586 */ // GIR_Coverage, 14112,
42962 /* 120586 */ GIR_Done,
42963 /* 120587 */ // Label 2659: @120587
42964 /* 120587 */ GIM_Reject,
42965 /* 120588 */ // Label 2657: @120588
42966 /* 120588 */ GIM_Reject,
42967 /* 120589 */ // Label 2618: @120589
42968 /* 120589 */ GIM_Try, /*On fail goto*//*Label 2660*/ GIMT_Encode4(120691),
42969 /* 120594 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
42970 /* 120597 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
42971 /* 120600 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
42972 /* 120603 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42973 /* 120607 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42974 /* 120611 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42975 /* 120615 */ GIM_Try, /*On fail goto*//*Label 2661*/ GIMT_Encode4(120671), // Rule ID 14097 //
42976 /* 120620 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
42977 /* 120623 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42978 /* 120627 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42979 /* 120631 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42980 /* 120634 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42981 /* 120638 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42982 /* 120642 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42983 /* 120644 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42984 /* 120651 */ // (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)
42985 /* 120651 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZm),
42986 /* 120654 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42987 /* 120656 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42988 /* 120658 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42989 /* 120660 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42990 /* 120664 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42991 /* 120669 */ GIR_RootConstrainSelectedInstOperands,
42992 /* 120670 */ // GIR_Coverage, 14097,
42993 /* 120670 */ GIR_EraseRootFromParent_Done,
42994 /* 120671 */ // Label 2661: @120671
42995 /* 120671 */ GIM_Try, /*On fail goto*//*Label 2662*/ GIMT_Encode4(120690), // Rule ID 14094 //
42996 /* 120676 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
42997 /* 120679 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42998 /* 120683 */ // (fshl:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2, VR512:{ *:[v32i16] }:$src3) => (VPSHLDVWZr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2, VR512:{ *:[v32i16] }:$src3)
42999 /* 120683 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZr),
43000 /* 120688 */ GIR_RootConstrainSelectedInstOperands,
43001 /* 120689 */ // GIR_Coverage, 14094,
43002 /* 120689 */ GIR_Done,
43003 /* 120690 */ // Label 2662: @120690
43004 /* 120690 */ GIM_Reject,
43005 /* 120691 */ // Label 2660: @120691
43006 /* 120691 */ GIM_Reject,
43007 /* 120692 */ // Label 2619: @120692
43008 /* 120692 */ GIM_Reject,
43009 /* 120693 */ // Label 31: @120693
43010 /* 120693 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(23), /*)*//*default:*//*Label 2674*/ GIMT_Encode4(123459),
43011 /* 120704 */ /*GILLT_s32*//*Label 2663*/ GIMT_Encode4(120784),
43012 /* 120708 */ /*GILLT_s64*//*Label 2664*/ GIMT_Encode4(120962), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
43013 /* 120724 */ /*GILLT_v2s64*//*Label 2665*/ GIMT_Encode4(121140), GIMT_Encode4(0),
43014 /* 120732 */ /*GILLT_v4s32*//*Label 2666*/ GIMT_Encode4(121484),
43015 /* 120736 */ /*GILLT_v4s64*//*Label 2667*/ GIMT_Encode4(121828), GIMT_Encode4(0),
43016 /* 120744 */ /*GILLT_v8s16*//*Label 2668*/ GIMT_Encode4(122148),
43017 /* 120748 */ /*GILLT_v8s32*//*Label 2669*/ GIMT_Encode4(122492),
43018 /* 120752 */ /*GILLT_v8s64*//*Label 2670*/ GIMT_Encode4(122812), GIMT_Encode4(0), GIMT_Encode4(0),
43019 /* 120764 */ /*GILLT_v16s16*//*Label 2671*/ GIMT_Encode4(122921),
43020 /* 120768 */ /*GILLT_v16s32*//*Label 2672*/ GIMT_Encode4(123241), GIMT_Encode4(0), GIMT_Encode4(0),
43021 /* 120780 */ /*GILLT_v32s16*//*Label 2673*/ GIMT_Encode4(123350),
43022 /* 120784 */ // Label 2663: @120784
43023 /* 120784 */ GIM_Try, /*On fail goto*//*Label 2675*/ GIMT_Encode4(120961),
43024 /* 120789 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
43025 /* 120792 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
43026 /* 120795 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
43027 /* 120798 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43028 /* 120802 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43029 /* 120806 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43030 /* 120810 */ GIM_Try, /*On fail goto*//*Label 2676*/ GIMT_Encode4(120845), // Rule ID 846 //
43031 /* 120815 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43032 /* 120818 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43033 /* 120822 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43034 /* 120826 */ // MIs[1] Operand 1
43035 /* 120826 */ // No operand predicates
43036 /* 120826 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43037 /* 120828 */ // (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src3) => (SHRD32rri8:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
43038 /* 120828 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32rri8),
43039 /* 120831 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43040 /* 120833 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43041 /* 120835 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43042 /* 120837 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
43043 /* 120840 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43044 /* 120843 */ GIR_RootConstrainSelectedInstOperands,
43045 /* 120844 */ // GIR_Coverage, 846,
43046 /* 120844 */ GIR_EraseRootFromParent_Done,
43047 /* 120845 */ // Label 2676: @120845
43048 /* 120845 */ GIM_Try, /*On fail goto*//*Label 2677*/ GIMT_Encode4(120880), // Rule ID 852 //
43049 /* 120850 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43050 /* 120853 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43051 /* 120857 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43052 /* 120861 */ // MIs[1] Operand 1
43053 /* 120861 */ // No operand predicates
43054 /* 120861 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43055 /* 120863 */ // (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src3) => (SHRD32rri8_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
43056 /* 120863 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32rri8_ND),
43057 /* 120866 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43058 /* 120868 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43059 /* 120870 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43060 /* 120872 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
43061 /* 120875 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43062 /* 120878 */ GIR_RootConstrainSelectedInstOperands,
43063 /* 120879 */ // GIR_Coverage, 852,
43064 /* 120879 */ GIR_EraseRootFromParent_Done,
43065 /* 120880 */ // Label 2677: @120880
43066 /* 120880 */ GIM_Try, /*On fail goto*//*Label 2678*/ GIMT_Encode4(120920), // Rule ID 849 //
43067 /* 120885 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43068 /* 120888 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43069 /* 120892 */ // (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHRD32rrCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
43070 /* 120892 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43071 /* 120896 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43072 /* 120902 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
43073 /* 120906 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32rrCL),
43074 /* 120909 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43075 /* 120911 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43076 /* 120913 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43077 /* 120915 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43078 /* 120918 */ GIR_RootConstrainSelectedInstOperands,
43079 /* 120919 */ // GIR_Coverage, 849,
43080 /* 120919 */ GIR_EraseRootFromParent_Done,
43081 /* 120920 */ // Label 2678: @120920
43082 /* 120920 */ GIM_Try, /*On fail goto*//*Label 2679*/ GIMT_Encode4(120960), // Rule ID 855 //
43083 /* 120925 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43084 /* 120928 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43085 /* 120932 */ // (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHRD32rrCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
43086 /* 120932 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43087 /* 120936 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43088 /* 120942 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
43089 /* 120946 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32rrCL_ND),
43090 /* 120949 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43091 /* 120951 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43092 /* 120953 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43093 /* 120955 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43094 /* 120958 */ GIR_RootConstrainSelectedInstOperands,
43095 /* 120959 */ // GIR_Coverage, 855,
43096 /* 120959 */ GIR_EraseRootFromParent_Done,
43097 /* 120960 */ // Label 2679: @120960
43098 /* 120960 */ GIM_Reject,
43099 /* 120961 */ // Label 2675: @120961
43100 /* 120961 */ GIM_Reject,
43101 /* 120962 */ // Label 2664: @120962
43102 /* 120962 */ GIM_Try, /*On fail goto*//*Label 2680*/ GIMT_Encode4(121139),
43103 /* 120967 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
43104 /* 120970 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
43105 /* 120973 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
43106 /* 120976 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43107 /* 120980 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43108 /* 120984 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43109 /* 120988 */ GIM_Try, /*On fail goto*//*Label 2681*/ GIMT_Encode4(121023), // Rule ID 847 //
43110 /* 120993 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43111 /* 120996 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43112 /* 121000 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43113 /* 121004 */ // MIs[1] Operand 1
43114 /* 121004 */ // No operand predicates
43115 /* 121004 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43116 /* 121006 */ // (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src3) => (SHRD64rri8:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
43117 /* 121006 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64rri8),
43118 /* 121009 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43119 /* 121011 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43120 /* 121013 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43121 /* 121015 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
43122 /* 121018 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43123 /* 121021 */ GIR_RootConstrainSelectedInstOperands,
43124 /* 121022 */ // GIR_Coverage, 847,
43125 /* 121022 */ GIR_EraseRootFromParent_Done,
43126 /* 121023 */ // Label 2681: @121023
43127 /* 121023 */ GIM_Try, /*On fail goto*//*Label 2682*/ GIMT_Encode4(121058), // Rule ID 853 //
43128 /* 121028 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43129 /* 121031 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43130 /* 121035 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43131 /* 121039 */ // MIs[1] Operand 1
43132 /* 121039 */ // No operand predicates
43133 /* 121039 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43134 /* 121041 */ // (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src3) => (SHRD64rri8_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
43135 /* 121041 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64rri8_ND),
43136 /* 121044 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43137 /* 121046 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43138 /* 121048 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43139 /* 121050 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
43140 /* 121053 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43141 /* 121056 */ GIR_RootConstrainSelectedInstOperands,
43142 /* 121057 */ // GIR_Coverage, 853,
43143 /* 121057 */ GIR_EraseRootFromParent_Done,
43144 /* 121058 */ // Label 2682: @121058
43145 /* 121058 */ GIM_Try, /*On fail goto*//*Label 2683*/ GIMT_Encode4(121098), // Rule ID 850 //
43146 /* 121063 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43147 /* 121066 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43148 /* 121070 */ // (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHRD64rrCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
43149 /* 121070 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43150 /* 121074 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43151 /* 121080 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
43152 /* 121084 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64rrCL),
43153 /* 121087 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43154 /* 121089 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43155 /* 121091 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43156 /* 121093 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43157 /* 121096 */ GIR_RootConstrainSelectedInstOperands,
43158 /* 121097 */ // GIR_Coverage, 850,
43159 /* 121097 */ GIR_EraseRootFromParent_Done,
43160 /* 121098 */ // Label 2683: @121098
43161 /* 121098 */ GIM_Try, /*On fail goto*//*Label 2684*/ GIMT_Encode4(121138), // Rule ID 856 //
43162 /* 121103 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43163 /* 121106 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43164 /* 121110 */ // (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHRD64rrCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
43165 /* 121110 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43166 /* 121114 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43167 /* 121120 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
43168 /* 121124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64rrCL_ND),
43169 /* 121127 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43170 /* 121129 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43171 /* 121131 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43172 /* 121133 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43173 /* 121136 */ GIR_RootConstrainSelectedInstOperands,
43174 /* 121137 */ // GIR_Coverage, 856,
43175 /* 121137 */ GIR_EraseRootFromParent_Done,
43176 /* 121138 */ // Label 2684: @121138
43177 /* 121138 */ GIM_Reject,
43178 /* 121139 */ // Label 2680: @121139
43179 /* 121139 */ GIM_Reject,
43180 /* 121140 */ // Label 2665: @121140
43181 /* 121140 */ GIM_Try, /*On fail goto*//*Label 2685*/ GIMT_Encode4(121483),
43182 /* 121145 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
43183 /* 121148 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
43184 /* 121151 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
43185 /* 121154 */ GIM_Try, /*On fail goto*//*Label 2686*/ GIMT_Encode4(121222), // Rule ID 14232 //
43186 /* 121159 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
43187 /* 121162 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43188 /* 121166 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43189 /* 121170 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43190 /* 121174 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43191 /* 121178 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43192 /* 121182 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43193 /* 121185 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43194 /* 121189 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43195 /* 121193 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43196 /* 121195 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43197 /* 121202 */ // (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)
43198 /* 121202 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZ128m),
43199 /* 121205 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43200 /* 121207 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43201 /* 121209 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43202 /* 121211 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
43203 /* 121215 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43204 /* 121220 */ GIR_RootConstrainSelectedInstOperands,
43205 /* 121221 */ // GIR_Coverage, 14232,
43206 /* 121221 */ GIR_EraseRootFromParent_Done,
43207 /* 121222 */ // Label 2686: @121222
43208 /* 121222 */ GIM_Try, /*On fail goto*//*Label 2687*/ GIMT_Encode4(121259), // Rule ID 14229 //
43209 /* 121227 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
43210 /* 121230 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43211 /* 121234 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43212 /* 121238 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43213 /* 121242 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43214 /* 121246 */ // (fshr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src2, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src3) => (VPSHRDVQZ128r:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2, VR128X:{ *:[v2i64] }:$src3)
43215 /* 121246 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZ128r),
43216 /* 121249 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43217 /* 121251 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43218 /* 121253 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43219 /* 121255 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
43220 /* 121257 */ GIR_RootConstrainSelectedInstOperands,
43221 /* 121258 */ // GIR_Coverage, 14229,
43222 /* 121258 */ GIR_EraseRootFromParent_Done,
43223 /* 121259 */ // Label 2687: @121259
43224 /* 121259 */ GIM_Try, /*On fail goto*//*Label 2688*/ GIMT_Encode4(121482), // Rule ID 22154 //
43225 /* 121264 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
43226 /* 121267 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
43227 /* 121271 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43228 /* 121275 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43229 /* 121279 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43230 /* 121283 */ // (fshr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2, VR128X:{ *:[v2i64] }:$src3) => (EXTRACT_SUBREG:{ *:[v2i64] } (VPSHRDVQZr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src2, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src1, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src3, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
43231 /* 121283 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
43232 /* 121286 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43233 /* 121290 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43234 /* 121295 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
43235 /* 121297 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
43236 /* 121300 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43237 /* 121304 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43238 /* 121309 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
43239 /* 121312 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
43240 /* 121316 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
43241 /* 121319 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43242 /* 121324 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43243 /* 121329 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43244 /* 121334 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
43245 /* 121337 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43246 /* 121341 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43247 /* 121346 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
43248 /* 121348 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
43249 /* 121351 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43250 /* 121355 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43251 /* 121360 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
43252 /* 121363 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
43253 /* 121367 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
43254 /* 121370 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43255 /* 121375 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43256 /* 121380 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43257 /* 121385 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
43258 /* 121388 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43259 /* 121392 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43260 /* 121397 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
43261 /* 121399 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
43262 /* 121402 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43263 /* 121406 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43264 /* 121411 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
43265 /* 121414 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // src2
43266 /* 121418 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
43267 /* 121421 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43268 /* 121426 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43269 /* 121431 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43270 /* 121436 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
43271 /* 121439 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZr),
43272 /* 121443 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43273 /* 121448 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43274 /* 121451 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
43275 /* 121454 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
43276 /* 121457 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
43277 /* 121459 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43278 /* 121462 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43279 /* 121464 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
43280 /* 121471 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
43281 /* 121476 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43282 /* 121481 */ // GIR_Coverage, 22154,
43283 /* 121481 */ GIR_EraseRootFromParent_Done,
43284 /* 121482 */ // Label 2688: @121482
43285 /* 121482 */ GIM_Reject,
43286 /* 121483 */ // Label 2685: @121483
43287 /* 121483 */ GIM_Reject,
43288 /* 121484 */ // Label 2666: @121484
43289 /* 121484 */ GIM_Try, /*On fail goto*//*Label 2689*/ GIMT_Encode4(121827),
43290 /* 121489 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
43291 /* 121492 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
43292 /* 121495 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
43293 /* 121498 */ GIM_Try, /*On fail goto*//*Label 2690*/ GIMT_Encode4(121566), // Rule ID 14205 //
43294 /* 121503 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
43295 /* 121506 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43296 /* 121510 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43297 /* 121514 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43298 /* 121518 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43299 /* 121522 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43300 /* 121526 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43301 /* 121529 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43302 /* 121533 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43303 /* 121537 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43304 /* 121539 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43305 /* 121546 */ // (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)
43306 /* 121546 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZ128m),
43307 /* 121549 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43308 /* 121551 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43309 /* 121553 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43310 /* 121555 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
43311 /* 121559 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43312 /* 121564 */ GIR_RootConstrainSelectedInstOperands,
43313 /* 121565 */ // GIR_Coverage, 14205,
43314 /* 121565 */ GIR_EraseRootFromParent_Done,
43315 /* 121566 */ // Label 2690: @121566
43316 /* 121566 */ GIM_Try, /*On fail goto*//*Label 2691*/ GIMT_Encode4(121603), // Rule ID 14202 //
43317 /* 121571 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
43318 /* 121574 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43319 /* 121578 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43320 /* 121582 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43321 /* 121586 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43322 /* 121590 */ // (fshr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src2, VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src3) => (VPSHRDVDZ128r:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2, VR128X:{ *:[v4i32] }:$src3)
43323 /* 121590 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZ128r),
43324 /* 121593 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43325 /* 121595 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43326 /* 121597 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43327 /* 121599 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
43328 /* 121601 */ GIR_RootConstrainSelectedInstOperands,
43329 /* 121602 */ // GIR_Coverage, 14202,
43330 /* 121602 */ GIR_EraseRootFromParent_Done,
43331 /* 121603 */ // Label 2691: @121603
43332 /* 121603 */ GIM_Try, /*On fail goto*//*Label 2692*/ GIMT_Encode4(121826), // Rule ID 22162 //
43333 /* 121608 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
43334 /* 121611 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
43335 /* 121615 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43336 /* 121619 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43337 /* 121623 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43338 /* 121627 */ // (fshr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2, VR128X:{ *:[v4i32] }:$src3) => (EXTRACT_SUBREG:{ *:[v4i32] } (VPSHRDVDZr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR128X:{ *:[v4i32] }:$src2, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR128X:{ *:[v4i32] }:$src1, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR128X:{ *:[v4i32] }:$src3, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
43339 /* 121627 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v16s32,
43340 /* 121630 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43341 /* 121634 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43342 /* 121639 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
43343 /* 121641 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
43344 /* 121644 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43345 /* 121648 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43346 /* 121653 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
43347 /* 121656 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
43348 /* 121660 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
43349 /* 121663 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43350 /* 121668 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43351 /* 121673 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43352 /* 121678 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
43353 /* 121681 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43354 /* 121685 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43355 /* 121690 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
43356 /* 121692 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
43357 /* 121695 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43358 /* 121699 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43359 /* 121704 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
43360 /* 121707 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
43361 /* 121711 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
43362 /* 121714 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43363 /* 121719 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43364 /* 121724 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43365 /* 121729 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
43366 /* 121732 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43367 /* 121736 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43368 /* 121741 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
43369 /* 121743 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
43370 /* 121746 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43371 /* 121750 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43372 /* 121755 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
43373 /* 121758 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // src2
43374 /* 121762 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
43375 /* 121765 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43376 /* 121770 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43377 /* 121775 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43378 /* 121780 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
43379 /* 121783 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZr),
43380 /* 121787 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43381 /* 121792 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43382 /* 121795 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
43383 /* 121798 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
43384 /* 121801 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
43385 /* 121803 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43386 /* 121806 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43387 /* 121808 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
43388 /* 121815 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
43389 /* 121820 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43390 /* 121825 */ // GIR_Coverage, 22162,
43391 /* 121825 */ GIR_EraseRootFromParent_Done,
43392 /* 121826 */ // Label 2692: @121826
43393 /* 121826 */ GIM_Reject,
43394 /* 121827 */ // Label 2689: @121827
43395 /* 121827 */ GIM_Reject,
43396 /* 121828 */ // Label 2667: @121828
43397 /* 121828 */ GIM_Try, /*On fail goto*//*Label 2693*/ GIMT_Encode4(122147),
43398 /* 121833 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
43399 /* 121836 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
43400 /* 121839 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
43401 /* 121842 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43402 /* 121846 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43403 /* 121850 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43404 /* 121854 */ GIM_Try, /*On fail goto*//*Label 2694*/ GIMT_Encode4(121910), // Rule ID 14223 //
43405 /* 121859 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
43406 /* 121862 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43407 /* 121866 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43408 /* 121870 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43409 /* 121873 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43410 /* 121877 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43411 /* 121881 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43412 /* 121883 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43413 /* 121890 */ // (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)
43414 /* 121890 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZ256m),
43415 /* 121893 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43416 /* 121895 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43417 /* 121897 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43418 /* 121899 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
43419 /* 121903 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43420 /* 121908 */ GIR_RootConstrainSelectedInstOperands,
43421 /* 121909 */ // GIR_Coverage, 14223,
43422 /* 121909 */ GIR_EraseRootFromParent_Done,
43423 /* 121910 */ // Label 2694: @121910
43424 /* 121910 */ GIM_Try, /*On fail goto*//*Label 2695*/ GIMT_Encode4(121935), // Rule ID 14220 //
43425 /* 121915 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
43426 /* 121918 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43427 /* 121922 */ // (fshr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src2, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src3) => (VPSHRDVQZ256r:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2, VR256X:{ *:[v4i64] }:$src3)
43428 /* 121922 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZ256r),
43429 /* 121925 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43430 /* 121927 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43431 /* 121929 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43432 /* 121931 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
43433 /* 121933 */ GIR_RootConstrainSelectedInstOperands,
43434 /* 121934 */ // GIR_Coverage, 14220,
43435 /* 121934 */ GIR_EraseRootFromParent_Done,
43436 /* 121935 */ // Label 2695: @121935
43437 /* 121935 */ GIM_Try, /*On fail goto*//*Label 2696*/ GIMT_Encode4(122146), // Rule ID 22150 //
43438 /* 121940 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
43439 /* 121943 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43440 /* 121947 */ // (fshr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2, VR256X:{ *:[v4i64] }:$src3) => (EXTRACT_SUBREG:{ *:[v4i64] } (VPSHRDVQZr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src2, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src1, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src3, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
43441 /* 121947 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
43442 /* 121950 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43443 /* 121954 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43444 /* 121959 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
43445 /* 121961 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
43446 /* 121964 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43447 /* 121968 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43448 /* 121973 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
43449 /* 121976 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
43450 /* 121980 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
43451 /* 121983 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43452 /* 121988 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43453 /* 121993 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
43454 /* 121998 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
43455 /* 122001 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43456 /* 122005 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43457 /* 122010 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
43458 /* 122012 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
43459 /* 122015 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43460 /* 122019 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43461 /* 122024 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
43462 /* 122027 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
43463 /* 122031 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
43464 /* 122034 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43465 /* 122039 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43466 /* 122044 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
43467 /* 122049 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
43468 /* 122052 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43469 /* 122056 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43470 /* 122061 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
43471 /* 122063 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
43472 /* 122066 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43473 /* 122070 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43474 /* 122075 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
43475 /* 122078 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // src2
43476 /* 122082 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
43477 /* 122085 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43478 /* 122090 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43479 /* 122095 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
43480 /* 122100 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
43481 /* 122103 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZr),
43482 /* 122107 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43483 /* 122112 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43484 /* 122115 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
43485 /* 122118 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
43486 /* 122121 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
43487 /* 122123 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43488 /* 122126 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43489 /* 122128 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
43490 /* 122135 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
43491 /* 122140 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43492 /* 122145 */ // GIR_Coverage, 22150,
43493 /* 122145 */ GIR_EraseRootFromParent_Done,
43494 /* 122146 */ // Label 2696: @122146
43495 /* 122146 */ GIM_Reject,
43496 /* 122147 */ // Label 2693: @122147
43497 /* 122147 */ GIM_Reject,
43498 /* 122148 */ // Label 2668: @122148
43499 /* 122148 */ GIM_Try, /*On fail goto*//*Label 2697*/ GIMT_Encode4(122491),
43500 /* 122153 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
43501 /* 122156 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
43502 /* 122159 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
43503 /* 122162 */ GIM_Try, /*On fail goto*//*Label 2698*/ GIMT_Encode4(122230), // Rule ID 14181 //
43504 /* 122167 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
43505 /* 122170 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43506 /* 122174 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43507 /* 122178 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43508 /* 122182 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43509 /* 122186 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43510 /* 122190 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43511 /* 122193 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43512 /* 122197 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43513 /* 122201 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43514 /* 122203 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43515 /* 122210 */ // (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)
43516 /* 122210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZ128m),
43517 /* 122213 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43518 /* 122215 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43519 /* 122217 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43520 /* 122219 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
43521 /* 122223 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43522 /* 122228 */ GIR_RootConstrainSelectedInstOperands,
43523 /* 122229 */ // GIR_Coverage, 14181,
43524 /* 122229 */ GIR_EraseRootFromParent_Done,
43525 /* 122230 */ // Label 2698: @122230
43526 /* 122230 */ GIM_Try, /*On fail goto*//*Label 2699*/ GIMT_Encode4(122267), // Rule ID 14178 //
43527 /* 122235 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
43528 /* 122238 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43529 /* 122242 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43530 /* 122246 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43531 /* 122250 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43532 /* 122254 */ // (fshr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src2, VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src3) => (VPSHRDVWZ128r:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2, VR128X:{ *:[v8i16] }:$src3)
43533 /* 122254 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZ128r),
43534 /* 122257 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43535 /* 122259 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43536 /* 122261 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43537 /* 122263 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
43538 /* 122265 */ GIR_RootConstrainSelectedInstOperands,
43539 /* 122266 */ // GIR_Coverage, 14178,
43540 /* 122266 */ GIR_EraseRootFromParent_Done,
43541 /* 122267 */ // Label 2699: @122267
43542 /* 122267 */ GIM_Try, /*On fail goto*//*Label 2700*/ GIMT_Encode4(122490), // Rule ID 22170 //
43543 /* 122272 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
43544 /* 122275 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
43545 /* 122279 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43546 /* 122283 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43547 /* 122287 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43548 /* 122291 */ // (fshr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2, VR128X:{ *:[v8i16] }:$src3) => (EXTRACT_SUBREG:{ *:[v8i16] } (VPSHRDVWZr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR128X:{ *:[v8i16] }:$src2, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR128X:{ *:[v8i16] }:$src1, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR128X:{ *:[v8i16] }:$src3, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
43549 /* 122291 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
43550 /* 122294 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43551 /* 122298 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43552 /* 122303 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
43553 /* 122305 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
43554 /* 122308 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43555 /* 122312 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43556 /* 122317 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
43557 /* 122320 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
43558 /* 122324 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
43559 /* 122327 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43560 /* 122332 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43561 /* 122337 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43562 /* 122342 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
43563 /* 122345 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43564 /* 122349 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43565 /* 122354 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
43566 /* 122356 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
43567 /* 122359 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43568 /* 122363 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43569 /* 122368 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
43570 /* 122371 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
43571 /* 122375 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
43572 /* 122378 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43573 /* 122383 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43574 /* 122388 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43575 /* 122393 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
43576 /* 122396 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43577 /* 122400 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43578 /* 122405 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
43579 /* 122407 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
43580 /* 122410 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43581 /* 122414 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43582 /* 122419 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
43583 /* 122422 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // src2
43584 /* 122426 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
43585 /* 122429 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43586 /* 122434 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43587 /* 122439 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43588 /* 122444 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
43589 /* 122447 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZr),
43590 /* 122451 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43591 /* 122456 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43592 /* 122459 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
43593 /* 122462 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
43594 /* 122465 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
43595 /* 122467 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43596 /* 122470 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43597 /* 122472 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
43598 /* 122479 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
43599 /* 122484 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43600 /* 122489 */ // GIR_Coverage, 22170,
43601 /* 122489 */ GIR_EraseRootFromParent_Done,
43602 /* 122490 */ // Label 2700: @122490
43603 /* 122490 */ GIM_Reject,
43604 /* 122491 */ // Label 2697: @122491
43605 /* 122491 */ GIM_Reject,
43606 /* 122492 */ // Label 2669: @122492
43607 /* 122492 */ GIM_Try, /*On fail goto*//*Label 2701*/ GIMT_Encode4(122811),
43608 /* 122497 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
43609 /* 122500 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
43610 /* 122503 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
43611 /* 122506 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43612 /* 122510 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43613 /* 122514 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43614 /* 122518 */ GIM_Try, /*On fail goto*//*Label 2702*/ GIMT_Encode4(122574), // Rule ID 14196 //
43615 /* 122523 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
43616 /* 122526 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43617 /* 122530 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43618 /* 122534 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43619 /* 122537 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43620 /* 122541 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43621 /* 122545 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43622 /* 122547 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43623 /* 122554 */ // (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)
43624 /* 122554 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZ256m),
43625 /* 122557 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43626 /* 122559 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43627 /* 122561 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43628 /* 122563 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
43629 /* 122567 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43630 /* 122572 */ GIR_RootConstrainSelectedInstOperands,
43631 /* 122573 */ // GIR_Coverage, 14196,
43632 /* 122573 */ GIR_EraseRootFromParent_Done,
43633 /* 122574 */ // Label 2702: @122574
43634 /* 122574 */ GIM_Try, /*On fail goto*//*Label 2703*/ GIMT_Encode4(122599), // Rule ID 14193 //
43635 /* 122579 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
43636 /* 122582 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43637 /* 122586 */ // (fshr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src2, VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src3) => (VPSHRDVDZ256r:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2, VR256X:{ *:[v8i32] }:$src3)
43638 /* 122586 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZ256r),
43639 /* 122589 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43640 /* 122591 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43641 /* 122593 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43642 /* 122595 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
43643 /* 122597 */ GIR_RootConstrainSelectedInstOperands,
43644 /* 122598 */ // GIR_Coverage, 14193,
43645 /* 122598 */ GIR_EraseRootFromParent_Done,
43646 /* 122599 */ // Label 2703: @122599
43647 /* 122599 */ GIM_Try, /*On fail goto*//*Label 2704*/ GIMT_Encode4(122810), // Rule ID 22158 //
43648 /* 122604 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
43649 /* 122607 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43650 /* 122611 */ // (fshr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2, VR256X:{ *:[v8i32] }:$src3) => (EXTRACT_SUBREG:{ *:[v8i32] } (VPSHRDVDZr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR256X:{ *:[v8i32] }:$src2, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR256X:{ *:[v8i32] }:$src1, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR256X:{ *:[v8i32] }:$src3, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
43651 /* 122611 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v16s32,
43652 /* 122614 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43653 /* 122618 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43654 /* 122623 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
43655 /* 122625 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
43656 /* 122628 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43657 /* 122632 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43658 /* 122637 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
43659 /* 122640 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
43660 /* 122644 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
43661 /* 122647 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43662 /* 122652 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43663 /* 122657 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
43664 /* 122662 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
43665 /* 122665 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43666 /* 122669 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43667 /* 122674 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
43668 /* 122676 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
43669 /* 122679 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43670 /* 122683 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43671 /* 122688 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
43672 /* 122691 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
43673 /* 122695 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
43674 /* 122698 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43675 /* 122703 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43676 /* 122708 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
43677 /* 122713 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
43678 /* 122716 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43679 /* 122720 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43680 /* 122725 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
43681 /* 122727 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
43682 /* 122730 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43683 /* 122734 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43684 /* 122739 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
43685 /* 122742 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // src2
43686 /* 122746 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
43687 /* 122749 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43688 /* 122754 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43689 /* 122759 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
43690 /* 122764 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
43691 /* 122767 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZr),
43692 /* 122771 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43693 /* 122776 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43694 /* 122779 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
43695 /* 122782 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
43696 /* 122785 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
43697 /* 122787 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43698 /* 122790 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43699 /* 122792 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
43700 /* 122799 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
43701 /* 122804 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43702 /* 122809 */ // GIR_Coverage, 22158,
43703 /* 122809 */ GIR_EraseRootFromParent_Done,
43704 /* 122810 */ // Label 2704: @122810
43705 /* 122810 */ GIM_Reject,
43706 /* 122811 */ // Label 2701: @122811
43707 /* 122811 */ GIM_Reject,
43708 /* 122812 */ // Label 2670: @122812
43709 /* 122812 */ GIM_Try, /*On fail goto*//*Label 2705*/ GIMT_Encode4(122920),
43710 /* 122817 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
43711 /* 122820 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
43712 /* 122823 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
43713 /* 122826 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43714 /* 122830 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43715 /* 122834 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43716 /* 122838 */ GIM_Try, /*On fail goto*//*Label 2706*/ GIMT_Encode4(122894), // Rule ID 14214 //
43717 /* 122843 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
43718 /* 122846 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43719 /* 122850 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43720 /* 122854 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43721 /* 122857 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43722 /* 122861 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43723 /* 122865 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43724 /* 122867 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43725 /* 122874 */ // (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)
43726 /* 122874 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZm),
43727 /* 122877 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43728 /* 122879 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43729 /* 122881 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43730 /* 122883 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
43731 /* 122887 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43732 /* 122892 */ GIR_RootConstrainSelectedInstOperands,
43733 /* 122893 */ // GIR_Coverage, 14214,
43734 /* 122893 */ GIR_EraseRootFromParent_Done,
43735 /* 122894 */ // Label 2706: @122894
43736 /* 122894 */ GIM_Try, /*On fail goto*//*Label 2707*/ GIMT_Encode4(122919), // Rule ID 14211 //
43737 /* 122899 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
43738 /* 122902 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43739 /* 122906 */ // (fshr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src2, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src3) => (VPSHRDVQZr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2, VR512:{ *:[v8i64] }:$src3)
43740 /* 122906 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZr),
43741 /* 122909 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43742 /* 122911 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43743 /* 122913 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43744 /* 122915 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
43745 /* 122917 */ GIR_RootConstrainSelectedInstOperands,
43746 /* 122918 */ // GIR_Coverage, 14211,
43747 /* 122918 */ GIR_EraseRootFromParent_Done,
43748 /* 122919 */ // Label 2707: @122919
43749 /* 122919 */ GIM_Reject,
43750 /* 122920 */ // Label 2705: @122920
43751 /* 122920 */ GIM_Reject,
43752 /* 122921 */ // Label 2671: @122921
43753 /* 122921 */ GIM_Try, /*On fail goto*//*Label 2708*/ GIMT_Encode4(123240),
43754 /* 122926 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
43755 /* 122929 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
43756 /* 122932 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
43757 /* 122935 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43758 /* 122939 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43759 /* 122943 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43760 /* 122947 */ GIM_Try, /*On fail goto*//*Label 2709*/ GIMT_Encode4(123003), // Rule ID 14175 //
43761 /* 122952 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
43762 /* 122955 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43763 /* 122959 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43764 /* 122963 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43765 /* 122966 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43766 /* 122970 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43767 /* 122974 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43768 /* 122976 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43769 /* 122983 */ // (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)
43770 /* 122983 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZ256m),
43771 /* 122986 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43772 /* 122988 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43773 /* 122990 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43774 /* 122992 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
43775 /* 122996 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43776 /* 123001 */ GIR_RootConstrainSelectedInstOperands,
43777 /* 123002 */ // GIR_Coverage, 14175,
43778 /* 123002 */ GIR_EraseRootFromParent_Done,
43779 /* 123003 */ // Label 2709: @123003
43780 /* 123003 */ GIM_Try, /*On fail goto*//*Label 2710*/ GIMT_Encode4(123028), // Rule ID 14172 //
43781 /* 123008 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
43782 /* 123011 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43783 /* 123015 */ // (fshr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src2, VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src3) => (VPSHRDVWZ256r:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2, VR256X:{ *:[v16i16] }:$src3)
43784 /* 123015 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZ256r),
43785 /* 123018 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43786 /* 123020 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43787 /* 123022 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43788 /* 123024 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
43789 /* 123026 */ GIR_RootConstrainSelectedInstOperands,
43790 /* 123027 */ // GIR_Coverage, 14172,
43791 /* 123027 */ GIR_EraseRootFromParent_Done,
43792 /* 123028 */ // Label 2710: @123028
43793 /* 123028 */ GIM_Try, /*On fail goto*//*Label 2711*/ GIMT_Encode4(123239), // Rule ID 22166 //
43794 /* 123033 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
43795 /* 123036 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43796 /* 123040 */ // (fshr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2, VR256X:{ *:[v16i16] }:$src3) => (EXTRACT_SUBREG:{ *:[v16i16] } (VPSHRDVWZr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR256X:{ *:[v16i16] }:$src2, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR256X:{ *:[v16i16] }:$src1, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR256X:{ *:[v16i16] }:$src3, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
43797 /* 123040 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
43798 /* 123043 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43799 /* 123047 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43800 /* 123052 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
43801 /* 123054 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
43802 /* 123057 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43803 /* 123061 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43804 /* 123066 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
43805 /* 123069 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
43806 /* 123073 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
43807 /* 123076 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43808 /* 123081 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43809 /* 123086 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
43810 /* 123091 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
43811 /* 123094 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43812 /* 123098 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43813 /* 123103 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
43814 /* 123105 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
43815 /* 123108 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43816 /* 123112 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43817 /* 123117 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
43818 /* 123120 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
43819 /* 123124 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
43820 /* 123127 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43821 /* 123132 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43822 /* 123137 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
43823 /* 123142 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
43824 /* 123145 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43825 /* 123149 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43826 /* 123154 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
43827 /* 123156 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
43828 /* 123159 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43829 /* 123163 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43830 /* 123168 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
43831 /* 123171 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // src2
43832 /* 123175 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
43833 /* 123178 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43834 /* 123183 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43835 /* 123188 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
43836 /* 123193 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
43837 /* 123196 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZr),
43838 /* 123200 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43839 /* 123205 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43840 /* 123208 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
43841 /* 123211 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
43842 /* 123214 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
43843 /* 123216 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43844 /* 123219 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43845 /* 123221 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
43846 /* 123228 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
43847 /* 123233 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43848 /* 123238 */ // GIR_Coverage, 22166,
43849 /* 123238 */ GIR_EraseRootFromParent_Done,
43850 /* 123239 */ // Label 2711: @123239
43851 /* 123239 */ GIM_Reject,
43852 /* 123240 */ // Label 2708: @123240
43853 /* 123240 */ GIM_Reject,
43854 /* 123241 */ // Label 2672: @123241
43855 /* 123241 */ GIM_Try, /*On fail goto*//*Label 2712*/ GIMT_Encode4(123349),
43856 /* 123246 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
43857 /* 123249 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
43858 /* 123252 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
43859 /* 123255 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43860 /* 123259 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43861 /* 123263 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43862 /* 123267 */ GIM_Try, /*On fail goto*//*Label 2713*/ GIMT_Encode4(123323), // Rule ID 14187 //
43863 /* 123272 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
43864 /* 123275 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43865 /* 123279 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43866 /* 123283 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43867 /* 123286 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43868 /* 123290 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43869 /* 123294 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43870 /* 123296 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43871 /* 123303 */ // (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)
43872 /* 123303 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZm),
43873 /* 123306 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43874 /* 123308 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43875 /* 123310 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43876 /* 123312 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
43877 /* 123316 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43878 /* 123321 */ GIR_RootConstrainSelectedInstOperands,
43879 /* 123322 */ // GIR_Coverage, 14187,
43880 /* 123322 */ GIR_EraseRootFromParent_Done,
43881 /* 123323 */ // Label 2713: @123323
43882 /* 123323 */ GIM_Try, /*On fail goto*//*Label 2714*/ GIMT_Encode4(123348), // Rule ID 14184 //
43883 /* 123328 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
43884 /* 123331 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43885 /* 123335 */ // (fshr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src2, VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src3) => (VPSHRDVDZr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2, VR512:{ *:[v16i32] }:$src3)
43886 /* 123335 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZr),
43887 /* 123338 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43888 /* 123340 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43889 /* 123342 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43890 /* 123344 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
43891 /* 123346 */ GIR_RootConstrainSelectedInstOperands,
43892 /* 123347 */ // GIR_Coverage, 14184,
43893 /* 123347 */ GIR_EraseRootFromParent_Done,
43894 /* 123348 */ // Label 2714: @123348
43895 /* 123348 */ GIM_Reject,
43896 /* 123349 */ // Label 2712: @123349
43897 /* 123349 */ GIM_Reject,
43898 /* 123350 */ // Label 2673: @123350
43899 /* 123350 */ GIM_Try, /*On fail goto*//*Label 2715*/ GIMT_Encode4(123458),
43900 /* 123355 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
43901 /* 123358 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
43902 /* 123361 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
43903 /* 123364 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43904 /* 123368 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43905 /* 123372 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43906 /* 123376 */ GIM_Try, /*On fail goto*//*Label 2716*/ GIMT_Encode4(123432), // Rule ID 14169 //
43907 /* 123381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
43908 /* 123384 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43909 /* 123388 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43910 /* 123392 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43911 /* 123395 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43912 /* 123399 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43913 /* 123403 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43914 /* 123405 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43915 /* 123412 */ // (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)
43916 /* 123412 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZm),
43917 /* 123415 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43918 /* 123417 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43919 /* 123419 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43920 /* 123421 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
43921 /* 123425 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43922 /* 123430 */ GIR_RootConstrainSelectedInstOperands,
43923 /* 123431 */ // GIR_Coverage, 14169,
43924 /* 123431 */ GIR_EraseRootFromParent_Done,
43925 /* 123432 */ // Label 2716: @123432
43926 /* 123432 */ GIM_Try, /*On fail goto*//*Label 2717*/ GIMT_Encode4(123457), // Rule ID 14166 //
43927 /* 123437 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
43928 /* 123440 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43929 /* 123444 */ // (fshr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src2, VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src3) => (VPSHRDVWZr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2, VR512:{ *:[v32i16] }:$src3)
43930 /* 123444 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZr),
43931 /* 123447 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43932 /* 123449 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43933 /* 123451 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43934 /* 123453 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
43935 /* 123455 */ GIR_RootConstrainSelectedInstOperands,
43936 /* 123456 */ // GIR_Coverage, 14166,
43937 /* 123456 */ GIR_EraseRootFromParent_Done,
43938 /* 123457 */ // Label 2717: @123457
43939 /* 123457 */ GIM_Reject,
43940 /* 123458 */ // Label 2715: @123458
43941 /* 123458 */ GIM_Reject,
43942 /* 123459 */ // Label 2674: @123459
43943 /* 123459 */ GIM_Reject,
43944 /* 123460 */ // Label 32: @123460
43945 /* 123460 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(23), /*)*//*default:*//*Label 2731*/ GIMT_Encode4(126691),
43946 /* 123471 */ /*GILLT_s8*//*Label 2718*/ GIMT_Encode4(123559),
43947 /* 123475 */ /*GILLT_s16*//*Label 2719*/ GIMT_Encode4(123770),
43948 /* 123479 */ /*GILLT_s32*//*Label 2720*/ GIMT_Encode4(123981),
43949 /* 123483 */ /*GILLT_s64*//*Label 2721*/ GIMT_Encode4(124445), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
43950 /* 123499 */ /*GILLT_v2s64*//*Label 2722*/ GIMT_Encode4(124909), GIMT_Encode4(0),
43951 /* 123507 */ /*GILLT_v4s32*//*Label 2723*/ GIMT_Encode4(125176),
43952 /* 123511 */ /*GILLT_v4s64*//*Label 2724*/ GIMT_Encode4(125443), GIMT_Encode4(0),
43953 /* 123519 */ /*GILLT_v8s16*//*Label 2725*/ GIMT_Encode4(125694),
43954 /* 123523 */ /*GILLT_v8s32*//*Label 2726*/ GIMT_Encode4(125959),
43955 /* 123527 */ /*GILLT_v8s64*//*Label 2727*/ GIMT_Encode4(126210), GIMT_Encode4(0), GIMT_Encode4(0),
43956 /* 123539 */ /*GILLT_v16s16*//*Label 2728*/ GIMT_Encode4(126304),
43957 /* 123543 */ /*GILLT_v16s32*//*Label 2729*/ GIMT_Encode4(126557), GIMT_Encode4(0), GIMT_Encode4(0),
43958 /* 123555 */ /*GILLT_v32s16*//*Label 2730*/ GIMT_Encode4(126651),
43959 /* 123559 */ // Label 2718: @123559
43960 /* 123559 */ GIM_Try, /*On fail goto*//*Label 2732*/ GIMT_Encode4(123769),
43961 /* 123564 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
43962 /* 123567 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
43963 /* 123570 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43964 /* 123574 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43965 /* 123578 */ GIM_Try, /*On fail goto*//*Label 2733*/ GIMT_Encode4(123602), // Rule ID 17590 //
43966 /* 123583 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43967 /* 123586 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 7,
43968 /* 123590 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, 7:{ *:[i8] }) => (ROL8r1:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
43969 /* 123590 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8r1),
43970 /* 123593 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43971 /* 123595 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43972 /* 123597 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43973 /* 123600 */ GIR_RootConstrainSelectedInstOperands,
43974 /* 123601 */ // GIR_Coverage, 17590,
43975 /* 123601 */ GIR_EraseRootFromParent_Done,
43976 /* 123602 */ // Label 2733: @123602
43977 /* 123602 */ GIM_Try, /*On fail goto*//*Label 2734*/ GIMT_Encode4(123626), // Rule ID 17598 //
43978 /* 123607 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
43979 /* 123610 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 7,
43980 /* 123614 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, 7:{ *:[i8] }) => (ROL8r1_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
43981 /* 123614 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8r1_ND),
43982 /* 123617 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43983 /* 123619 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43984 /* 123621 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43985 /* 123624 */ GIR_RootConstrainSelectedInstOperands,
43986 /* 123625 */ // GIR_Coverage, 17598,
43987 /* 123625 */ GIR_EraseRootFromParent_Done,
43988 /* 123626 */ // Label 2734: @123626
43989 /* 123626 */ GIM_Try, /*On fail goto*//*Label 2735*/ GIMT_Encode4(123659), // Rule ID 789 //
43990 /* 123631 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43991 /* 123634 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43992 /* 123638 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43993 /* 123642 */ // MIs[1] Operand 1
43994 /* 123642 */ // No operand predicates
43995 /* 123642 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43996 /* 123644 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
43997 /* 123644 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8ri),
43998 /* 123647 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43999 /* 123649 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44000 /* 123651 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44001 /* 123654 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44002 /* 123657 */ GIR_RootConstrainSelectedInstOperands,
44003 /* 123658 */ // GIR_Coverage, 789,
44004 /* 123658 */ GIR_EraseRootFromParent_Done,
44005 /* 123659 */ // Label 2735: @123659
44006 /* 123659 */ GIM_Try, /*On fail goto*//*Label 2736*/ GIMT_Encode4(123692), // Rule ID 793 //
44007 /* 123664 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44008 /* 123667 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44009 /* 123671 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44010 /* 123675 */ // MIs[1] Operand 1
44011 /* 123675 */ // No operand predicates
44012 /* 123675 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44013 /* 123677 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
44014 /* 123677 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8ri_ND),
44015 /* 123680 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44016 /* 123682 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44017 /* 123684 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44018 /* 123687 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44019 /* 123690 */ GIR_RootConstrainSelectedInstOperands,
44020 /* 123691 */ // GIR_Coverage, 793,
44021 /* 123691 */ GIR_EraseRootFromParent_Done,
44022 /* 123692 */ // Label 2736: @123692
44023 /* 123692 */ GIM_Try, /*On fail goto*//*Label 2737*/ GIMT_Encode4(123730), // Rule ID 805 //
44024 /* 123697 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44025 /* 123700 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44026 /* 123704 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (ROR8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
44027 /* 123704 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44028 /* 123708 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44029 /* 123714 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44030 /* 123718 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8rCL),
44031 /* 123721 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44032 /* 123723 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44033 /* 123725 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44034 /* 123728 */ GIR_RootConstrainSelectedInstOperands,
44035 /* 123729 */ // GIR_Coverage, 805,
44036 /* 123729 */ GIR_EraseRootFromParent_Done,
44037 /* 123730 */ // Label 2737: @123730
44038 /* 123730 */ GIM_Try, /*On fail goto*//*Label 2738*/ GIMT_Encode4(123768), // Rule ID 809 //
44039 /* 123735 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44040 /* 123738 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44041 /* 123742 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (ROR8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
44042 /* 123742 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44043 /* 123746 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44044 /* 123752 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44045 /* 123756 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8rCL_ND),
44046 /* 123759 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44047 /* 123761 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44048 /* 123763 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44049 /* 123766 */ GIR_RootConstrainSelectedInstOperands,
44050 /* 123767 */ // GIR_Coverage, 809,
44051 /* 123767 */ GIR_EraseRootFromParent_Done,
44052 /* 123768 */ // Label 2738: @123768
44053 /* 123768 */ GIM_Reject,
44054 /* 123769 */ // Label 2732: @123769
44055 /* 123769 */ GIM_Reject,
44056 /* 123770 */ // Label 2719: @123770
44057 /* 123770 */ GIM_Try, /*On fail goto*//*Label 2739*/ GIMT_Encode4(123980),
44058 /* 123775 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
44059 /* 123778 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
44060 /* 123781 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
44061 /* 123785 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
44062 /* 123789 */ GIM_Try, /*On fail goto*//*Label 2740*/ GIMT_Encode4(123813), // Rule ID 17591 //
44063 /* 123794 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44064 /* 123797 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 15,
44065 /* 123801 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, 15:{ *:[i8] }) => (ROL16r1:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
44066 /* 123801 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16r1),
44067 /* 123804 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44068 /* 123806 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44069 /* 123808 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44070 /* 123811 */ GIR_RootConstrainSelectedInstOperands,
44071 /* 123812 */ // GIR_Coverage, 17591,
44072 /* 123812 */ GIR_EraseRootFromParent_Done,
44073 /* 123813 */ // Label 2740: @123813
44074 /* 123813 */ GIM_Try, /*On fail goto*//*Label 2741*/ GIMT_Encode4(123837), // Rule ID 17599 //
44075 /* 123818 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
44076 /* 123821 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 15,
44077 /* 123825 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, 15:{ *:[i8] }) => (ROL16r1_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
44078 /* 123825 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16r1_ND),
44079 /* 123828 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44080 /* 123830 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44081 /* 123832 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44082 /* 123835 */ GIR_RootConstrainSelectedInstOperands,
44083 /* 123836 */ // GIR_Coverage, 17599,
44084 /* 123836 */ GIR_EraseRootFromParent_Done,
44085 /* 123837 */ // Label 2741: @123837
44086 /* 123837 */ GIM_Try, /*On fail goto*//*Label 2742*/ GIMT_Encode4(123870), // Rule ID 790 //
44087 /* 123842 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44088 /* 123845 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44089 /* 123849 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44090 /* 123853 */ // MIs[1] Operand 1
44091 /* 123853 */ // No operand predicates
44092 /* 123853 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44093 /* 123855 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
44094 /* 123855 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16ri),
44095 /* 123858 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44096 /* 123860 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44097 /* 123862 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44098 /* 123865 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44099 /* 123868 */ GIR_RootConstrainSelectedInstOperands,
44100 /* 123869 */ // GIR_Coverage, 790,
44101 /* 123869 */ GIR_EraseRootFromParent_Done,
44102 /* 123870 */ // Label 2742: @123870
44103 /* 123870 */ GIM_Try, /*On fail goto*//*Label 2743*/ GIMT_Encode4(123903), // Rule ID 794 //
44104 /* 123875 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44105 /* 123878 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44106 /* 123882 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44107 /* 123886 */ // MIs[1] Operand 1
44108 /* 123886 */ // No operand predicates
44109 /* 123886 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44110 /* 123888 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
44111 /* 123888 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16ri_ND),
44112 /* 123891 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44113 /* 123893 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44114 /* 123895 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44115 /* 123898 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44116 /* 123901 */ GIR_RootConstrainSelectedInstOperands,
44117 /* 123902 */ // GIR_Coverage, 794,
44118 /* 123902 */ GIR_EraseRootFromParent_Done,
44119 /* 123903 */ // Label 2743: @123903
44120 /* 123903 */ GIM_Try, /*On fail goto*//*Label 2744*/ GIMT_Encode4(123941), // Rule ID 806 //
44121 /* 123908 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44122 /* 123911 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44123 /* 123915 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (ROR16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
44124 /* 123915 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44125 /* 123919 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44126 /* 123925 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44127 /* 123929 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16rCL),
44128 /* 123932 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44129 /* 123934 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44130 /* 123936 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44131 /* 123939 */ GIR_RootConstrainSelectedInstOperands,
44132 /* 123940 */ // GIR_Coverage, 806,
44133 /* 123940 */ GIR_EraseRootFromParent_Done,
44134 /* 123941 */ // Label 2744: @123941
44135 /* 123941 */ GIM_Try, /*On fail goto*//*Label 2745*/ GIMT_Encode4(123979), // Rule ID 810 //
44136 /* 123946 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44137 /* 123949 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44138 /* 123953 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (ROR16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
44139 /* 123953 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44140 /* 123957 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44141 /* 123963 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44142 /* 123967 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16rCL_ND),
44143 /* 123970 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44144 /* 123972 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44145 /* 123974 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44146 /* 123977 */ GIR_RootConstrainSelectedInstOperands,
44147 /* 123978 */ // GIR_Coverage, 810,
44148 /* 123978 */ GIR_EraseRootFromParent_Done,
44149 /* 123979 */ // Label 2745: @123979
44150 /* 123979 */ GIM_Reject,
44151 /* 123980 */ // Label 2739: @123980
44152 /* 123980 */ GIM_Reject,
44153 /* 123981 */ // Label 2720: @123981
44154 /* 123981 */ GIM_Try, /*On fail goto*//*Label 2746*/ GIMT_Encode4(124444),
44155 /* 123986 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
44156 /* 123989 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
44157 /* 123992 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44158 /* 123996 */ GIM_Try, /*On fail goto*//*Label 2747*/ GIMT_Encode4(124060), // Rule ID 17638 //
44159 /* 124001 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
44160 /* 124004 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
44161 /* 124008 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44162 /* 124012 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44163 /* 124015 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44164 /* 124019 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
44165 /* 124023 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
44166 /* 124027 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44167 /* 124031 */ // MIs[2] Operand 1
44168 /* 124031 */ // No operand predicates
44169 /* 124031 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
44170 /* 124033 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44171 /* 124040 */ // (rotr:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$shamt) => (RORX32mi:{ *:[i32] } addr:{ *:[iPTR] }:$src, (imm:{ *:[i8] }):$shamt)
44172 /* 124040 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX32mi),
44173 /* 124043 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44174 /* 124045 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
44175 /* 124049 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // shamt
44176 /* 124052 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
44177 /* 124058 */ GIR_RootConstrainSelectedInstOperands,
44178 /* 124059 */ // GIR_Coverage, 17638,
44179 /* 124059 */ GIR_EraseRootFromParent_Done,
44180 /* 124060 */ // Label 2747: @124060
44181 /* 124060 */ GIM_Try, /*On fail goto*//*Label 2748*/ GIMT_Encode4(124124), // Rule ID 17670 //
44182 /* 124065 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
44183 /* 124068 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
44184 /* 124072 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44185 /* 124076 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44186 /* 124079 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44187 /* 124083 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
44188 /* 124087 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
44189 /* 124091 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44190 /* 124095 */ // MIs[2] Operand 1
44191 /* 124095 */ // No operand predicates
44192 /* 124095 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
44193 /* 124097 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44194 /* 124104 */ // (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)
44195 /* 124104 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX32mi_EVEX),
44196 /* 124107 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44197 /* 124109 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
44198 /* 124113 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // shamt
44199 /* 124116 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
44200 /* 124122 */ GIR_RootConstrainSelectedInstOperands,
44201 /* 124123 */ // GIR_Coverage, 17670,
44202 /* 124123 */ GIR_EraseRootFromParent_Done,
44203 /* 124124 */ // Label 2748: @124124
44204 /* 124124 */ GIM_Try, /*On fail goto*//*Label 2749*/ GIMT_Encode4(124158), // Rule ID 17634 //
44205 /* 124129 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
44206 /* 124132 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44207 /* 124136 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44208 /* 124140 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44209 /* 124144 */ // MIs[1] Operand 1
44210 /* 124144 */ // No operand predicates
44211 /* 124144 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44212 /* 124146 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src, (imm:{ *:[i8] }):$shamt) => (RORX32ri:{ *:[i32] } GR32:{ *:[i32] }:$src, (imm:{ *:[i8] }):$shamt)
44213 /* 124146 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX32ri),
44214 /* 124149 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44215 /* 124151 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
44216 /* 124153 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
44217 /* 124156 */ GIR_RootConstrainSelectedInstOperands,
44218 /* 124157 */ // GIR_Coverage, 17634,
44219 /* 124157 */ GIR_EraseRootFromParent_Done,
44220 /* 124158 */ // Label 2749: @124158
44221 /* 124158 */ GIM_Try, /*On fail goto*//*Label 2750*/ GIMT_Encode4(124192), // Rule ID 17666 //
44222 /* 124163 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
44223 /* 124166 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44224 /* 124170 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44225 /* 124174 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44226 /* 124178 */ // MIs[1] Operand 1
44227 /* 124178 */ // No operand predicates
44228 /* 124178 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44229 /* 124180 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src, (imm:{ *:[i8] }):$shamt) => (RORX32ri_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src, (imm:{ *:[i8] }):$shamt)
44230 /* 124180 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX32ri_EVEX),
44231 /* 124183 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44232 /* 124185 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
44233 /* 124187 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
44234 /* 124190 */ GIR_RootConstrainSelectedInstOperands,
44235 /* 124191 */ // GIR_Coverage, 17666,
44236 /* 124191 */ GIR_EraseRootFromParent_Done,
44237 /* 124192 */ // Label 2750: @124192
44238 /* 124192 */ GIM_Try, /*On fail goto*//*Label 2751*/ GIMT_Encode4(124229), // Rule ID 871 //
44239 /* 124197 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFastSHLDRotate),
44240 /* 124200 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44241 /* 124204 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44242 /* 124208 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44243 /* 124212 */ // MIs[1] Operand 1
44244 /* 124212 */ // No operand predicates
44245 /* 124212 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44246 /* 124214 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$shamt) => (SHRDROT32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$shamt)
44247 /* 124214 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRDROT32ri),
44248 /* 124217 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44249 /* 124219 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44250 /* 124221 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
44251 /* 124224 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44252 /* 124227 */ GIR_RootConstrainSelectedInstOperands,
44253 /* 124228 */ // GIR_Coverage, 871,
44254 /* 124228 */ GIR_EraseRootFromParent_Done,
44255 /* 124229 */ // Label 2751: @124229
44256 /* 124229 */ GIM_Try, /*On fail goto*//*Label 2752*/ GIMT_Encode4(124257), // Rule ID 17592 //
44257 /* 124234 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44258 /* 124237 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44259 /* 124241 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 31,
44260 /* 124245 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, 31:{ *:[i8] }) => (ROL32r1:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
44261 /* 124245 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32r1),
44262 /* 124248 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44263 /* 124250 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44264 /* 124252 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44265 /* 124255 */ GIR_RootConstrainSelectedInstOperands,
44266 /* 124256 */ // GIR_Coverage, 17592,
44267 /* 124256 */ GIR_EraseRootFromParent_Done,
44268 /* 124257 */ // Label 2752: @124257
44269 /* 124257 */ GIM_Try, /*On fail goto*//*Label 2753*/ GIMT_Encode4(124285), // Rule ID 17600 //
44270 /* 124262 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
44271 /* 124265 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44272 /* 124269 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 31,
44273 /* 124273 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, 31:{ *:[i8] }) => (ROL32r1_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
44274 /* 124273 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32r1_ND),
44275 /* 124276 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44276 /* 124278 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44277 /* 124280 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44278 /* 124283 */ GIR_RootConstrainSelectedInstOperands,
44279 /* 124284 */ // GIR_Coverage, 17600,
44280 /* 124284 */ GIR_EraseRootFromParent_Done,
44281 /* 124285 */ // Label 2753: @124285
44282 /* 124285 */ GIM_Try, /*On fail goto*//*Label 2754*/ GIMT_Encode4(124322), // Rule ID 791 //
44283 /* 124290 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44284 /* 124293 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44285 /* 124297 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44286 /* 124301 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44287 /* 124305 */ // MIs[1] Operand 1
44288 /* 124305 */ // No operand predicates
44289 /* 124305 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44290 /* 124307 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
44291 /* 124307 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32ri),
44292 /* 124310 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44293 /* 124312 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44294 /* 124314 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44295 /* 124317 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44296 /* 124320 */ GIR_RootConstrainSelectedInstOperands,
44297 /* 124321 */ // GIR_Coverage, 791,
44298 /* 124321 */ GIR_EraseRootFromParent_Done,
44299 /* 124322 */ // Label 2754: @124322
44300 /* 124322 */ GIM_Try, /*On fail goto*//*Label 2755*/ GIMT_Encode4(124359), // Rule ID 795 //
44301 /* 124327 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44302 /* 124330 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44303 /* 124334 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44304 /* 124338 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44305 /* 124342 */ // MIs[1] Operand 1
44306 /* 124342 */ // No operand predicates
44307 /* 124342 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44308 /* 124344 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
44309 /* 124344 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32ri_ND),
44310 /* 124347 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44311 /* 124349 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44312 /* 124351 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44313 /* 124354 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44314 /* 124357 */ GIR_RootConstrainSelectedInstOperands,
44315 /* 124358 */ // GIR_Coverage, 795,
44316 /* 124358 */ GIR_EraseRootFromParent_Done,
44317 /* 124359 */ // Label 2755: @124359
44318 /* 124359 */ GIM_Try, /*On fail goto*//*Label 2756*/ GIMT_Encode4(124401), // Rule ID 807 //
44319 /* 124364 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44320 /* 124367 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44321 /* 124371 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44322 /* 124375 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (ROR32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
44323 /* 124375 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44324 /* 124379 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44325 /* 124385 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44326 /* 124389 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32rCL),
44327 /* 124392 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44328 /* 124394 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44329 /* 124396 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44330 /* 124399 */ GIR_RootConstrainSelectedInstOperands,
44331 /* 124400 */ // GIR_Coverage, 807,
44332 /* 124400 */ GIR_EraseRootFromParent_Done,
44333 /* 124401 */ // Label 2756: @124401
44334 /* 124401 */ GIM_Try, /*On fail goto*//*Label 2757*/ GIMT_Encode4(124443), // Rule ID 811 //
44335 /* 124406 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44336 /* 124409 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44337 /* 124413 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44338 /* 124417 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (ROR32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
44339 /* 124417 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44340 /* 124421 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44341 /* 124427 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44342 /* 124431 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32rCL_ND),
44343 /* 124434 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44344 /* 124436 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44345 /* 124438 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44346 /* 124441 */ GIR_RootConstrainSelectedInstOperands,
44347 /* 124442 */ // GIR_Coverage, 811,
44348 /* 124442 */ GIR_EraseRootFromParent_Done,
44349 /* 124443 */ // Label 2757: @124443
44350 /* 124443 */ GIM_Reject,
44351 /* 124444 */ // Label 2746: @124444
44352 /* 124444 */ GIM_Reject,
44353 /* 124445 */ // Label 2721: @124445
44354 /* 124445 */ GIM_Try, /*On fail goto*//*Label 2758*/ GIMT_Encode4(124908),
44355 /* 124450 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
44356 /* 124453 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
44357 /* 124456 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44358 /* 124460 */ GIM_Try, /*On fail goto*//*Label 2759*/ GIMT_Encode4(124524), // Rule ID 17639 //
44359 /* 124465 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
44360 /* 124468 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
44361 /* 124472 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44362 /* 124476 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44363 /* 124479 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44364 /* 124483 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44365 /* 124487 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
44366 /* 124491 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44367 /* 124495 */ // MIs[2] Operand 1
44368 /* 124495 */ // No operand predicates
44369 /* 124495 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
44370 /* 124497 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44371 /* 124504 */ // (rotr:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$shamt) => (RORX64mi:{ *:[i64] } addr:{ *:[iPTR] }:$src, (imm:{ *:[i8] }):$shamt)
44372 /* 124504 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX64mi),
44373 /* 124507 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44374 /* 124509 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
44375 /* 124513 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // shamt
44376 /* 124516 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
44377 /* 124522 */ GIR_RootConstrainSelectedInstOperands,
44378 /* 124523 */ // GIR_Coverage, 17639,
44379 /* 124523 */ GIR_EraseRootFromParent_Done,
44380 /* 124524 */ // Label 2759: @124524
44381 /* 124524 */ GIM_Try, /*On fail goto*//*Label 2760*/ GIMT_Encode4(124588), // Rule ID 17671 //
44382 /* 124529 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
44383 /* 124532 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
44384 /* 124536 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44385 /* 124540 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44386 /* 124543 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44387 /* 124547 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44388 /* 124551 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
44389 /* 124555 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44390 /* 124559 */ // MIs[2] Operand 1
44391 /* 124559 */ // No operand predicates
44392 /* 124559 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
44393 /* 124561 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44394 /* 124568 */ // (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)
44395 /* 124568 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX64mi_EVEX),
44396 /* 124571 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44397 /* 124573 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
44398 /* 124577 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // shamt
44399 /* 124580 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
44400 /* 124586 */ GIR_RootConstrainSelectedInstOperands,
44401 /* 124587 */ // GIR_Coverage, 17671,
44402 /* 124587 */ GIR_EraseRootFromParent_Done,
44403 /* 124588 */ // Label 2760: @124588
44404 /* 124588 */ GIM_Try, /*On fail goto*//*Label 2761*/ GIMT_Encode4(124622), // Rule ID 17635 //
44405 /* 124593 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
44406 /* 124596 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44407 /* 124600 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44408 /* 124604 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44409 /* 124608 */ // MIs[1] Operand 1
44410 /* 124608 */ // No operand predicates
44411 /* 124608 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44412 /* 124610 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src, (imm:{ *:[i8] }):$shamt) => (RORX64ri:{ *:[i64] } GR64:{ *:[i64] }:$src, (imm:{ *:[i8] }):$shamt)
44413 /* 124610 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX64ri),
44414 /* 124613 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44415 /* 124615 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
44416 /* 124617 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
44417 /* 124620 */ GIR_RootConstrainSelectedInstOperands,
44418 /* 124621 */ // GIR_Coverage, 17635,
44419 /* 124621 */ GIR_EraseRootFromParent_Done,
44420 /* 124622 */ // Label 2761: @124622
44421 /* 124622 */ GIM_Try, /*On fail goto*//*Label 2762*/ GIMT_Encode4(124656), // Rule ID 17667 //
44422 /* 124627 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
44423 /* 124630 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44424 /* 124634 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44425 /* 124638 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44426 /* 124642 */ // MIs[1] Operand 1
44427 /* 124642 */ // No operand predicates
44428 /* 124642 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44429 /* 124644 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src, (imm:{ *:[i8] }):$shamt) => (RORX64ri_EVEX:{ *:[i64] } GR64:{ *:[i64] }:$src, (imm:{ *:[i8] }):$shamt)
44430 /* 124644 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX64ri_EVEX),
44431 /* 124647 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44432 /* 124649 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
44433 /* 124651 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
44434 /* 124654 */ GIR_RootConstrainSelectedInstOperands,
44435 /* 124655 */ // GIR_Coverage, 17667,
44436 /* 124655 */ GIR_EraseRootFromParent_Done,
44437 /* 124656 */ // Label 2762: @124656
44438 /* 124656 */ GIM_Try, /*On fail goto*//*Label 2763*/ GIMT_Encode4(124693), // Rule ID 872 //
44439 /* 124661 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFastSHLDRotate),
44440 /* 124664 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44441 /* 124668 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44442 /* 124672 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44443 /* 124676 */ // MIs[1] Operand 1
44444 /* 124676 */ // No operand predicates
44445 /* 124676 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44446 /* 124678 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$shamt) => (SHRDROT64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$shamt)
44447 /* 124678 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRDROT64ri),
44448 /* 124681 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44449 /* 124683 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44450 /* 124685 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
44451 /* 124688 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44452 /* 124691 */ GIR_RootConstrainSelectedInstOperands,
44453 /* 124692 */ // GIR_Coverage, 872,
44454 /* 124692 */ GIR_EraseRootFromParent_Done,
44455 /* 124693 */ // Label 2763: @124693
44456 /* 124693 */ GIM_Try, /*On fail goto*//*Label 2764*/ GIMT_Encode4(124721), // Rule ID 17593 //
44457 /* 124698 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44458 /* 124701 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44459 /* 124705 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 63,
44460 /* 124709 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, 63:{ *:[i8] }) => (ROL64r1:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
44461 /* 124709 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64r1),
44462 /* 124712 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44463 /* 124714 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44464 /* 124716 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44465 /* 124719 */ GIR_RootConstrainSelectedInstOperands,
44466 /* 124720 */ // GIR_Coverage, 17593,
44467 /* 124720 */ GIR_EraseRootFromParent_Done,
44468 /* 124721 */ // Label 2764: @124721
44469 /* 124721 */ GIM_Try, /*On fail goto*//*Label 2765*/ GIMT_Encode4(124749), // Rule ID 17601 //
44470 /* 124726 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
44471 /* 124729 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44472 /* 124733 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 63,
44473 /* 124737 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, 63:{ *:[i8] }) => (ROL64r1_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
44474 /* 124737 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64r1_ND),
44475 /* 124740 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44476 /* 124742 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44477 /* 124744 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44478 /* 124747 */ GIR_RootConstrainSelectedInstOperands,
44479 /* 124748 */ // GIR_Coverage, 17601,
44480 /* 124748 */ GIR_EraseRootFromParent_Done,
44481 /* 124749 */ // Label 2765: @124749
44482 /* 124749 */ GIM_Try, /*On fail goto*//*Label 2766*/ GIMT_Encode4(124786), // Rule ID 792 //
44483 /* 124754 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44484 /* 124757 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44485 /* 124761 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44486 /* 124765 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44487 /* 124769 */ // MIs[1] Operand 1
44488 /* 124769 */ // No operand predicates
44489 /* 124769 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44490 /* 124771 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
44491 /* 124771 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64ri),
44492 /* 124774 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44493 /* 124776 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44494 /* 124778 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44495 /* 124781 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44496 /* 124784 */ GIR_RootConstrainSelectedInstOperands,
44497 /* 124785 */ // GIR_Coverage, 792,
44498 /* 124785 */ GIR_EraseRootFromParent_Done,
44499 /* 124786 */ // Label 2766: @124786
44500 /* 124786 */ GIM_Try, /*On fail goto*//*Label 2767*/ GIMT_Encode4(124823), // Rule ID 796 //
44501 /* 124791 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44502 /* 124794 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44503 /* 124798 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44504 /* 124802 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44505 /* 124806 */ // MIs[1] Operand 1
44506 /* 124806 */ // No operand predicates
44507 /* 124806 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44508 /* 124808 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
44509 /* 124808 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64ri_ND),
44510 /* 124811 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44511 /* 124813 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44512 /* 124815 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44513 /* 124818 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44514 /* 124821 */ GIR_RootConstrainSelectedInstOperands,
44515 /* 124822 */ // GIR_Coverage, 796,
44516 /* 124822 */ GIR_EraseRootFromParent_Done,
44517 /* 124823 */ // Label 2767: @124823
44518 /* 124823 */ GIM_Try, /*On fail goto*//*Label 2768*/ GIMT_Encode4(124865), // Rule ID 808 //
44519 /* 124828 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44520 /* 124831 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44521 /* 124835 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44522 /* 124839 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (ROR64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
44523 /* 124839 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44524 /* 124843 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44525 /* 124849 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44526 /* 124853 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64rCL),
44527 /* 124856 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44528 /* 124858 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44529 /* 124860 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44530 /* 124863 */ GIR_RootConstrainSelectedInstOperands,
44531 /* 124864 */ // GIR_Coverage, 808,
44532 /* 124864 */ GIR_EraseRootFromParent_Done,
44533 /* 124865 */ // Label 2768: @124865
44534 /* 124865 */ GIM_Try, /*On fail goto*//*Label 2769*/ GIMT_Encode4(124907), // Rule ID 812 //
44535 /* 124870 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44536 /* 124873 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44537 /* 124877 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44538 /* 124881 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (ROR64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
44539 /* 124881 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44540 /* 124885 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44541 /* 124891 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44542 /* 124895 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64rCL_ND),
44543 /* 124898 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44544 /* 124900 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44545 /* 124902 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44546 /* 124905 */ GIR_RootConstrainSelectedInstOperands,
44547 /* 124906 */ // GIR_Coverage, 812,
44548 /* 124906 */ GIR_EraseRootFromParent_Done,
44549 /* 124907 */ // Label 2769: @124907
44550 /* 124907 */ GIM_Reject,
44551 /* 124908 */ // Label 2758: @124908
44552 /* 124908 */ GIM_Reject,
44553 /* 124909 */ // Label 2722: @124909
44554 /* 124909 */ GIM_Try, /*On fail goto*//*Label 2770*/ GIMT_Encode4(125175),
44555 /* 124914 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
44556 /* 124917 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
44557 /* 124920 */ GIM_Try, /*On fail goto*//*Label 2771*/ GIMT_Encode4(124982), // Rule ID 8009 //
44558 /* 124925 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
44559 /* 124928 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44560 /* 124932 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44561 /* 124936 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44562 /* 124940 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44563 /* 124944 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44564 /* 124947 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44565 /* 124951 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44566 /* 124955 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44567 /* 124957 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44568 /* 124964 */ // (rotr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
44569 /* 124964 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVQZ128rm),
44570 /* 124967 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44571 /* 124969 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44572 /* 124971 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
44573 /* 124975 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44574 /* 124980 */ GIR_RootConstrainSelectedInstOperands,
44575 /* 124981 */ // GIR_Coverage, 8009,
44576 /* 124981 */ GIR_EraseRootFromParent_Done,
44577 /* 124982 */ // Label 2771: @124982
44578 /* 124982 */ GIM_Try, /*On fail goto*//*Label 2772*/ GIMT_Encode4(125009), // Rule ID 8006 //
44579 /* 124987 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
44580 /* 124990 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44581 /* 124994 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44582 /* 124998 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44583 /* 125002 */ // (rotr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPRORVQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
44584 /* 125002 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVQZ128rr),
44585 /* 125007 */ GIR_RootConstrainSelectedInstOperands,
44586 /* 125008 */ // GIR_Coverage, 8006,
44587 /* 125008 */ GIR_Done,
44588 /* 125009 */ // Label 2772: @125009
44589 /* 125009 */ GIM_Try, /*On fail goto*//*Label 2773*/ GIMT_Encode4(125174), // Rule ID 20814 //
44590 /* 125014 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
44591 /* 125017 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
44592 /* 125021 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44593 /* 125025 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44594 /* 125029 */ // (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] })
44595 /* 125029 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
44596 /* 125032 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44597 /* 125036 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44598 /* 125041 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
44599 /* 125043 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
44600 /* 125046 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44601 /* 125050 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44602 /* 125055 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
44603 /* 125058 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
44604 /* 125062 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
44605 /* 125065 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44606 /* 125070 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44607 /* 125075 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
44608 /* 125080 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
44609 /* 125083 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44610 /* 125087 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44611 /* 125092 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
44612 /* 125094 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
44613 /* 125097 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44614 /* 125101 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44615 /* 125106 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
44616 /* 125109 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
44617 /* 125113 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
44618 /* 125116 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44619 /* 125121 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44620 /* 125126 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
44621 /* 125131 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
44622 /* 125134 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPRORVQZrr),
44623 /* 125138 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44624 /* 125143 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
44625 /* 125146 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
44626 /* 125149 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
44627 /* 125151 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44628 /* 125154 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44629 /* 125156 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
44630 /* 125163 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
44631 /* 125168 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44632 /* 125173 */ // GIR_Coverage, 20814,
44633 /* 125173 */ GIR_EraseRootFromParent_Done,
44634 /* 125174 */ // Label 2773: @125174
44635 /* 125174 */ GIM_Reject,
44636 /* 125175 */ // Label 2770: @125175
44637 /* 125175 */ GIM_Reject,
44638 /* 125176 */ // Label 2723: @125176
44639 /* 125176 */ GIM_Try, /*On fail goto*//*Label 2774*/ GIMT_Encode4(125442),
44640 /* 125181 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
44641 /* 125184 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
44642 /* 125187 */ GIM_Try, /*On fail goto*//*Label 2775*/ GIMT_Encode4(125249), // Rule ID 7982 //
44643 /* 125192 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
44644 /* 125195 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44645 /* 125199 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44646 /* 125203 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44647 /* 125207 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44648 /* 125211 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44649 /* 125214 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44650 /* 125218 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44651 /* 125222 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44652 /* 125224 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44653 /* 125231 */ // (rotr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
44654 /* 125231 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVDZ128rm),
44655 /* 125234 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44656 /* 125236 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44657 /* 125238 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
44658 /* 125242 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44659 /* 125247 */ GIR_RootConstrainSelectedInstOperands,
44660 /* 125248 */ // GIR_Coverage, 7982,
44661 /* 125248 */ GIR_EraseRootFromParent_Done,
44662 /* 125249 */ // Label 2775: @125249
44663 /* 125249 */ GIM_Try, /*On fail goto*//*Label 2776*/ GIMT_Encode4(125276), // Rule ID 7979 //
44664 /* 125254 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
44665 /* 125257 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44666 /* 125261 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44667 /* 125265 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44668 /* 125269 */ // (rotr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPRORVDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
44669 /* 125269 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVDZ128rr),
44670 /* 125274 */ GIR_RootConstrainSelectedInstOperands,
44671 /* 125275 */ // GIR_Coverage, 7979,
44672 /* 125275 */ GIR_Done,
44673 /* 125276 */ // Label 2776: @125276
44674 /* 125276 */ GIM_Try, /*On fail goto*//*Label 2777*/ GIMT_Encode4(125441), // Rule ID 20822 //
44675 /* 125281 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
44676 /* 125284 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
44677 /* 125288 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44678 /* 125292 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44679 /* 125296 */ // (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] })
44680 /* 125296 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
44681 /* 125299 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44682 /* 125303 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44683 /* 125308 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
44684 /* 125310 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
44685 /* 125313 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44686 /* 125317 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44687 /* 125322 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
44688 /* 125325 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
44689 /* 125329 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
44690 /* 125332 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44691 /* 125337 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44692 /* 125342 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
44693 /* 125347 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
44694 /* 125350 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44695 /* 125354 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44696 /* 125359 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
44697 /* 125361 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
44698 /* 125364 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44699 /* 125368 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44700 /* 125373 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
44701 /* 125376 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
44702 /* 125380 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
44703 /* 125383 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44704 /* 125388 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44705 /* 125393 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
44706 /* 125398 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
44707 /* 125401 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPRORVDZrr),
44708 /* 125405 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44709 /* 125410 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
44710 /* 125413 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
44711 /* 125416 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
44712 /* 125418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44713 /* 125421 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44714 /* 125423 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
44715 /* 125430 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
44716 /* 125435 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44717 /* 125440 */ // GIR_Coverage, 20822,
44718 /* 125440 */ GIR_EraseRootFromParent_Done,
44719 /* 125441 */ // Label 2777: @125441
44720 /* 125441 */ GIM_Reject,
44721 /* 125442 */ // Label 2774: @125442
44722 /* 125442 */ GIM_Reject,
44723 /* 125443 */ // Label 2724: @125443
44724 /* 125443 */ GIM_Try, /*On fail goto*//*Label 2778*/ GIMT_Encode4(125693),
44725 /* 125448 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
44726 /* 125451 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
44727 /* 125454 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44728 /* 125458 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44729 /* 125462 */ GIM_Try, /*On fail goto*//*Label 2779*/ GIMT_Encode4(125516), // Rule ID 8000 //
44730 /* 125467 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
44731 /* 125470 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44732 /* 125474 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44733 /* 125478 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44734 /* 125481 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44735 /* 125485 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44736 /* 125489 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44737 /* 125491 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44738 /* 125498 */ // (rotr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
44739 /* 125498 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVQZ256rm),
44740 /* 125501 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44741 /* 125503 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44742 /* 125505 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
44743 /* 125509 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44744 /* 125514 */ GIR_RootConstrainSelectedInstOperands,
44745 /* 125515 */ // GIR_Coverage, 8000,
44746 /* 125515 */ GIR_EraseRootFromParent_Done,
44747 /* 125516 */ // Label 2779: @125516
44748 /* 125516 */ GIM_Try, /*On fail goto*//*Label 2780*/ GIMT_Encode4(125535), // Rule ID 7997 //
44749 /* 125521 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
44750 /* 125524 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44751 /* 125528 */ // (rotr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPRORVQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
44752 /* 125528 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVQZ256rr),
44753 /* 125533 */ GIR_RootConstrainSelectedInstOperands,
44754 /* 125534 */ // GIR_Coverage, 7997,
44755 /* 125534 */ GIR_Done,
44756 /* 125535 */ // Label 2780: @125535
44757 /* 125535 */ GIM_Try, /*On fail goto*//*Label 2781*/ GIMT_Encode4(125692), // Rule ID 20810 //
44758 /* 125540 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
44759 /* 125543 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44760 /* 125547 */ // (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] })
44761 /* 125547 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
44762 /* 125550 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44763 /* 125554 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44764 /* 125559 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
44765 /* 125561 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
44766 /* 125564 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44767 /* 125568 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44768 /* 125573 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
44769 /* 125576 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
44770 /* 125580 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
44771 /* 125583 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44772 /* 125588 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44773 /* 125593 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
44774 /* 125598 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
44775 /* 125601 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44776 /* 125605 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44777 /* 125610 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
44778 /* 125612 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
44779 /* 125615 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44780 /* 125619 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44781 /* 125624 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
44782 /* 125627 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
44783 /* 125631 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
44784 /* 125634 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44785 /* 125639 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44786 /* 125644 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
44787 /* 125649 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
44788 /* 125652 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPRORVQZrr),
44789 /* 125656 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44790 /* 125661 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
44791 /* 125664 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
44792 /* 125667 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
44793 /* 125669 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44794 /* 125672 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44795 /* 125674 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
44796 /* 125681 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
44797 /* 125686 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44798 /* 125691 */ // GIR_Coverage, 20810,
44799 /* 125691 */ GIR_EraseRootFromParent_Done,
44800 /* 125692 */ // Label 2781: @125692
44801 /* 125692 */ GIM_Reject,
44802 /* 125693 */ // Label 2778: @125693
44803 /* 125693 */ GIM_Reject,
44804 /* 125694 */ // Label 2725: @125694
44805 /* 125694 */ GIM_Try, /*On fail goto*//*Label 2782*/ GIMT_Encode4(125958),
44806 /* 125699 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
44807 /* 125702 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
44808 /* 125705 */ GIM_Try, /*On fail goto*//*Label 2783*/ GIMT_Encode4(125738), // Rule ID 22182 //
44809 /* 125710 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
44810 /* 125713 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44811 /* 125717 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44812 /* 125721 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44813 /* 125725 */ // (rotr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPSHRDVWZ128r:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
44814 /* 125725 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZ128r),
44815 /* 125728 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44816 /* 125730 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44817 /* 125732 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44818 /* 125734 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
44819 /* 125736 */ GIR_RootConstrainSelectedInstOperands,
44820 /* 125737 */ // GIR_Coverage, 22182,
44821 /* 125737 */ GIR_EraseRootFromParent_Done,
44822 /* 125738 */ // Label 2783: @125738
44823 /* 125738 */ GIM_Try, /*On fail goto*//*Label 2784*/ GIMT_Encode4(125957), // Rule ID 22190 //
44824 /* 125743 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
44825 /* 125746 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
44826 /* 125750 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44827 /* 125754 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44828 /* 125758 */ // (rotr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (EXTRACT_SUBREG:{ *:[v8i16] } (VPSHRDVWZr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR128X:{ *:[v8i16] }:$src1, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR128X:{ *:[v8i16] }:$src1, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR128X:{ *:[v8i16] }:$src2, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
44829 /* 125758 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
44830 /* 125761 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44831 /* 125765 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44832 /* 125770 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
44833 /* 125772 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
44834 /* 125775 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44835 /* 125779 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44836 /* 125784 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
44837 /* 125787 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/2, // src2
44838 /* 125791 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
44839 /* 125794 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44840 /* 125799 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44841 /* 125804 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
44842 /* 125809 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
44843 /* 125812 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44844 /* 125816 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44845 /* 125821 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
44846 /* 125823 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
44847 /* 125826 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44848 /* 125830 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44849 /* 125835 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
44850 /* 125838 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
44851 /* 125842 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
44852 /* 125845 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44853 /* 125850 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44854 /* 125855 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
44855 /* 125860 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
44856 /* 125863 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44857 /* 125867 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44858 /* 125872 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
44859 /* 125874 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
44860 /* 125877 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44861 /* 125881 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44862 /* 125886 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
44863 /* 125889 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
44864 /* 125893 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
44865 /* 125896 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44866 /* 125901 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44867 /* 125906 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
44868 /* 125911 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
44869 /* 125914 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZr),
44870 /* 125918 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44871 /* 125923 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
44872 /* 125926 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
44873 /* 125929 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
44874 /* 125932 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
44875 /* 125934 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44876 /* 125937 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44877 /* 125939 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
44878 /* 125946 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
44879 /* 125951 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44880 /* 125956 */ // GIR_Coverage, 22190,
44881 /* 125956 */ GIR_EraseRootFromParent_Done,
44882 /* 125957 */ // Label 2784: @125957
44883 /* 125957 */ GIM_Reject,
44884 /* 125958 */ // Label 2782: @125958
44885 /* 125958 */ GIM_Reject,
44886 /* 125959 */ // Label 2726: @125959
44887 /* 125959 */ GIM_Try, /*On fail goto*//*Label 2785*/ GIMT_Encode4(126209),
44888 /* 125964 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
44889 /* 125967 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
44890 /* 125970 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44891 /* 125974 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44892 /* 125978 */ GIM_Try, /*On fail goto*//*Label 2786*/ GIMT_Encode4(126032), // Rule ID 7973 //
44893 /* 125983 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
44894 /* 125986 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44895 /* 125990 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44896 /* 125994 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44897 /* 125997 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44898 /* 126001 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44899 /* 126005 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44900 /* 126007 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44901 /* 126014 */ // (rotr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
44902 /* 126014 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVDZ256rm),
44903 /* 126017 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44904 /* 126019 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44905 /* 126021 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
44906 /* 126025 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44907 /* 126030 */ GIR_RootConstrainSelectedInstOperands,
44908 /* 126031 */ // GIR_Coverage, 7973,
44909 /* 126031 */ GIR_EraseRootFromParent_Done,
44910 /* 126032 */ // Label 2786: @126032
44911 /* 126032 */ GIM_Try, /*On fail goto*//*Label 2787*/ GIMT_Encode4(126051), // Rule ID 7970 //
44912 /* 126037 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
44913 /* 126040 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44914 /* 126044 */ // (rotr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPRORVDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
44915 /* 126044 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVDZ256rr),
44916 /* 126049 */ GIR_RootConstrainSelectedInstOperands,
44917 /* 126050 */ // GIR_Coverage, 7970,
44918 /* 126050 */ GIR_Done,
44919 /* 126051 */ // Label 2787: @126051
44920 /* 126051 */ GIM_Try, /*On fail goto*//*Label 2788*/ GIMT_Encode4(126208), // Rule ID 20818 //
44921 /* 126056 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
44922 /* 126059 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44923 /* 126063 */ // (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] })
44924 /* 126063 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
44925 /* 126066 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44926 /* 126070 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44927 /* 126075 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
44928 /* 126077 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
44929 /* 126080 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44930 /* 126084 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44931 /* 126089 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
44932 /* 126092 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
44933 /* 126096 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
44934 /* 126099 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44935 /* 126104 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44936 /* 126109 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
44937 /* 126114 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
44938 /* 126117 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44939 /* 126121 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44940 /* 126126 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
44941 /* 126128 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
44942 /* 126131 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44943 /* 126135 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44944 /* 126140 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
44945 /* 126143 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
44946 /* 126147 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
44947 /* 126150 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44948 /* 126155 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44949 /* 126160 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
44950 /* 126165 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
44951 /* 126168 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPRORVDZrr),
44952 /* 126172 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44953 /* 126177 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
44954 /* 126180 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
44955 /* 126183 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
44956 /* 126185 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44957 /* 126188 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44958 /* 126190 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
44959 /* 126197 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
44960 /* 126202 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44961 /* 126207 */ // GIR_Coverage, 20818,
44962 /* 126207 */ GIR_EraseRootFromParent_Done,
44963 /* 126208 */ // Label 2788: @126208
44964 /* 126208 */ GIM_Reject,
44965 /* 126209 */ // Label 2785: @126209
44966 /* 126209 */ GIM_Reject,
44967 /* 126210 */ // Label 2727: @126210
44968 /* 126210 */ GIM_Try, /*On fail goto*//*Label 2789*/ GIMT_Encode4(126303),
44969 /* 126215 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
44970 /* 126218 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
44971 /* 126221 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44972 /* 126225 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44973 /* 126229 */ GIM_Try, /*On fail goto*//*Label 2790*/ GIMT_Encode4(126283), // Rule ID 7991 //
44974 /* 126234 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
44975 /* 126237 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44976 /* 126241 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44977 /* 126245 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44978 /* 126248 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44979 /* 126252 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44980 /* 126256 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44981 /* 126258 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44982 /* 126265 */ // (rotr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
44983 /* 126265 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVQZrm),
44984 /* 126268 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44985 /* 126270 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44986 /* 126272 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
44987 /* 126276 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44988 /* 126281 */ GIR_RootConstrainSelectedInstOperands,
44989 /* 126282 */ // GIR_Coverage, 7991,
44990 /* 126282 */ GIR_EraseRootFromParent_Done,
44991 /* 126283 */ // Label 2790: @126283
44992 /* 126283 */ GIM_Try, /*On fail goto*//*Label 2791*/ GIMT_Encode4(126302), // Rule ID 7988 //
44993 /* 126288 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
44994 /* 126291 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44995 /* 126295 */ // (rotr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPRORVQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
44996 /* 126295 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVQZrr),
44997 /* 126300 */ GIR_RootConstrainSelectedInstOperands,
44998 /* 126301 */ // GIR_Coverage, 7988,
44999 /* 126301 */ GIR_Done,
45000 /* 126302 */ // Label 2791: @126302
45001 /* 126302 */ GIM_Reject,
45002 /* 126303 */ // Label 2789: @126303
45003 /* 126303 */ GIM_Reject,
45004 /* 126304 */ // Label 2728: @126304
45005 /* 126304 */ GIM_Try, /*On fail goto*//*Label 2792*/ GIMT_Encode4(126556),
45006 /* 126309 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
45007 /* 126312 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
45008 /* 126315 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45009 /* 126319 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45010 /* 126323 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45011 /* 126327 */ GIM_Try, /*On fail goto*//*Label 2793*/ GIMT_Encode4(126348), // Rule ID 22178 //
45012 /* 126332 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
45013 /* 126335 */ // (rotr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPSHRDVWZ256r:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
45014 /* 126335 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZ256r),
45015 /* 126338 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45016 /* 126340 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45017 /* 126342 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45018 /* 126344 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
45019 /* 126346 */ GIR_RootConstrainSelectedInstOperands,
45020 /* 126347 */ // GIR_Coverage, 22178,
45021 /* 126347 */ GIR_EraseRootFromParent_Done,
45022 /* 126348 */ // Label 2793: @126348
45023 /* 126348 */ GIM_Try, /*On fail goto*//*Label 2794*/ GIMT_Encode4(126555), // Rule ID 22186 //
45024 /* 126353 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
45025 /* 126356 */ // (rotr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (EXTRACT_SUBREG:{ *:[v16i16] } (VPSHRDVWZr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR256X:{ *:[v16i16] }:$src1, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR256X:{ *:[v16i16] }:$src1, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR256X:{ *:[v16i16] }:$src2, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
45026 /* 126356 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
45027 /* 126359 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45028 /* 126363 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45029 /* 126368 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
45030 /* 126370 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
45031 /* 126373 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45032 /* 126377 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45033 /* 126382 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
45034 /* 126385 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/2, // src2
45035 /* 126389 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
45036 /* 126392 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45037 /* 126397 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45038 /* 126402 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45039 /* 126407 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
45040 /* 126410 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45041 /* 126414 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45042 /* 126419 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
45043 /* 126421 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
45044 /* 126424 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45045 /* 126428 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45046 /* 126433 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
45047 /* 126436 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
45048 /* 126440 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
45049 /* 126443 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45050 /* 126448 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45051 /* 126453 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45052 /* 126458 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
45053 /* 126461 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45054 /* 126465 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45055 /* 126470 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45056 /* 126472 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
45057 /* 126475 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45058 /* 126479 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45059 /* 126484 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45060 /* 126487 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
45061 /* 126491 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
45062 /* 126494 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45063 /* 126499 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45064 /* 126504 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45065 /* 126509 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
45066 /* 126512 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZr),
45067 /* 126516 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45068 /* 126521 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45069 /* 126524 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
45070 /* 126527 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
45071 /* 126530 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45072 /* 126532 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45073 /* 126535 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45074 /* 126537 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
45075 /* 126544 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
45076 /* 126549 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45077 /* 126554 */ // GIR_Coverage, 22186,
45078 /* 126554 */ GIR_EraseRootFromParent_Done,
45079 /* 126555 */ // Label 2794: @126555
45080 /* 126555 */ GIM_Reject,
45081 /* 126556 */ // Label 2792: @126556
45082 /* 126556 */ GIM_Reject,
45083 /* 126557 */ // Label 2729: @126557
45084 /* 126557 */ GIM_Try, /*On fail goto*//*Label 2795*/ GIMT_Encode4(126650),
45085 /* 126562 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
45086 /* 126565 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
45087 /* 126568 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45088 /* 126572 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45089 /* 126576 */ GIM_Try, /*On fail goto*//*Label 2796*/ GIMT_Encode4(126630), // Rule ID 7964 //
45090 /* 126581 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
45091 /* 126584 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45092 /* 126588 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45093 /* 126592 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45094 /* 126595 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45095 /* 126599 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45096 /* 126603 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45097 /* 126605 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45098 /* 126612 */ // (rotr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
45099 /* 126612 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVDZrm),
45100 /* 126615 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45101 /* 126617 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45102 /* 126619 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45103 /* 126623 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45104 /* 126628 */ GIR_RootConstrainSelectedInstOperands,
45105 /* 126629 */ // GIR_Coverage, 7964,
45106 /* 126629 */ GIR_EraseRootFromParent_Done,
45107 /* 126630 */ // Label 2796: @126630
45108 /* 126630 */ GIM_Try, /*On fail goto*//*Label 2797*/ GIMT_Encode4(126649), // Rule ID 7961 //
45109 /* 126635 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
45110 /* 126638 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45111 /* 126642 */ // (rotr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPRORVDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
45112 /* 126642 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVDZrr),
45113 /* 126647 */ GIR_RootConstrainSelectedInstOperands,
45114 /* 126648 */ // GIR_Coverage, 7961,
45115 /* 126648 */ GIR_Done,
45116 /* 126649 */ // Label 2797: @126649
45117 /* 126649 */ GIM_Reject,
45118 /* 126650 */ // Label 2795: @126650
45119 /* 126650 */ GIM_Reject,
45120 /* 126651 */ // Label 2730: @126651
45121 /* 126651 */ GIM_Try, /*On fail goto*//*Label 2798*/ GIMT_Encode4(126690), // Rule ID 22174 //
45122 /* 126656 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
45123 /* 126659 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
45124 /* 126662 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
45125 /* 126665 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45126 /* 126669 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45127 /* 126673 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45128 /* 126677 */ // (rotr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPSHRDVWZr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
45129 /* 126677 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZr),
45130 /* 126680 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45131 /* 126682 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45132 /* 126684 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45133 /* 126686 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
45134 /* 126688 */ GIR_RootConstrainSelectedInstOperands,
45135 /* 126689 */ // GIR_Coverage, 22174,
45136 /* 126689 */ GIR_EraseRootFromParent_Done,
45137 /* 126690 */ // Label 2798: @126690
45138 /* 126690 */ GIM_Reject,
45139 /* 126691 */ // Label 2731: @126691
45140 /* 126691 */ GIM_Reject,
45141 /* 126692 */ // Label 33: @126692
45142 /* 126692 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(23), /*)*//*default:*//*Label 2813*/ GIMT_Encode4(130092),
45143 /* 126703 */ /*GILLT_s8*//*Label 2799*/ GIMT_Encode4(126791),
45144 /* 126707 */ /*GILLT_s16*//*Label 2800*/ GIMT_Encode4(127002),
45145 /* 126711 */ /*GILLT_s32*//*Label 2801*/ GIMT_Encode4(127213),
45146 /* 126715 */ /*GILLT_s64*//*Label 2802*/ GIMT_Encode4(127457), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
45147 /* 126731 */ /*GILLT_v2s64*//*Label 2803*/ GIMT_Encode4(127701), GIMT_Encode4(0),
45148 /* 126739 */ /*GILLT_v4s32*//*Label 2804*/ GIMT_Encode4(128119),
45149 /* 126743 */ /*GILLT_v4s64*//*Label 2805*/ GIMT_Encode4(128537), GIMT_Encode4(0),
45150 /* 126751 */ /*GILLT_v8s16*//*Label 2806*/ GIMT_Encode4(128788),
45151 /* 126755 */ /*GILLT_v8s32*//*Label 2807*/ GIMT_Encode4(129204),
45152 /* 126759 */ /*GILLT_v8s64*//*Label 2808*/ GIMT_Encode4(129455), GIMT_Encode4(0),
45153 /* 126767 */ /*GILLT_v16s8*//*Label 2809*/ GIMT_Encode4(129549),
45154 /* 126771 */ /*GILLT_v16s16*//*Label 2810*/ GIMT_Encode4(129705),
45155 /* 126775 */ /*GILLT_v16s32*//*Label 2811*/ GIMT_Encode4(129958), GIMT_Encode4(0), GIMT_Encode4(0),
45156 /* 126787 */ /*GILLT_v32s16*//*Label 2812*/ GIMT_Encode4(130052),
45157 /* 126791 */ // Label 2799: @126791
45158 /* 126791 */ GIM_Try, /*On fail goto*//*Label 2814*/ GIMT_Encode4(127001),
45159 /* 126796 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
45160 /* 126799 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
45161 /* 126802 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
45162 /* 126806 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
45163 /* 126810 */ GIM_Try, /*On fail goto*//*Label 2815*/ GIMT_Encode4(126834), // Rule ID 17586 //
45164 /* 126815 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45165 /* 126818 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 7,
45166 /* 126822 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, 7:{ *:[i8] }) => (ROR8r1:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
45167 /* 126822 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8r1),
45168 /* 126825 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45169 /* 126827 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45170 /* 126829 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45171 /* 126832 */ GIR_RootConstrainSelectedInstOperands,
45172 /* 126833 */ // GIR_Coverage, 17586,
45173 /* 126833 */ GIR_EraseRootFromParent_Done,
45174 /* 126834 */ // Label 2815: @126834
45175 /* 126834 */ GIM_Try, /*On fail goto*//*Label 2816*/ GIMT_Encode4(126858), // Rule ID 17594 //
45176 /* 126839 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
45177 /* 126842 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 7,
45178 /* 126846 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, 7:{ *:[i8] }) => (ROR8r1_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
45179 /* 126846 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8r1_ND),
45180 /* 126849 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45181 /* 126851 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45182 /* 126853 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45183 /* 126856 */ GIR_RootConstrainSelectedInstOperands,
45184 /* 126857 */ // GIR_Coverage, 17594,
45185 /* 126857 */ GIR_EraseRootFromParent_Done,
45186 /* 126858 */ // Label 2816: @126858
45187 /* 126858 */ GIM_Try, /*On fail goto*//*Label 2817*/ GIMT_Encode4(126891), // Rule ID 757 //
45188 /* 126863 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45189 /* 126866 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45190 /* 126870 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45191 /* 126874 */ // MIs[1] Operand 1
45192 /* 126874 */ // No operand predicates
45193 /* 126874 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45194 /* 126876 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
45195 /* 126876 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8ri),
45196 /* 126879 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45197 /* 126881 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45198 /* 126883 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45199 /* 126886 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45200 /* 126889 */ GIR_RootConstrainSelectedInstOperands,
45201 /* 126890 */ // GIR_Coverage, 757,
45202 /* 126890 */ GIR_EraseRootFromParent_Done,
45203 /* 126891 */ // Label 2817: @126891
45204 /* 126891 */ GIM_Try, /*On fail goto*//*Label 2818*/ GIMT_Encode4(126924), // Rule ID 761 //
45205 /* 126896 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45206 /* 126899 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45207 /* 126903 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45208 /* 126907 */ // MIs[1] Operand 1
45209 /* 126907 */ // No operand predicates
45210 /* 126907 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45211 /* 126909 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
45212 /* 126909 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8ri_ND),
45213 /* 126912 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45214 /* 126914 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45215 /* 126916 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45216 /* 126919 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45217 /* 126922 */ GIR_RootConstrainSelectedInstOperands,
45218 /* 126923 */ // GIR_Coverage, 761,
45219 /* 126923 */ GIR_EraseRootFromParent_Done,
45220 /* 126924 */ // Label 2818: @126924
45221 /* 126924 */ GIM_Try, /*On fail goto*//*Label 2819*/ GIMT_Encode4(126962), // Rule ID 773 //
45222 /* 126929 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45223 /* 126932 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45224 /* 126936 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (ROL8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
45225 /* 126936 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45226 /* 126940 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45227 /* 126946 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45228 /* 126950 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8rCL),
45229 /* 126953 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45230 /* 126955 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45231 /* 126957 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45232 /* 126960 */ GIR_RootConstrainSelectedInstOperands,
45233 /* 126961 */ // GIR_Coverage, 773,
45234 /* 126961 */ GIR_EraseRootFromParent_Done,
45235 /* 126962 */ // Label 2819: @126962
45236 /* 126962 */ GIM_Try, /*On fail goto*//*Label 2820*/ GIMT_Encode4(127000), // Rule ID 777 //
45237 /* 126967 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45238 /* 126970 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45239 /* 126974 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (ROL8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
45240 /* 126974 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45241 /* 126978 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45242 /* 126984 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45243 /* 126988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8rCL_ND),
45244 /* 126991 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45245 /* 126993 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45246 /* 126995 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45247 /* 126998 */ GIR_RootConstrainSelectedInstOperands,
45248 /* 126999 */ // GIR_Coverage, 777,
45249 /* 126999 */ GIR_EraseRootFromParent_Done,
45250 /* 127000 */ // Label 2820: @127000
45251 /* 127000 */ GIM_Reject,
45252 /* 127001 */ // Label 2814: @127001
45253 /* 127001 */ GIM_Reject,
45254 /* 127002 */ // Label 2800: @127002
45255 /* 127002 */ GIM_Try, /*On fail goto*//*Label 2821*/ GIMT_Encode4(127212),
45256 /* 127007 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
45257 /* 127010 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
45258 /* 127013 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
45259 /* 127017 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
45260 /* 127021 */ GIM_Try, /*On fail goto*//*Label 2822*/ GIMT_Encode4(127045), // Rule ID 17587 //
45261 /* 127026 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45262 /* 127029 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 15,
45263 /* 127033 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, 15:{ *:[i8] }) => (ROR16r1:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
45264 /* 127033 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16r1),
45265 /* 127036 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45266 /* 127038 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45267 /* 127040 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45268 /* 127043 */ GIR_RootConstrainSelectedInstOperands,
45269 /* 127044 */ // GIR_Coverage, 17587,
45270 /* 127044 */ GIR_EraseRootFromParent_Done,
45271 /* 127045 */ // Label 2822: @127045
45272 /* 127045 */ GIM_Try, /*On fail goto*//*Label 2823*/ GIMT_Encode4(127069), // Rule ID 17595 //
45273 /* 127050 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
45274 /* 127053 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 15,
45275 /* 127057 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, 15:{ *:[i8] }) => (ROR16r1_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
45276 /* 127057 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16r1_ND),
45277 /* 127060 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45278 /* 127062 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45279 /* 127064 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45280 /* 127067 */ GIR_RootConstrainSelectedInstOperands,
45281 /* 127068 */ // GIR_Coverage, 17595,
45282 /* 127068 */ GIR_EraseRootFromParent_Done,
45283 /* 127069 */ // Label 2823: @127069
45284 /* 127069 */ GIM_Try, /*On fail goto*//*Label 2824*/ GIMT_Encode4(127102), // Rule ID 758 //
45285 /* 127074 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45286 /* 127077 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45287 /* 127081 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45288 /* 127085 */ // MIs[1] Operand 1
45289 /* 127085 */ // No operand predicates
45290 /* 127085 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45291 /* 127087 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
45292 /* 127087 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16ri),
45293 /* 127090 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45294 /* 127092 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45295 /* 127094 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45296 /* 127097 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45297 /* 127100 */ GIR_RootConstrainSelectedInstOperands,
45298 /* 127101 */ // GIR_Coverage, 758,
45299 /* 127101 */ GIR_EraseRootFromParent_Done,
45300 /* 127102 */ // Label 2824: @127102
45301 /* 127102 */ GIM_Try, /*On fail goto*//*Label 2825*/ GIMT_Encode4(127135), // Rule ID 762 //
45302 /* 127107 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45303 /* 127110 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45304 /* 127114 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45305 /* 127118 */ // MIs[1] Operand 1
45306 /* 127118 */ // No operand predicates
45307 /* 127118 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45308 /* 127120 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
45309 /* 127120 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16ri_ND),
45310 /* 127123 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45311 /* 127125 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45312 /* 127127 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45313 /* 127130 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45314 /* 127133 */ GIR_RootConstrainSelectedInstOperands,
45315 /* 127134 */ // GIR_Coverage, 762,
45316 /* 127134 */ GIR_EraseRootFromParent_Done,
45317 /* 127135 */ // Label 2825: @127135
45318 /* 127135 */ GIM_Try, /*On fail goto*//*Label 2826*/ GIMT_Encode4(127173), // Rule ID 774 //
45319 /* 127140 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45320 /* 127143 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45321 /* 127147 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (ROL16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
45322 /* 127147 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45323 /* 127151 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45324 /* 127157 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45325 /* 127161 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16rCL),
45326 /* 127164 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45327 /* 127166 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45328 /* 127168 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45329 /* 127171 */ GIR_RootConstrainSelectedInstOperands,
45330 /* 127172 */ // GIR_Coverage, 774,
45331 /* 127172 */ GIR_EraseRootFromParent_Done,
45332 /* 127173 */ // Label 2826: @127173
45333 /* 127173 */ GIM_Try, /*On fail goto*//*Label 2827*/ GIMT_Encode4(127211), // Rule ID 778 //
45334 /* 127178 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45335 /* 127181 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45336 /* 127185 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (ROL16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
45337 /* 127185 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45338 /* 127189 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45339 /* 127195 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45340 /* 127199 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16rCL_ND),
45341 /* 127202 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45342 /* 127204 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45343 /* 127206 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45344 /* 127209 */ GIR_RootConstrainSelectedInstOperands,
45345 /* 127210 */ // GIR_Coverage, 778,
45346 /* 127210 */ GIR_EraseRootFromParent_Done,
45347 /* 127211 */ // Label 2827: @127211
45348 /* 127211 */ GIM_Reject,
45349 /* 127212 */ // Label 2821: @127212
45350 /* 127212 */ GIM_Reject,
45351 /* 127213 */ // Label 2801: @127213
45352 /* 127213 */ GIM_Try, /*On fail goto*//*Label 2828*/ GIMT_Encode4(127456),
45353 /* 127218 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
45354 /* 127221 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
45355 /* 127224 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
45356 /* 127228 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
45357 /* 127232 */ GIM_Try, /*On fail goto*//*Label 2829*/ GIMT_Encode4(127265), // Rule ID 869 //
45358 /* 127237 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFastSHLDRotate),
45359 /* 127240 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45360 /* 127244 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45361 /* 127248 */ // MIs[1] Operand 1
45362 /* 127248 */ // No operand predicates
45363 /* 127248 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45364 /* 127250 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$shamt) => (SHLDROT32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$shamt)
45365 /* 127250 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLDROT32ri),
45366 /* 127253 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45367 /* 127255 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45368 /* 127257 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
45369 /* 127260 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45370 /* 127263 */ GIR_RootConstrainSelectedInstOperands,
45371 /* 127264 */ // GIR_Coverage, 869,
45372 /* 127264 */ GIR_EraseRootFromParent_Done,
45373 /* 127265 */ // Label 2829: @127265
45374 /* 127265 */ GIM_Try, /*On fail goto*//*Label 2830*/ GIMT_Encode4(127289), // Rule ID 17588 //
45375 /* 127270 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45376 /* 127273 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 31,
45377 /* 127277 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, 31:{ *:[i8] }) => (ROR32r1:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
45378 /* 127277 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32r1),
45379 /* 127280 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45380 /* 127282 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45381 /* 127284 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45382 /* 127287 */ GIR_RootConstrainSelectedInstOperands,
45383 /* 127288 */ // GIR_Coverage, 17588,
45384 /* 127288 */ GIR_EraseRootFromParent_Done,
45385 /* 127289 */ // Label 2830: @127289
45386 /* 127289 */ GIM_Try, /*On fail goto*//*Label 2831*/ GIMT_Encode4(127313), // Rule ID 17596 //
45387 /* 127294 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
45388 /* 127297 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 31,
45389 /* 127301 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, 31:{ *:[i8] }) => (ROR32r1_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
45390 /* 127301 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32r1_ND),
45391 /* 127304 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45392 /* 127306 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45393 /* 127308 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45394 /* 127311 */ GIR_RootConstrainSelectedInstOperands,
45395 /* 127312 */ // GIR_Coverage, 17596,
45396 /* 127312 */ GIR_EraseRootFromParent_Done,
45397 /* 127313 */ // Label 2831: @127313
45398 /* 127313 */ GIM_Try, /*On fail goto*//*Label 2832*/ GIMT_Encode4(127346), // Rule ID 759 //
45399 /* 127318 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45400 /* 127321 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45401 /* 127325 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45402 /* 127329 */ // MIs[1] Operand 1
45403 /* 127329 */ // No operand predicates
45404 /* 127329 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45405 /* 127331 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
45406 /* 127331 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32ri),
45407 /* 127334 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45408 /* 127336 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45409 /* 127338 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45410 /* 127341 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45411 /* 127344 */ GIR_RootConstrainSelectedInstOperands,
45412 /* 127345 */ // GIR_Coverage, 759,
45413 /* 127345 */ GIR_EraseRootFromParent_Done,
45414 /* 127346 */ // Label 2832: @127346
45415 /* 127346 */ GIM_Try, /*On fail goto*//*Label 2833*/ GIMT_Encode4(127379), // Rule ID 763 //
45416 /* 127351 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45417 /* 127354 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45418 /* 127358 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45419 /* 127362 */ // MIs[1] Operand 1
45420 /* 127362 */ // No operand predicates
45421 /* 127362 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45422 /* 127364 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
45423 /* 127364 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32ri_ND),
45424 /* 127367 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45425 /* 127369 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45426 /* 127371 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45427 /* 127374 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45428 /* 127377 */ GIR_RootConstrainSelectedInstOperands,
45429 /* 127378 */ // GIR_Coverage, 763,
45430 /* 127378 */ GIR_EraseRootFromParent_Done,
45431 /* 127379 */ // Label 2833: @127379
45432 /* 127379 */ GIM_Try, /*On fail goto*//*Label 2834*/ GIMT_Encode4(127417), // Rule ID 775 //
45433 /* 127384 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45434 /* 127387 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45435 /* 127391 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (ROL32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
45436 /* 127391 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45437 /* 127395 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45438 /* 127401 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45439 /* 127405 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32rCL),
45440 /* 127408 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45441 /* 127410 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45442 /* 127412 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45443 /* 127415 */ GIR_RootConstrainSelectedInstOperands,
45444 /* 127416 */ // GIR_Coverage, 775,
45445 /* 127416 */ GIR_EraseRootFromParent_Done,
45446 /* 127417 */ // Label 2834: @127417
45447 /* 127417 */ GIM_Try, /*On fail goto*//*Label 2835*/ GIMT_Encode4(127455), // Rule ID 779 //
45448 /* 127422 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45449 /* 127425 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45450 /* 127429 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (ROL32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
45451 /* 127429 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45452 /* 127433 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45453 /* 127439 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45454 /* 127443 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32rCL_ND),
45455 /* 127446 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45456 /* 127448 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45457 /* 127450 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45458 /* 127453 */ GIR_RootConstrainSelectedInstOperands,
45459 /* 127454 */ // GIR_Coverage, 779,
45460 /* 127454 */ GIR_EraseRootFromParent_Done,
45461 /* 127455 */ // Label 2835: @127455
45462 /* 127455 */ GIM_Reject,
45463 /* 127456 */ // Label 2828: @127456
45464 /* 127456 */ GIM_Reject,
45465 /* 127457 */ // Label 2802: @127457
45466 /* 127457 */ GIM_Try, /*On fail goto*//*Label 2836*/ GIMT_Encode4(127700),
45467 /* 127462 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
45468 /* 127465 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
45469 /* 127468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
45470 /* 127472 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
45471 /* 127476 */ GIM_Try, /*On fail goto*//*Label 2837*/ GIMT_Encode4(127509), // Rule ID 870 //
45472 /* 127481 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFastSHLDRotate),
45473 /* 127484 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45474 /* 127488 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45475 /* 127492 */ // MIs[1] Operand 1
45476 /* 127492 */ // No operand predicates
45477 /* 127492 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45478 /* 127494 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$shamt) => (SHLDROT64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$shamt)
45479 /* 127494 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLDROT64ri),
45480 /* 127497 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45481 /* 127499 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45482 /* 127501 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
45483 /* 127504 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45484 /* 127507 */ GIR_RootConstrainSelectedInstOperands,
45485 /* 127508 */ // GIR_Coverage, 870,
45486 /* 127508 */ GIR_EraseRootFromParent_Done,
45487 /* 127509 */ // Label 2837: @127509
45488 /* 127509 */ GIM_Try, /*On fail goto*//*Label 2838*/ GIMT_Encode4(127533), // Rule ID 17589 //
45489 /* 127514 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45490 /* 127517 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 63,
45491 /* 127521 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, 63:{ *:[i8] }) => (ROR64r1:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
45492 /* 127521 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64r1),
45493 /* 127524 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45494 /* 127526 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45495 /* 127528 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45496 /* 127531 */ GIR_RootConstrainSelectedInstOperands,
45497 /* 127532 */ // GIR_Coverage, 17589,
45498 /* 127532 */ GIR_EraseRootFromParent_Done,
45499 /* 127533 */ // Label 2838: @127533
45500 /* 127533 */ GIM_Try, /*On fail goto*//*Label 2839*/ GIMT_Encode4(127557), // Rule ID 17597 //
45501 /* 127538 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
45502 /* 127541 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 63,
45503 /* 127545 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, 63:{ *:[i8] }) => (ROR64r1_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
45504 /* 127545 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64r1_ND),
45505 /* 127548 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45506 /* 127550 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45507 /* 127552 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45508 /* 127555 */ GIR_RootConstrainSelectedInstOperands,
45509 /* 127556 */ // GIR_Coverage, 17597,
45510 /* 127556 */ GIR_EraseRootFromParent_Done,
45511 /* 127557 */ // Label 2839: @127557
45512 /* 127557 */ GIM_Try, /*On fail goto*//*Label 2840*/ GIMT_Encode4(127590), // Rule ID 760 //
45513 /* 127562 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45514 /* 127565 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45515 /* 127569 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45516 /* 127573 */ // MIs[1] Operand 1
45517 /* 127573 */ // No operand predicates
45518 /* 127573 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45519 /* 127575 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
45520 /* 127575 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64ri),
45521 /* 127578 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45522 /* 127580 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45523 /* 127582 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45524 /* 127585 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45525 /* 127588 */ GIR_RootConstrainSelectedInstOperands,
45526 /* 127589 */ // GIR_Coverage, 760,
45527 /* 127589 */ GIR_EraseRootFromParent_Done,
45528 /* 127590 */ // Label 2840: @127590
45529 /* 127590 */ GIM_Try, /*On fail goto*//*Label 2841*/ GIMT_Encode4(127623), // Rule ID 764 //
45530 /* 127595 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45531 /* 127598 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45532 /* 127602 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45533 /* 127606 */ // MIs[1] Operand 1
45534 /* 127606 */ // No operand predicates
45535 /* 127606 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45536 /* 127608 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
45537 /* 127608 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64ri_ND),
45538 /* 127611 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45539 /* 127613 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45540 /* 127615 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45541 /* 127618 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45542 /* 127621 */ GIR_RootConstrainSelectedInstOperands,
45543 /* 127622 */ // GIR_Coverage, 764,
45544 /* 127622 */ GIR_EraseRootFromParent_Done,
45545 /* 127623 */ // Label 2841: @127623
45546 /* 127623 */ GIM_Try, /*On fail goto*//*Label 2842*/ GIMT_Encode4(127661), // Rule ID 776 //
45547 /* 127628 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45548 /* 127631 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45549 /* 127635 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (ROL64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
45550 /* 127635 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45551 /* 127639 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45552 /* 127645 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45553 /* 127649 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64rCL),
45554 /* 127652 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45555 /* 127654 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45556 /* 127656 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45557 /* 127659 */ GIR_RootConstrainSelectedInstOperands,
45558 /* 127660 */ // GIR_Coverage, 776,
45559 /* 127660 */ GIR_EraseRootFromParent_Done,
45560 /* 127661 */ // Label 2842: @127661
45561 /* 127661 */ GIM_Try, /*On fail goto*//*Label 2843*/ GIMT_Encode4(127699), // Rule ID 780 //
45562 /* 127666 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45563 /* 127669 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45564 /* 127673 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (ROL64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
45565 /* 127673 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45566 /* 127677 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45567 /* 127683 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45568 /* 127687 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64rCL_ND),
45569 /* 127690 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45570 /* 127692 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45571 /* 127694 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45572 /* 127697 */ GIR_RootConstrainSelectedInstOperands,
45573 /* 127698 */ // GIR_Coverage, 780,
45574 /* 127698 */ GIR_EraseRootFromParent_Done,
45575 /* 127699 */ // Label 2843: @127699
45576 /* 127699 */ GIM_Reject,
45577 /* 127700 */ // Label 2836: @127700
45578 /* 127700 */ GIM_Reject,
45579 /* 127701 */ // Label 2803: @127701
45580 /* 127701 */ GIM_Try, /*On fail goto*//*Label 2844*/ GIMT_Encode4(128118),
45581 /* 127706 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
45582 /* 127709 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
45583 /* 127712 */ GIM_Try, /*On fail goto*//*Label 2845*/ GIMT_Encode4(127774), // Rule ID 1583 //
45584 /* 127717 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
45585 /* 127720 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45586 /* 127724 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45587 /* 127728 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45588 /* 127732 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45589 /* 127735 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45590 /* 127739 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45591 /* 127743 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45592 /* 127747 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45593 /* 127749 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45594 /* 127756 */ // (rotl:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src2) => (VPROTQmr:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1, VR128:{ *:[v2i64] }:$src2)
45595 /* 127756 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTQmr),
45596 /* 127759 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45597 /* 127761 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
45598 /* 127765 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
45599 /* 127767 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45600 /* 127772 */ GIR_RootConstrainSelectedInstOperands,
45601 /* 127773 */ // GIR_Coverage, 1583,
45602 /* 127773 */ GIR_EraseRootFromParent_Done,
45603 /* 127774 */ // Label 2845: @127774
45604 /* 127774 */ GIM_Try, /*On fail goto*//*Label 2846*/ GIMT_Encode4(127836), // Rule ID 1582 //
45605 /* 127779 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
45606 /* 127782 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45607 /* 127786 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45608 /* 127790 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45609 /* 127794 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45610 /* 127798 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45611 /* 127801 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45612 /* 127805 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45613 /* 127809 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45614 /* 127811 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45615 /* 127818 */ // (rotl:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROTQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
45616 /* 127818 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTQrm),
45617 /* 127821 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45618 /* 127823 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45619 /* 127825 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45620 /* 127829 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45621 /* 127834 */ GIR_RootConstrainSelectedInstOperands,
45622 /* 127835 */ // GIR_Coverage, 1582,
45623 /* 127835 */ GIR_EraseRootFromParent_Done,
45624 /* 127836 */ // Label 2846: @127836
45625 /* 127836 */ GIM_Try, /*On fail goto*//*Label 2847*/ GIMT_Encode4(127898), // Rule ID 8063 //
45626 /* 127841 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
45627 /* 127844 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45628 /* 127848 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45629 /* 127852 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45630 /* 127856 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45631 /* 127860 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45632 /* 127863 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45633 /* 127867 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45634 /* 127871 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45635 /* 127873 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45636 /* 127880 */ // (rotl:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
45637 /* 127880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVQZ128rm),
45638 /* 127883 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45639 /* 127885 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45640 /* 127887 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45641 /* 127891 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45642 /* 127896 */ GIR_RootConstrainSelectedInstOperands,
45643 /* 127897 */ // GIR_Coverage, 8063,
45644 /* 127897 */ GIR_EraseRootFromParent_Done,
45645 /* 127898 */ // Label 2847: @127898
45646 /* 127898 */ GIM_Try, /*On fail goto*//*Label 2848*/ GIMT_Encode4(127925), // Rule ID 1581 //
45647 /* 127903 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
45648 /* 127906 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45649 /* 127910 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45650 /* 127914 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45651 /* 127918 */ // (rotl:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPROTQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
45652 /* 127918 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROTQrr),
45653 /* 127923 */ GIR_RootConstrainSelectedInstOperands,
45654 /* 127924 */ // GIR_Coverage, 1581,
45655 /* 127924 */ GIR_Done,
45656 /* 127925 */ // Label 2848: @127925
45657 /* 127925 */ GIM_Try, /*On fail goto*//*Label 2849*/ GIMT_Encode4(127952), // Rule ID 8060 //
45658 /* 127930 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
45659 /* 127933 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45660 /* 127937 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45661 /* 127941 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45662 /* 127945 */ // (rotl:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPROLVQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
45663 /* 127945 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVQZ128rr),
45664 /* 127950 */ GIR_RootConstrainSelectedInstOperands,
45665 /* 127951 */ // GIR_Coverage, 8060,
45666 /* 127951 */ GIR_Done,
45667 /* 127952 */ // Label 2849: @127952
45668 /* 127952 */ GIM_Try, /*On fail goto*//*Label 2850*/ GIMT_Encode4(128117), // Rule ID 20812 //
45669 /* 127957 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
45670 /* 127960 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
45671 /* 127964 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45672 /* 127968 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45673 /* 127972 */ // (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] })
45674 /* 127972 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
45675 /* 127975 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45676 /* 127979 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45677 /* 127984 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
45678 /* 127986 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
45679 /* 127989 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45680 /* 127993 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45681 /* 127998 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
45682 /* 128001 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
45683 /* 128005 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
45684 /* 128008 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45685 /* 128013 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45686 /* 128018 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45687 /* 128023 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
45688 /* 128026 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45689 /* 128030 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45690 /* 128035 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45691 /* 128037 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
45692 /* 128040 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45693 /* 128044 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45694 /* 128049 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45695 /* 128052 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
45696 /* 128056 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
45697 /* 128059 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45698 /* 128064 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45699 /* 128069 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45700 /* 128074 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
45701 /* 128077 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPROLVQZrr),
45702 /* 128081 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45703 /* 128086 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45704 /* 128089 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
45705 /* 128092 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45706 /* 128094 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45707 /* 128097 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45708 /* 128099 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
45709 /* 128106 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
45710 /* 128111 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45711 /* 128116 */ // GIR_Coverage, 20812,
45712 /* 128116 */ GIR_EraseRootFromParent_Done,
45713 /* 128117 */ // Label 2850: @128117
45714 /* 128117 */ GIM_Reject,
45715 /* 128118 */ // Label 2844: @128118
45716 /* 128118 */ GIM_Reject,
45717 /* 128119 */ // Label 2804: @128119
45718 /* 128119 */ GIM_Try, /*On fail goto*//*Label 2851*/ GIMT_Encode4(128536),
45719 /* 128124 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
45720 /* 128127 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
45721 /* 128130 */ GIM_Try, /*On fail goto*//*Label 2852*/ GIMT_Encode4(128192), // Rule ID 1580 //
45722 /* 128135 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
45723 /* 128138 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45724 /* 128142 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45725 /* 128146 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45726 /* 128150 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45727 /* 128153 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45728 /* 128157 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45729 /* 128161 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45730 /* 128165 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45731 /* 128167 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45732 /* 128174 */ // (rotl:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src2) => (VPROTDmr:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1, VR128:{ *:[v4i32] }:$src2)
45733 /* 128174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTDmr),
45734 /* 128177 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45735 /* 128179 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
45736 /* 128183 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
45737 /* 128185 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45738 /* 128190 */ GIR_RootConstrainSelectedInstOperands,
45739 /* 128191 */ // GIR_Coverage, 1580,
45740 /* 128191 */ GIR_EraseRootFromParent_Done,
45741 /* 128192 */ // Label 2852: @128192
45742 /* 128192 */ GIM_Try, /*On fail goto*//*Label 2853*/ GIMT_Encode4(128254), // Rule ID 1579 //
45743 /* 128197 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
45744 /* 128200 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45745 /* 128204 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45746 /* 128208 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45747 /* 128212 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45748 /* 128216 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45749 /* 128219 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45750 /* 128223 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45751 /* 128227 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45752 /* 128229 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45753 /* 128236 */ // (rotl:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROTDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
45754 /* 128236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTDrm),
45755 /* 128239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45756 /* 128241 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45757 /* 128243 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45758 /* 128247 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45759 /* 128252 */ GIR_RootConstrainSelectedInstOperands,
45760 /* 128253 */ // GIR_Coverage, 1579,
45761 /* 128253 */ GIR_EraseRootFromParent_Done,
45762 /* 128254 */ // Label 2853: @128254
45763 /* 128254 */ GIM_Try, /*On fail goto*//*Label 2854*/ GIMT_Encode4(128316), // Rule ID 8036 //
45764 /* 128259 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
45765 /* 128262 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45766 /* 128266 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45767 /* 128270 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45768 /* 128274 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45769 /* 128278 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45770 /* 128281 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45771 /* 128285 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45772 /* 128289 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45773 /* 128291 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45774 /* 128298 */ // (rotl:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
45775 /* 128298 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVDZ128rm),
45776 /* 128301 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45777 /* 128303 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45778 /* 128305 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45779 /* 128309 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45780 /* 128314 */ GIR_RootConstrainSelectedInstOperands,
45781 /* 128315 */ // GIR_Coverage, 8036,
45782 /* 128315 */ GIR_EraseRootFromParent_Done,
45783 /* 128316 */ // Label 2854: @128316
45784 /* 128316 */ GIM_Try, /*On fail goto*//*Label 2855*/ GIMT_Encode4(128343), // Rule ID 1578 //
45785 /* 128321 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
45786 /* 128324 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45787 /* 128328 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45788 /* 128332 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45789 /* 128336 */ // (rotl:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPROTDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
45790 /* 128336 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROTDrr),
45791 /* 128341 */ GIR_RootConstrainSelectedInstOperands,
45792 /* 128342 */ // GIR_Coverage, 1578,
45793 /* 128342 */ GIR_Done,
45794 /* 128343 */ // Label 2855: @128343
45795 /* 128343 */ GIM_Try, /*On fail goto*//*Label 2856*/ GIMT_Encode4(128370), // Rule ID 8033 //
45796 /* 128348 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
45797 /* 128351 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45798 /* 128355 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45799 /* 128359 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45800 /* 128363 */ // (rotl:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPROLVDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
45801 /* 128363 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVDZ128rr),
45802 /* 128368 */ GIR_RootConstrainSelectedInstOperands,
45803 /* 128369 */ // GIR_Coverage, 8033,
45804 /* 128369 */ GIR_Done,
45805 /* 128370 */ // Label 2856: @128370
45806 /* 128370 */ GIM_Try, /*On fail goto*//*Label 2857*/ GIMT_Encode4(128535), // Rule ID 20820 //
45807 /* 128375 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
45808 /* 128378 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
45809 /* 128382 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45810 /* 128386 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45811 /* 128390 */ // (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] })
45812 /* 128390 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
45813 /* 128393 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45814 /* 128397 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45815 /* 128402 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
45816 /* 128404 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
45817 /* 128407 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45818 /* 128411 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45819 /* 128416 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
45820 /* 128419 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
45821 /* 128423 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
45822 /* 128426 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45823 /* 128431 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45824 /* 128436 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45825 /* 128441 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
45826 /* 128444 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45827 /* 128448 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45828 /* 128453 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45829 /* 128455 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
45830 /* 128458 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45831 /* 128462 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45832 /* 128467 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45833 /* 128470 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
45834 /* 128474 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
45835 /* 128477 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45836 /* 128482 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45837 /* 128487 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45838 /* 128492 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
45839 /* 128495 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPROLVDZrr),
45840 /* 128499 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45841 /* 128504 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45842 /* 128507 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
45843 /* 128510 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45844 /* 128512 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45845 /* 128515 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45846 /* 128517 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
45847 /* 128524 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
45848 /* 128529 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45849 /* 128534 */ // GIR_Coverage, 20820,
45850 /* 128534 */ GIR_EraseRootFromParent_Done,
45851 /* 128535 */ // Label 2857: @128535
45852 /* 128535 */ GIM_Reject,
45853 /* 128536 */ // Label 2851: @128536
45854 /* 128536 */ GIM_Reject,
45855 /* 128537 */ // Label 2805: @128537
45856 /* 128537 */ GIM_Try, /*On fail goto*//*Label 2858*/ GIMT_Encode4(128787),
45857 /* 128542 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
45858 /* 128545 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
45859 /* 128548 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45860 /* 128552 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45861 /* 128556 */ GIM_Try, /*On fail goto*//*Label 2859*/ GIMT_Encode4(128610), // Rule ID 8054 //
45862 /* 128561 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
45863 /* 128564 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45864 /* 128568 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45865 /* 128572 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45866 /* 128575 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45867 /* 128579 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45868 /* 128583 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45869 /* 128585 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45870 /* 128592 */ // (rotl:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
45871 /* 128592 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVQZ256rm),
45872 /* 128595 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45873 /* 128597 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45874 /* 128599 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45875 /* 128603 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45876 /* 128608 */ GIR_RootConstrainSelectedInstOperands,
45877 /* 128609 */ // GIR_Coverage, 8054,
45878 /* 128609 */ GIR_EraseRootFromParent_Done,
45879 /* 128610 */ // Label 2859: @128610
45880 /* 128610 */ GIM_Try, /*On fail goto*//*Label 2860*/ GIMT_Encode4(128629), // Rule ID 8051 //
45881 /* 128615 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
45882 /* 128618 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45883 /* 128622 */ // (rotl:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPROLVQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
45884 /* 128622 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVQZ256rr),
45885 /* 128627 */ GIR_RootConstrainSelectedInstOperands,
45886 /* 128628 */ // GIR_Coverage, 8051,
45887 /* 128628 */ GIR_Done,
45888 /* 128629 */ // Label 2860: @128629
45889 /* 128629 */ GIM_Try, /*On fail goto*//*Label 2861*/ GIMT_Encode4(128786), // Rule ID 20808 //
45890 /* 128634 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
45891 /* 128637 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45892 /* 128641 */ // (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] })
45893 /* 128641 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
45894 /* 128644 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45895 /* 128648 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45896 /* 128653 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
45897 /* 128655 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
45898 /* 128658 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45899 /* 128662 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45900 /* 128667 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
45901 /* 128670 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
45902 /* 128674 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
45903 /* 128677 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45904 /* 128682 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45905 /* 128687 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45906 /* 128692 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
45907 /* 128695 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45908 /* 128699 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45909 /* 128704 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45910 /* 128706 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
45911 /* 128709 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45912 /* 128713 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45913 /* 128718 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45914 /* 128721 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
45915 /* 128725 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
45916 /* 128728 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45917 /* 128733 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45918 /* 128738 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45919 /* 128743 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
45920 /* 128746 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPROLVQZrr),
45921 /* 128750 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45922 /* 128755 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45923 /* 128758 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
45924 /* 128761 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45925 /* 128763 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45926 /* 128766 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45927 /* 128768 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
45928 /* 128775 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
45929 /* 128780 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45930 /* 128785 */ // GIR_Coverage, 20808,
45931 /* 128785 */ GIR_EraseRootFromParent_Done,
45932 /* 128786 */ // Label 2861: @128786
45933 /* 128786 */ GIM_Reject,
45934 /* 128787 */ // Label 2858: @128787
45935 /* 128787 */ GIM_Reject,
45936 /* 128788 */ // Label 2806: @128788
45937 /* 128788 */ GIM_Try, /*On fail goto*//*Label 2862*/ GIMT_Encode4(129203),
45938 /* 128793 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
45939 /* 128796 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
45940 /* 128799 */ GIM_Try, /*On fail goto*//*Label 2863*/ GIMT_Encode4(128861), // Rule ID 1586 //
45941 /* 128804 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
45942 /* 128807 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45943 /* 128811 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45944 /* 128815 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45945 /* 128819 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45946 /* 128822 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45947 /* 128826 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45948 /* 128830 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45949 /* 128834 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45950 /* 128836 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45951 /* 128843 */ // (rotl:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src2) => (VPROTWmr:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1, VR128:{ *:[v8i16] }:$src2)
45952 /* 128843 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTWmr),
45953 /* 128846 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45954 /* 128848 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
45955 /* 128852 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
45956 /* 128854 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45957 /* 128859 */ GIR_RootConstrainSelectedInstOperands,
45958 /* 128860 */ // GIR_Coverage, 1586,
45959 /* 128860 */ GIR_EraseRootFromParent_Done,
45960 /* 128861 */ // Label 2863: @128861
45961 /* 128861 */ GIM_Try, /*On fail goto*//*Label 2864*/ GIMT_Encode4(128923), // Rule ID 1585 //
45962 /* 128866 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
45963 /* 128869 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45964 /* 128873 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45965 /* 128877 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45966 /* 128881 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45967 /* 128885 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45968 /* 128888 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45969 /* 128892 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45970 /* 128896 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45971 /* 128898 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45972 /* 128905 */ // (rotl:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROTWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
45973 /* 128905 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTWrm),
45974 /* 128908 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45975 /* 128910 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45976 /* 128912 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45977 /* 128916 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45978 /* 128921 */ GIR_RootConstrainSelectedInstOperands,
45979 /* 128922 */ // GIR_Coverage, 1585,
45980 /* 128922 */ GIR_EraseRootFromParent_Done,
45981 /* 128923 */ // Label 2864: @128923
45982 /* 128923 */ GIM_Try, /*On fail goto*//*Label 2865*/ GIMT_Encode4(128950), // Rule ID 1584 //
45983 /* 128928 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
45984 /* 128931 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45985 /* 128935 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45986 /* 128939 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45987 /* 128943 */ // (rotl:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPROTWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
45988 /* 128943 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROTWrr),
45989 /* 128948 */ GIR_RootConstrainSelectedInstOperands,
45990 /* 128949 */ // GIR_Coverage, 1584,
45991 /* 128949 */ GIR_Done,
45992 /* 128950 */ // Label 2865: @128950
45993 /* 128950 */ GIM_Try, /*On fail goto*//*Label 2866*/ GIMT_Encode4(128983), // Rule ID 22180 //
45994 /* 128955 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
45995 /* 128958 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45996 /* 128962 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45997 /* 128966 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45998 /* 128970 */ // (rotl:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPSHLDVWZ128r:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
45999 /* 128970 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZ128r),
46000 /* 128973 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46001 /* 128975 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46002 /* 128977 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46003 /* 128979 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
46004 /* 128981 */ GIR_RootConstrainSelectedInstOperands,
46005 /* 128982 */ // GIR_Coverage, 22180,
46006 /* 128982 */ GIR_EraseRootFromParent_Done,
46007 /* 128983 */ // Label 2866: @128983
46008 /* 128983 */ GIM_Try, /*On fail goto*//*Label 2867*/ GIMT_Encode4(129202), // Rule ID 22188 //
46009 /* 128988 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
46010 /* 128991 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
46011 /* 128995 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46012 /* 128999 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46013 /* 129003 */ // (rotl:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (EXTRACT_SUBREG:{ *:[v8i16] } (VPSHLDVWZr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR128X:{ *:[v8i16] }:$src1, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR128X:{ *:[v8i16] }:$src1, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR128X:{ *:[v8i16] }:$src2, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
46014 /* 129003 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
46015 /* 129006 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46016 /* 129010 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46017 /* 129015 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
46018 /* 129017 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
46019 /* 129020 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46020 /* 129024 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46021 /* 129029 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
46022 /* 129032 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/2, // src2
46023 /* 129036 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
46024 /* 129039 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46025 /* 129044 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46026 /* 129049 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46027 /* 129054 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
46028 /* 129057 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46029 /* 129061 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46030 /* 129066 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
46031 /* 129068 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
46032 /* 129071 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46033 /* 129075 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46034 /* 129080 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
46035 /* 129083 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
46036 /* 129087 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
46037 /* 129090 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46038 /* 129095 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46039 /* 129100 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46040 /* 129105 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
46041 /* 129108 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46042 /* 129112 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46043 /* 129117 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46044 /* 129119 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
46045 /* 129122 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46046 /* 129126 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46047 /* 129131 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46048 /* 129134 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
46049 /* 129138 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
46050 /* 129141 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46051 /* 129146 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46052 /* 129151 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46053 /* 129156 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
46054 /* 129159 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZr),
46055 /* 129163 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46056 /* 129168 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46057 /* 129171 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
46058 /* 129174 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
46059 /* 129177 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46060 /* 129179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46061 /* 129182 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46062 /* 129184 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
46063 /* 129191 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
46064 /* 129196 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46065 /* 129201 */ // GIR_Coverage, 22188,
46066 /* 129201 */ GIR_EraseRootFromParent_Done,
46067 /* 129202 */ // Label 2867: @129202
46068 /* 129202 */ GIM_Reject,
46069 /* 129203 */ // Label 2862: @129203
46070 /* 129203 */ GIM_Reject,
46071 /* 129204 */ // Label 2807: @129204
46072 /* 129204 */ GIM_Try, /*On fail goto*//*Label 2868*/ GIMT_Encode4(129454),
46073 /* 129209 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
46074 /* 129212 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
46075 /* 129215 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46076 /* 129219 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46077 /* 129223 */ GIM_Try, /*On fail goto*//*Label 2869*/ GIMT_Encode4(129277), // Rule ID 8027 //
46078 /* 129228 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
46079 /* 129231 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46080 /* 129235 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46081 /* 129239 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46082 /* 129242 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46083 /* 129246 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46084 /* 129250 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46085 /* 129252 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46086 /* 129259 */ // (rotl:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
46087 /* 129259 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVDZ256rm),
46088 /* 129262 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46089 /* 129264 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46090 /* 129266 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
46091 /* 129270 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46092 /* 129275 */ GIR_RootConstrainSelectedInstOperands,
46093 /* 129276 */ // GIR_Coverage, 8027,
46094 /* 129276 */ GIR_EraseRootFromParent_Done,
46095 /* 129277 */ // Label 2869: @129277
46096 /* 129277 */ GIM_Try, /*On fail goto*//*Label 2870*/ GIMT_Encode4(129296), // Rule ID 8024 //
46097 /* 129282 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
46098 /* 129285 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46099 /* 129289 */ // (rotl:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPROLVDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
46100 /* 129289 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVDZ256rr),
46101 /* 129294 */ GIR_RootConstrainSelectedInstOperands,
46102 /* 129295 */ // GIR_Coverage, 8024,
46103 /* 129295 */ GIR_Done,
46104 /* 129296 */ // Label 2870: @129296
46105 /* 129296 */ GIM_Try, /*On fail goto*//*Label 2871*/ GIMT_Encode4(129453), // Rule ID 20816 //
46106 /* 129301 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
46107 /* 129304 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46108 /* 129308 */ // (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] })
46109 /* 129308 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
46110 /* 129311 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46111 /* 129315 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46112 /* 129320 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
46113 /* 129322 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
46114 /* 129325 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46115 /* 129329 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46116 /* 129334 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
46117 /* 129337 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
46118 /* 129341 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
46119 /* 129344 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46120 /* 129349 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46121 /* 129354 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46122 /* 129359 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
46123 /* 129362 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46124 /* 129366 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46125 /* 129371 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46126 /* 129373 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
46127 /* 129376 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46128 /* 129380 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46129 /* 129385 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46130 /* 129388 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
46131 /* 129392 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
46132 /* 129395 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46133 /* 129400 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46134 /* 129405 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46135 /* 129410 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
46136 /* 129413 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPROLVDZrr),
46137 /* 129417 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46138 /* 129422 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46139 /* 129425 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
46140 /* 129428 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46141 /* 129430 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46142 /* 129433 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46143 /* 129435 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
46144 /* 129442 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
46145 /* 129447 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46146 /* 129452 */ // GIR_Coverage, 20816,
46147 /* 129452 */ GIR_EraseRootFromParent_Done,
46148 /* 129453 */ // Label 2871: @129453
46149 /* 129453 */ GIM_Reject,
46150 /* 129454 */ // Label 2868: @129454
46151 /* 129454 */ GIM_Reject,
46152 /* 129455 */ // Label 2808: @129455
46153 /* 129455 */ GIM_Try, /*On fail goto*//*Label 2872*/ GIMT_Encode4(129548),
46154 /* 129460 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
46155 /* 129463 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
46156 /* 129466 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46157 /* 129470 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46158 /* 129474 */ GIM_Try, /*On fail goto*//*Label 2873*/ GIMT_Encode4(129528), // Rule ID 8045 //
46159 /* 129479 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
46160 /* 129482 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46161 /* 129486 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46162 /* 129490 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46163 /* 129493 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46164 /* 129497 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46165 /* 129501 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46166 /* 129503 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46167 /* 129510 */ // (rotl:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
46168 /* 129510 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVQZrm),
46169 /* 129513 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46170 /* 129515 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46171 /* 129517 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
46172 /* 129521 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46173 /* 129526 */ GIR_RootConstrainSelectedInstOperands,
46174 /* 129527 */ // GIR_Coverage, 8045,
46175 /* 129527 */ GIR_EraseRootFromParent_Done,
46176 /* 129528 */ // Label 2873: @129528
46177 /* 129528 */ GIM_Try, /*On fail goto*//*Label 2874*/ GIMT_Encode4(129547), // Rule ID 8042 //
46178 /* 129533 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
46179 /* 129536 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46180 /* 129540 */ // (rotl:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPROLVQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
46181 /* 129540 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVQZrr),
46182 /* 129545 */ GIR_RootConstrainSelectedInstOperands,
46183 /* 129546 */ // GIR_Coverage, 8042,
46184 /* 129546 */ GIR_Done,
46185 /* 129547 */ // Label 2874: @129547
46186 /* 129547 */ GIM_Reject,
46187 /* 129548 */ // Label 2872: @129548
46188 /* 129548 */ GIM_Reject,
46189 /* 129549 */ // Label 2809: @129549
46190 /* 129549 */ GIM_Try, /*On fail goto*//*Label 2875*/ GIMT_Encode4(129704),
46191 /* 129554 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
46192 /* 129557 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
46193 /* 129560 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46194 /* 129564 */ GIM_Try, /*On fail goto*//*Label 2876*/ GIMT_Encode4(129622), // Rule ID 1577 //
46195 /* 129569 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
46196 /* 129572 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
46197 /* 129576 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46198 /* 129580 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46199 /* 129583 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46200 /* 129587 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46201 /* 129591 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46202 /* 129595 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46203 /* 129597 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46204 /* 129604 */ // (rotl:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src2) => (VPROTBmr:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1, VR128:{ *:[v16i8] }:$src2)
46205 /* 129604 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTBmr),
46206 /* 129607 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46207 /* 129609 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
46208 /* 129613 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
46209 /* 129615 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46210 /* 129620 */ GIR_RootConstrainSelectedInstOperands,
46211 /* 129621 */ // GIR_Coverage, 1577,
46212 /* 129621 */ GIR_EraseRootFromParent_Done,
46213 /* 129622 */ // Label 2876: @129622
46214 /* 129622 */ GIM_Try, /*On fail goto*//*Label 2877*/ GIMT_Encode4(129680), // Rule ID 1576 //
46215 /* 129627 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
46216 /* 129630 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46217 /* 129634 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46218 /* 129638 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46219 /* 129642 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46220 /* 129645 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46221 /* 129649 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46222 /* 129653 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46223 /* 129655 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46224 /* 129662 */ // (rotl:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROTBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
46225 /* 129662 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTBrm),
46226 /* 129665 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46227 /* 129667 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46228 /* 129669 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
46229 /* 129673 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46230 /* 129678 */ GIR_RootConstrainSelectedInstOperands,
46231 /* 129679 */ // GIR_Coverage, 1576,
46232 /* 129679 */ GIR_EraseRootFromParent_Done,
46233 /* 129680 */ // Label 2877: @129680
46234 /* 129680 */ GIM_Try, /*On fail goto*//*Label 2878*/ GIMT_Encode4(129703), // Rule ID 1575 //
46235 /* 129685 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
46236 /* 129688 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46237 /* 129692 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46238 /* 129696 */ // (rotl:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPROTBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
46239 /* 129696 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROTBrr),
46240 /* 129701 */ GIR_RootConstrainSelectedInstOperands,
46241 /* 129702 */ // GIR_Coverage, 1575,
46242 /* 129702 */ GIR_Done,
46243 /* 129703 */ // Label 2878: @129703
46244 /* 129703 */ GIM_Reject,
46245 /* 129704 */ // Label 2875: @129704
46246 /* 129704 */ GIM_Reject,
46247 /* 129705 */ // Label 2810: @129705
46248 /* 129705 */ GIM_Try, /*On fail goto*//*Label 2879*/ GIMT_Encode4(129957),
46249 /* 129710 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
46250 /* 129713 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
46251 /* 129716 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46252 /* 129720 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46253 /* 129724 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46254 /* 129728 */ GIM_Try, /*On fail goto*//*Label 2880*/ GIMT_Encode4(129749), // Rule ID 22176 //
46255 /* 129733 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
46256 /* 129736 */ // (rotl:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPSHLDVWZ256r:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
46257 /* 129736 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZ256r),
46258 /* 129739 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46259 /* 129741 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46260 /* 129743 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46261 /* 129745 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
46262 /* 129747 */ GIR_RootConstrainSelectedInstOperands,
46263 /* 129748 */ // GIR_Coverage, 22176,
46264 /* 129748 */ GIR_EraseRootFromParent_Done,
46265 /* 129749 */ // Label 2880: @129749
46266 /* 129749 */ GIM_Try, /*On fail goto*//*Label 2881*/ GIMT_Encode4(129956), // Rule ID 22184 //
46267 /* 129754 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
46268 /* 129757 */ // (rotl:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (EXTRACT_SUBREG:{ *:[v16i16] } (VPSHLDVWZr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR256X:{ *:[v16i16] }:$src1, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR256X:{ *:[v16i16] }:$src1, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR256X:{ *:[v16i16] }:$src2, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
46269 /* 129757 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
46270 /* 129760 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46271 /* 129764 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46272 /* 129769 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
46273 /* 129771 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
46274 /* 129774 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46275 /* 129778 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46276 /* 129783 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
46277 /* 129786 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/2, // src2
46278 /* 129790 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
46279 /* 129793 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46280 /* 129798 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46281 /* 129803 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46282 /* 129808 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
46283 /* 129811 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46284 /* 129815 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46285 /* 129820 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
46286 /* 129822 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
46287 /* 129825 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46288 /* 129829 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46289 /* 129834 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
46290 /* 129837 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
46291 /* 129841 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
46292 /* 129844 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46293 /* 129849 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46294 /* 129854 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46295 /* 129859 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
46296 /* 129862 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46297 /* 129866 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46298 /* 129871 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46299 /* 129873 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
46300 /* 129876 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46301 /* 129880 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46302 /* 129885 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46303 /* 129888 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
46304 /* 129892 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
46305 /* 129895 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46306 /* 129900 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46307 /* 129905 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46308 /* 129910 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
46309 /* 129913 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZr),
46310 /* 129917 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46311 /* 129922 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46312 /* 129925 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
46313 /* 129928 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
46314 /* 129931 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46315 /* 129933 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46316 /* 129936 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46317 /* 129938 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
46318 /* 129945 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
46319 /* 129950 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46320 /* 129955 */ // GIR_Coverage, 22184,
46321 /* 129955 */ GIR_EraseRootFromParent_Done,
46322 /* 129956 */ // Label 2881: @129956
46323 /* 129956 */ GIM_Reject,
46324 /* 129957 */ // Label 2879: @129957
46325 /* 129957 */ GIM_Reject,
46326 /* 129958 */ // Label 2811: @129958
46327 /* 129958 */ GIM_Try, /*On fail goto*//*Label 2882*/ GIMT_Encode4(130051),
46328 /* 129963 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
46329 /* 129966 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
46330 /* 129969 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46331 /* 129973 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46332 /* 129977 */ GIM_Try, /*On fail goto*//*Label 2883*/ GIMT_Encode4(130031), // Rule ID 8018 //
46333 /* 129982 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
46334 /* 129985 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46335 /* 129989 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46336 /* 129993 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46337 /* 129996 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46338 /* 130000 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46339 /* 130004 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46340 /* 130006 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46341 /* 130013 */ // (rotl:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
46342 /* 130013 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVDZrm),
46343 /* 130016 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46344 /* 130018 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46345 /* 130020 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
46346 /* 130024 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46347 /* 130029 */ GIR_RootConstrainSelectedInstOperands,
46348 /* 130030 */ // GIR_Coverage, 8018,
46349 /* 130030 */ GIR_EraseRootFromParent_Done,
46350 /* 130031 */ // Label 2883: @130031
46351 /* 130031 */ GIM_Try, /*On fail goto*//*Label 2884*/ GIMT_Encode4(130050), // Rule ID 8015 //
46352 /* 130036 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
46353 /* 130039 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46354 /* 130043 */ // (rotl:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPROLVDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
46355 /* 130043 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVDZrr),
46356 /* 130048 */ GIR_RootConstrainSelectedInstOperands,
46357 /* 130049 */ // GIR_Coverage, 8015,
46358 /* 130049 */ GIR_Done,
46359 /* 130050 */ // Label 2884: @130050
46360 /* 130050 */ GIM_Reject,
46361 /* 130051 */ // Label 2882: @130051
46362 /* 130051 */ GIM_Reject,
46363 /* 130052 */ // Label 2812: @130052
46364 /* 130052 */ GIM_Try, /*On fail goto*//*Label 2885*/ GIMT_Encode4(130091), // Rule ID 22172 //
46365 /* 130057 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
46366 /* 130060 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
46367 /* 130063 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
46368 /* 130066 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46369 /* 130070 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46370 /* 130074 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46371 /* 130078 */ // (rotl:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPSHLDVWZr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
46372 /* 130078 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZr),
46373 /* 130081 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46374 /* 130083 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46375 /* 130085 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46376 /* 130087 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
46377 /* 130089 */ GIR_RootConstrainSelectedInstOperands,
46378 /* 130090 */ // GIR_Coverage, 22172,
46379 /* 130090 */ GIR_EraseRootFromParent_Done,
46380 /* 130091 */ // Label 2885: @130091
46381 /* 130091 */ GIM_Reject,
46382 /* 130092 */ // Label 2813: @130092
46383 /* 130092 */ GIM_Reject,
46384 /* 130093 */ // Label 34: @130093
46385 /* 130093 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(7), GIMT_Encode2(24), /*)*//*default:*//*Label 2892*/ GIMT_Encode4(131749),
46386 /* 130104 */ /*GILLT_v2s1*//*Label 2886*/ GIMT_Encode4(130172), GIMT_Encode4(0),
46387 /* 130112 */ /*GILLT_v4s1*//*Label 2887*/ GIMT_Encode4(130333), GIMT_Encode4(0), GIMT_Encode4(0),
46388 /* 130124 */ /*GILLT_v8s1*//*Label 2888*/ GIMT_Encode4(130680), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
46389 /* 130140 */ /*GILLT_v16s1*//*Label 2889*/ GIMT_Encode4(131077), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
46390 /* 130156 */ /*GILLT_v32s1*//*Label 2890*/ GIMT_Encode4(131474), GIMT_Encode4(0), GIMT_Encode4(0),
46391 /* 130168 */ /*GILLT_v64s1*//*Label 2891*/ GIMT_Encode4(131698),
46392 /* 130172 */ // Label 2886: @130172
46393 /* 130172 */ GIM_Try, /*On fail goto*//*Label 2893*/ GIMT_Encode4(130332),
46394 /* 130177 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
46395 /* 130180 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
46396 /* 130183 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
46397 /* 130187 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46398 /* 130192 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46399 /* 130196 */ GIM_Try, /*On fail goto*//*Label 2894*/ GIMT_Encode4(130227), // Rule ID 12610 //
46400 /* 130201 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
46401 /* 130204 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46402 /* 130208 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46403 /* 130214 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46404 /* 130216 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46405 /* 130218 */ // (setcc:{ *:[v2i1] } immAllZerosV:{ *:[v2i64] }, VR128X:{ *:[v2i64] }:$src, SETGT:{ *:[Other] }) => (VPMOVQ2MZ128kr:{ *:[v2i1] } VR128X:{ *:[v2i64] }:$src)
46406 /* 130218 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZ128kr),
46407 /* 130221 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46408 /* 130223 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46409 /* 130225 */ GIR_RootConstrainSelectedInstOperands,
46410 /* 130226 */ // GIR_Coverage, 12610,
46411 /* 130226 */ GIR_EraseRootFromParent_Done,
46412 /* 130227 */ // Label 2894: @130227
46413 /* 130227 */ GIM_Try, /*On fail goto*//*Label 2895*/ GIMT_Encode4(130331), // Rule ID 21669 //
46414 /* 130232 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoVLX),
46415 /* 130235 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46416 /* 130239 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46417 /* 130245 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46418 /* 130247 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46419 /* 130249 */ // (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] })
46420 /* 130249 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
46421 /* 130252 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46422 /* 130256 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46423 /* 130261 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46424 /* 130263 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
46425 /* 130266 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46426 /* 130270 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46427 /* 130275 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46428 /* 130278 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
46429 /* 130282 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
46430 /* 130285 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46431 /* 130290 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46432 /* 130295 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46433 /* 130300 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
46434 /* 130303 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZkr),
46435 /* 130307 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46436 /* 130312 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46437 /* 130315 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46438 /* 130317 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46439 /* 130320 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46440 /* 130322 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
46441 /* 130325 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
46442 /* 130330 */ // GIR_Coverage, 21669,
46443 /* 130330 */ GIR_EraseRootFromParent_Done,
46444 /* 130331 */ // Label 2895: @130331
46445 /* 130331 */ GIM_Reject,
46446 /* 130332 */ // Label 2893: @130332
46447 /* 130332 */ GIM_Reject,
46448 /* 130333 */ // Label 2887: @130333
46449 /* 130333 */ GIM_Try, /*On fail goto*//*Label 2896*/ GIMT_Encode4(130383), // Rule ID 12607 //
46450 /* 130338 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
46451 /* 130341 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
46452 /* 130344 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
46453 /* 130347 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
46454 /* 130351 */ // MIs[0] Operand 1
46455 /* 130351 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46456 /* 130356 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46457 /* 130360 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46458 /* 130366 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46459 /* 130368 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46460 /* 130372 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46461 /* 130374 */ // (setcc:{ *:[v4i1] } immAllZerosV:{ *:[v4i32] }, VR128X:{ *:[v4i32] }:$src, SETGT:{ *:[Other] }) => (VPMOVD2MZ128kr:{ *:[v4i1] } VR128X:{ *:[v4i32] }:$src)
46462 /* 130374 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZ128kr),
46463 /* 130377 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46464 /* 130379 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46465 /* 130381 */ GIR_RootConstrainSelectedInstOperands,
46466 /* 130382 */ // GIR_Coverage, 12607,
46467 /* 130382 */ GIR_EraseRootFromParent_Done,
46468 /* 130383 */ // Label 2896: @130383
46469 /* 130383 */ GIM_Try, /*On fail goto*//*Label 2897*/ GIMT_Encode4(130433), // Rule ID 12609 //
46470 /* 130388 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
46471 /* 130391 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
46472 /* 130394 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
46473 /* 130397 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
46474 /* 130401 */ // MIs[0] Operand 1
46475 /* 130401 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46476 /* 130406 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46477 /* 130410 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46478 /* 130416 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46479 /* 130418 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46480 /* 130422 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46481 /* 130424 */ // (setcc:{ *:[v4i1] } immAllZerosV:{ *:[v4i64] }, VR256X:{ *:[v4i64] }:$src, SETGT:{ *:[Other] }) => (VPMOVQ2MZ256kr:{ *:[v4i1] } VR256X:{ *:[v4i64] }:$src)
46482 /* 130424 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZ256kr),
46483 /* 130427 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46484 /* 130429 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46485 /* 130431 */ GIR_RootConstrainSelectedInstOperands,
46486 /* 130432 */ // GIR_Coverage, 12609,
46487 /* 130432 */ GIR_EraseRootFromParent_Done,
46488 /* 130433 */ // Label 2897: @130433
46489 /* 130433 */ GIM_Try, /*On fail goto*//*Label 2898*/ GIMT_Encode4(130556), // Rule ID 21667 //
46490 /* 130438 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoVLX),
46491 /* 130441 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
46492 /* 130444 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
46493 /* 130447 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
46494 /* 130451 */ // MIs[0] Operand 1
46495 /* 130451 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46496 /* 130456 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46497 /* 130460 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46498 /* 130466 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46499 /* 130468 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46500 /* 130472 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46501 /* 130474 */ // (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] })
46502 /* 130474 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
46503 /* 130477 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46504 /* 130481 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46505 /* 130486 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46506 /* 130488 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
46507 /* 130491 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46508 /* 130495 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46509 /* 130500 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46510 /* 130503 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
46511 /* 130507 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
46512 /* 130510 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46513 /* 130515 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46514 /* 130520 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46515 /* 130525 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
46516 /* 130528 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZkr),
46517 /* 130532 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46518 /* 130537 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46519 /* 130540 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46520 /* 130542 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46521 /* 130545 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46522 /* 130547 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
46523 /* 130550 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
46524 /* 130555 */ // GIR_Coverage, 21667,
46525 /* 130555 */ GIR_EraseRootFromParent_Done,
46526 /* 130556 */ // Label 2898: @130556
46527 /* 130556 */ GIM_Try, /*On fail goto*//*Label 2899*/ GIMT_Encode4(130679), // Rule ID 21668 //
46528 /* 130561 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoVLX),
46529 /* 130564 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
46530 /* 130567 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
46531 /* 130570 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
46532 /* 130574 */ // MIs[0] Operand 1
46533 /* 130574 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46534 /* 130579 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46535 /* 130583 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46536 /* 130589 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46537 /* 130591 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46538 /* 130595 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46539 /* 130597 */ // (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] })
46540 /* 130597 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
46541 /* 130600 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46542 /* 130604 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46543 /* 130609 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46544 /* 130611 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
46545 /* 130614 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46546 /* 130618 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46547 /* 130623 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46548 /* 130626 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
46549 /* 130630 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
46550 /* 130633 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46551 /* 130638 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46552 /* 130643 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46553 /* 130648 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
46554 /* 130651 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZkr),
46555 /* 130655 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46556 /* 130660 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46557 /* 130663 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46558 /* 130665 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46559 /* 130668 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46560 /* 130670 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
46561 /* 130673 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
46562 /* 130678 */ // GIR_Coverage, 21668,
46563 /* 130678 */ GIR_EraseRootFromParent_Done,
46564 /* 130679 */ // Label 2899: @130679
46565 /* 130679 */ GIM_Reject,
46566 /* 130680 */ // Label 2888: @130680
46567 /* 130680 */ GIM_Try, /*On fail goto*//*Label 2900*/ GIMT_Encode4(130730), // Rule ID 12604 //
46568 /* 130685 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
46569 /* 130688 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
46570 /* 130691 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
46571 /* 130694 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
46572 /* 130698 */ // MIs[0] Operand 1
46573 /* 130698 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46574 /* 130703 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46575 /* 130707 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46576 /* 130713 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46577 /* 130715 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46578 /* 130719 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46579 /* 130721 */ // (setcc:{ *:[v8i1] } immAllZerosV:{ *:[v8i16] }, VR128X:{ *:[v8i16] }:$src, SETGT:{ *:[Other] }) => (VPMOVW2MZ128kr:{ *:[v8i1] } VR128X:{ *:[v8i16] }:$src)
46580 /* 130721 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZ128kr),
46581 /* 130724 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46582 /* 130726 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46583 /* 130728 */ GIR_RootConstrainSelectedInstOperands,
46584 /* 130729 */ // GIR_Coverage, 12604,
46585 /* 130729 */ GIR_EraseRootFromParent_Done,
46586 /* 130730 */ // Label 2900: @130730
46587 /* 130730 */ GIM_Try, /*On fail goto*//*Label 2901*/ GIMT_Encode4(130780), // Rule ID 12606 //
46588 /* 130735 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
46589 /* 130738 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
46590 /* 130741 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
46591 /* 130744 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
46592 /* 130748 */ // MIs[0] Operand 1
46593 /* 130748 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46594 /* 130753 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46595 /* 130757 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46596 /* 130763 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46597 /* 130765 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46598 /* 130769 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46599 /* 130771 */ // (setcc:{ *:[v8i1] } immAllZerosV:{ *:[v8i32] }, VR256X:{ *:[v8i32] }:$src, SETGT:{ *:[Other] }) => (VPMOVD2MZ256kr:{ *:[v8i1] } VR256X:{ *:[v8i32] }:$src)
46600 /* 130771 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZ256kr),
46601 /* 130774 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46602 /* 130776 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46603 /* 130778 */ GIR_RootConstrainSelectedInstOperands,
46604 /* 130779 */ // GIR_Coverage, 12606,
46605 /* 130779 */ GIR_EraseRootFromParent_Done,
46606 /* 130780 */ // Label 2901: @130780
46607 /* 130780 */ GIM_Try, /*On fail goto*//*Label 2902*/ GIMT_Encode4(130830), // Rule ID 12608 //
46608 /* 130785 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
46609 /* 130788 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
46610 /* 130791 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
46611 /* 130794 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
46612 /* 130798 */ // MIs[0] Operand 1
46613 /* 130798 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46614 /* 130803 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46615 /* 130807 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46616 /* 130813 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46617 /* 130815 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46618 /* 130819 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46619 /* 130821 */ // (setcc:{ *:[v8i1] } immAllZerosV:{ *:[v8i64] }, VR512:{ *:[v8i64] }:$src, SETGT:{ *:[Other] }) => (VPMOVQ2MZkr:{ *:[v8i1] } VR512:{ *:[v8i64] }:$src)
46620 /* 130821 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZkr),
46621 /* 130824 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46622 /* 130826 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46623 /* 130828 */ GIR_RootConstrainSelectedInstOperands,
46624 /* 130829 */ // GIR_Coverage, 12608,
46625 /* 130829 */ GIR_EraseRootFromParent_Done,
46626 /* 130830 */ // Label 2902: @130830
46627 /* 130830 */ GIM_Try, /*On fail goto*//*Label 2903*/ GIMT_Encode4(130953), // Rule ID 21665 //
46628 /* 130835 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
46629 /* 130838 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
46630 /* 130841 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
46631 /* 130844 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
46632 /* 130848 */ // MIs[0] Operand 1
46633 /* 130848 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46634 /* 130853 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46635 /* 130857 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46636 /* 130863 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46637 /* 130865 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46638 /* 130869 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46639 /* 130871 */ // (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] })
46640 /* 130871 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
46641 /* 130874 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46642 /* 130878 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46643 /* 130883 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46644 /* 130885 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
46645 /* 130888 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46646 /* 130892 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46647 /* 130897 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46648 /* 130900 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
46649 /* 130904 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
46650 /* 130907 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46651 /* 130912 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46652 /* 130917 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46653 /* 130922 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s1,
46654 /* 130925 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZkr),
46655 /* 130929 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46656 /* 130934 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46657 /* 130937 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46658 /* 130939 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46659 /* 130942 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46660 /* 130944 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
46661 /* 130947 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
46662 /* 130952 */ // GIR_Coverage, 21665,
46663 /* 130952 */ GIR_EraseRootFromParent_Done,
46664 /* 130953 */ // Label 2903: @130953
46665 /* 130953 */ GIM_Try, /*On fail goto*//*Label 2904*/ GIMT_Encode4(131076), // Rule ID 21666 //
46666 /* 130958 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoVLX),
46667 /* 130961 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
46668 /* 130964 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
46669 /* 130967 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
46670 /* 130971 */ // MIs[0] Operand 1
46671 /* 130971 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46672 /* 130976 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46673 /* 130980 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46674 /* 130986 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46675 /* 130988 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46676 /* 130992 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46677 /* 130994 */ // (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] })
46678 /* 130994 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
46679 /* 130997 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46680 /* 131001 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46681 /* 131006 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46682 /* 131008 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
46683 /* 131011 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46684 /* 131015 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46685 /* 131020 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46686 /* 131023 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
46687 /* 131027 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
46688 /* 131030 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46689 /* 131035 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46690 /* 131040 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46691 /* 131045 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
46692 /* 131048 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZkr),
46693 /* 131052 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46694 /* 131057 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46695 /* 131060 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46696 /* 131062 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46697 /* 131065 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46698 /* 131067 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
46699 /* 131070 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
46700 /* 131075 */ // GIR_Coverage, 21666,
46701 /* 131075 */ GIR_EraseRootFromParent_Done,
46702 /* 131076 */ // Label 2904: @131076
46703 /* 131076 */ GIM_Reject,
46704 /* 131077 */ // Label 2889: @131077
46705 /* 131077 */ GIM_Try, /*On fail goto*//*Label 2905*/ GIMT_Encode4(131127), // Rule ID 12601 //
46706 /* 131082 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
46707 /* 131085 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
46708 /* 131088 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
46709 /* 131091 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
46710 /* 131095 */ // MIs[0] Operand 1
46711 /* 131095 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46712 /* 131100 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46713 /* 131104 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46714 /* 131110 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46715 /* 131112 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46716 /* 131116 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46717 /* 131118 */ // (setcc:{ *:[v16i1] } immAllZerosV:{ *:[v16i8] }, VR128X:{ *:[v16i8] }:$src, SETGT:{ *:[Other] }) => (VPMOVB2MZ128kr:{ *:[v16i1] } VR128X:{ *:[v16i8] }:$src)
46718 /* 131118 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZ128kr),
46719 /* 131121 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46720 /* 131123 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46721 /* 131125 */ GIR_RootConstrainSelectedInstOperands,
46722 /* 131126 */ // GIR_Coverage, 12601,
46723 /* 131126 */ GIR_EraseRootFromParent_Done,
46724 /* 131127 */ // Label 2905: @131127
46725 /* 131127 */ GIM_Try, /*On fail goto*//*Label 2906*/ GIMT_Encode4(131177), // Rule ID 12603 //
46726 /* 131132 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
46727 /* 131135 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
46728 /* 131138 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
46729 /* 131141 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
46730 /* 131145 */ // MIs[0] Operand 1
46731 /* 131145 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46732 /* 131150 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46733 /* 131154 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46734 /* 131160 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46735 /* 131162 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46736 /* 131166 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46737 /* 131168 */ // (setcc:{ *:[v16i1] } immAllZerosV:{ *:[v16i16] }, VR256X:{ *:[v16i16] }:$src, SETGT:{ *:[Other] }) => (VPMOVW2MZ256kr:{ *:[v16i1] } VR256X:{ *:[v16i16] }:$src)
46738 /* 131168 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZ256kr),
46739 /* 131171 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46740 /* 131173 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46741 /* 131175 */ GIR_RootConstrainSelectedInstOperands,
46742 /* 131176 */ // GIR_Coverage, 12603,
46743 /* 131176 */ GIR_EraseRootFromParent_Done,
46744 /* 131177 */ // Label 2906: @131177
46745 /* 131177 */ GIM_Try, /*On fail goto*//*Label 2907*/ GIMT_Encode4(131227), // Rule ID 12605 //
46746 /* 131182 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
46747 /* 131185 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
46748 /* 131188 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
46749 /* 131191 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
46750 /* 131195 */ // MIs[0] Operand 1
46751 /* 131195 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46752 /* 131200 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46753 /* 131204 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46754 /* 131210 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46755 /* 131212 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46756 /* 131216 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46757 /* 131218 */ // (setcc:{ *:[v16i1] } immAllZerosV:{ *:[v16i32] }, VR512:{ *:[v16i32] }:$src, SETGT:{ *:[Other] }) => (VPMOVD2MZkr:{ *:[v16i1] } VR512:{ *:[v16i32] }:$src)
46758 /* 131218 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZkr),
46759 /* 131221 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46760 /* 131223 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46761 /* 131225 */ GIR_RootConstrainSelectedInstOperands,
46762 /* 131226 */ // GIR_Coverage, 12605,
46763 /* 131226 */ GIR_EraseRootFromParent_Done,
46764 /* 131227 */ // Label 2907: @131227
46765 /* 131227 */ GIM_Try, /*On fail goto*//*Label 2908*/ GIMT_Encode4(131350), // Rule ID 21663 //
46766 /* 131232 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
46767 /* 131235 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
46768 /* 131238 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
46769 /* 131241 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
46770 /* 131245 */ // MIs[0] Operand 1
46771 /* 131245 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46772 /* 131250 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46773 /* 131254 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46774 /* 131260 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46775 /* 131262 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46776 /* 131266 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46777 /* 131268 */ // (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] })
46778 /* 131268 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
46779 /* 131271 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46780 /* 131275 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46781 /* 131280 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46782 /* 131282 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
46783 /* 131285 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46784 /* 131289 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46785 /* 131294 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46786 /* 131297 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
46787 /* 131301 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
46788 /* 131304 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46789 /* 131309 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46790 /* 131314 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46791 /* 131319 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s1,
46792 /* 131322 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZkr),
46793 /* 131326 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46794 /* 131331 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46795 /* 131334 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46796 /* 131336 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46797 /* 131339 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46798 /* 131341 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
46799 /* 131344 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
46800 /* 131349 */ // GIR_Coverage, 21663,
46801 /* 131349 */ GIR_EraseRootFromParent_Done,
46802 /* 131350 */ // Label 2908: @131350
46803 /* 131350 */ GIM_Try, /*On fail goto*//*Label 2909*/ GIMT_Encode4(131473), // Rule ID 21664 //
46804 /* 131355 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
46805 /* 131358 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
46806 /* 131361 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
46807 /* 131364 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
46808 /* 131368 */ // MIs[0] Operand 1
46809 /* 131368 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46810 /* 131373 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46811 /* 131377 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46812 /* 131383 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46813 /* 131385 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46814 /* 131389 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46815 /* 131391 */ // (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] })
46816 /* 131391 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
46817 /* 131394 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46818 /* 131398 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46819 /* 131403 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46820 /* 131405 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
46821 /* 131408 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46822 /* 131412 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46823 /* 131417 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46824 /* 131420 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
46825 /* 131424 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
46826 /* 131427 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46827 /* 131432 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46828 /* 131437 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46829 /* 131442 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s1,
46830 /* 131445 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZkr),
46831 /* 131449 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46832 /* 131454 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46833 /* 131457 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46834 /* 131459 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46835 /* 131462 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46836 /* 131464 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
46837 /* 131467 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
46838 /* 131472 */ // GIR_Coverage, 21664,
46839 /* 131472 */ GIR_EraseRootFromParent_Done,
46840 /* 131473 */ // Label 2909: @131473
46841 /* 131473 */ GIM_Reject,
46842 /* 131474 */ // Label 2890: @131474
46843 /* 131474 */ GIM_Try, /*On fail goto*//*Label 2910*/ GIMT_Encode4(131524), // Rule ID 12600 //
46844 /* 131479 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
46845 /* 131482 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
46846 /* 131485 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
46847 /* 131488 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
46848 /* 131492 */ // MIs[0] Operand 1
46849 /* 131492 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46850 /* 131497 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46851 /* 131501 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46852 /* 131507 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46853 /* 131509 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46854 /* 131513 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46855 /* 131515 */ // (setcc:{ *:[v32i1] } immAllZerosV:{ *:[v32i8] }, VR256X:{ *:[v32i8] }:$src, SETGT:{ *:[Other] }) => (VPMOVB2MZ256kr:{ *:[v32i1] } VR256X:{ *:[v32i8] }:$src)
46856 /* 131515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZ256kr),
46857 /* 131518 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46858 /* 131520 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46859 /* 131522 */ GIR_RootConstrainSelectedInstOperands,
46860 /* 131523 */ // GIR_Coverage, 12600,
46861 /* 131523 */ GIR_EraseRootFromParent_Done,
46862 /* 131524 */ // Label 2910: @131524
46863 /* 131524 */ GIM_Try, /*On fail goto*//*Label 2911*/ GIMT_Encode4(131574), // Rule ID 12602 //
46864 /* 131529 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
46865 /* 131532 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
46866 /* 131535 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
46867 /* 131538 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
46868 /* 131542 */ // MIs[0] Operand 1
46869 /* 131542 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46870 /* 131547 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46871 /* 131551 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46872 /* 131557 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46873 /* 131559 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46874 /* 131563 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46875 /* 131565 */ // (setcc:{ *:[v32i1] } immAllZerosV:{ *:[v32i16] }, VR512:{ *:[v32i16] }:$src, SETGT:{ *:[Other] }) => (VPMOVW2MZkr:{ *:[v32i1] } VR512:{ *:[v32i16] }:$src)
46876 /* 131565 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZkr),
46877 /* 131568 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46878 /* 131570 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46879 /* 131572 */ GIR_RootConstrainSelectedInstOperands,
46880 /* 131573 */ // GIR_Coverage, 12602,
46881 /* 131573 */ GIR_EraseRootFromParent_Done,
46882 /* 131574 */ // Label 2911: @131574
46883 /* 131574 */ GIM_Try, /*On fail goto*//*Label 2912*/ GIMT_Encode4(131697), // Rule ID 21662 //
46884 /* 131579 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
46885 /* 131582 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
46886 /* 131585 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
46887 /* 131588 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
46888 /* 131592 */ // MIs[0] Operand 1
46889 /* 131592 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46890 /* 131597 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46891 /* 131601 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46892 /* 131607 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46893 /* 131609 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46894 /* 131613 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46895 /* 131615 */ // (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] })
46896 /* 131615 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
46897 /* 131618 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46898 /* 131622 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46899 /* 131627 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46900 /* 131629 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
46901 /* 131632 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46902 /* 131636 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46903 /* 131641 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46904 /* 131644 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
46905 /* 131648 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
46906 /* 131651 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46907 /* 131656 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46908 /* 131661 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46909 /* 131666 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s1,
46910 /* 131669 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZkr),
46911 /* 131673 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46912 /* 131678 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46913 /* 131681 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46914 /* 131683 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46915 /* 131686 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46916 /* 131688 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
46917 /* 131691 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK32RegClassID),
46918 /* 131696 */ // GIR_Coverage, 21662,
46919 /* 131696 */ GIR_EraseRootFromParent_Done,
46920 /* 131697 */ // Label 2912: @131697
46921 /* 131697 */ GIM_Reject,
46922 /* 131698 */ // Label 2891: @131698
46923 /* 131698 */ GIM_Try, /*On fail goto*//*Label 2913*/ GIMT_Encode4(131748), // Rule ID 12599 //
46924 /* 131703 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
46925 /* 131706 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
46926 /* 131709 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v64s8,
46927 /* 131712 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
46928 /* 131716 */ // MIs[0] Operand 1
46929 /* 131716 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46930 /* 131721 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46931 /* 131725 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46932 /* 131731 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46933 /* 131733 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46934 /* 131737 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46935 /* 131739 */ // (setcc:{ *:[v64i1] } immAllZerosV:{ *:[v64i8] }, VR512:{ *:[v64i8] }:$src, SETGT:{ *:[Other] }) => (VPMOVB2MZkr:{ *:[v64i1] } VR512:{ *:[v64i8] }:$src)
46936 /* 131739 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZkr),
46937 /* 131742 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46938 /* 131744 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46939 /* 131746 */ GIR_RootConstrainSelectedInstOperands,
46940 /* 131747 */ // GIR_Coverage, 12599,
46941 /* 131747 */ GIR_EraseRootFromParent_Done,
46942 /* 131748 */ // Label 2913: @131748
46943 /* 131748 */ GIM_Reject,
46944 /* 131749 */ // Label 2892: @131749
46945 /* 131749 */ GIM_Reject,
46946 /* 131750 */ // Label 35: @131750
46947 /* 131750 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(8), GIMT_Encode2(25), /*)*//*default:*//*Label 2926*/ GIMT_Encode4(139415),
46948 /* 131761 */ /*GILLT_v2s64*//*Label 2914*/ GIMT_Encode4(131829), GIMT_Encode4(0),
46949 /* 131769 */ /*GILLT_v4s32*//*Label 2915*/ GIMT_Encode4(132693),
46950 /* 131773 */ /*GILLT_v4s64*//*Label 2916*/ GIMT_Encode4(133557), GIMT_Encode4(0),
46951 /* 131781 */ /*GILLT_v8s16*//*Label 2917*/ GIMT_Encode4(134337),
46952 /* 131785 */ /*GILLT_v8s32*//*Label 2918*/ GIMT_Encode4(135495),
46953 /* 131789 */ /*GILLT_v8s64*//*Label 2919*/ GIMT_Encode4(136275), GIMT_Encode4(0),
46954 /* 131797 */ /*GILLT_v16s8*//*Label 2920*/ GIMT_Encode4(136656),
46955 /* 131801 */ /*GILLT_v16s16*//*Label 2921*/ GIMT_Encode4(137096),
46956 /* 131805 */ /*GILLT_v16s32*//*Label 2922*/ GIMT_Encode4(138166), GIMT_Encode4(0),
46957 /* 131813 */ /*GILLT_v32s8*//*Label 2923*/ GIMT_Encode4(138507),
46958 /* 131817 */ /*GILLT_v32s16*//*Label 2924*/ GIMT_Encode4(138911), GIMT_Encode4(0),
46959 /* 131825 */ /*GILLT_v64s8*//*Label 2925*/ GIMT_Encode4(139329),
46960 /* 131829 */ // Label 2914: @131829
46961 /* 131829 */ GIM_Try, /*On fail goto*//*Label 2927*/ GIMT_Encode4(132692),
46962 /* 131834 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
46963 /* 131837 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
46964 /* 131840 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
46965 /* 131843 */ GIM_Try, /*On fail goto*//*Label 2928*/ GIMT_Encode4(131888), // Rule ID 4493 //
46966 /* 131848 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
46967 /* 131851 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46968 /* 131855 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
46969 /* 131859 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46970 /* 131863 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
46971 /* 131867 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46972 /* 131873 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46973 /* 131875 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46974 /* 131877 */ // (vselect:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src, immAllZerosV:{ *:[v2f64] }) => (VMOVAPDZ128rrkz:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src)
46975 /* 131877 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128rrkz),
46976 /* 131880 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46977 /* 131882 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46978 /* 131884 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
46979 /* 131886 */ GIR_RootConstrainSelectedInstOperands,
46980 /* 131887 */ // GIR_Coverage, 4493,
46981 /* 131887 */ GIR_EraseRootFromParent_Done,
46982 /* 131888 */ // Label 2928: @131888
46983 /* 131888 */ GIM_Try, /*On fail goto*//*Label 2929*/ GIMT_Encode4(131933), // Rule ID 4547 //
46984 /* 131893 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
46985 /* 131896 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46986 /* 131900 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
46987 /* 131904 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46988 /* 131908 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
46989 /* 131912 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46990 /* 131918 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46991 /* 131920 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46992 /* 131922 */ // (vselect:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src, immAllZerosV:{ *:[v2i64] }) => (VMOVDQA64Z128rrkz:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src)
46993 /* 131922 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rrkz),
46994 /* 131925 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46995 /* 131927 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46996 /* 131929 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
46997 /* 131931 */ GIR_RootConstrainSelectedInstOperands,
46998 /* 131932 */ // GIR_Coverage, 4547,
46999 /* 131932 */ GIR_EraseRootFromParent_Done,
47000 /* 131933 */ // Label 2929: @131933
47001 /* 131933 */ GIM_Try, /*On fail goto*//*Label 2930*/ GIMT_Encode4(132082), // Rule ID 19786 //
47002 /* 131938 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
47003 /* 131941 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47004 /* 131945 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
47005 /* 131949 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47006 /* 131953 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47007 /* 131957 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47008 /* 131963 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47009 /* 131965 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47010 /* 131967 */ // (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] })
47011 /* 131967 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
47012 /* 131970 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47013 /* 131974 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47014 /* 131979 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
47015 /* 131981 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
47016 /* 131984 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47017 /* 131988 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47018 /* 131993 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
47019 /* 131996 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
47020 /* 132000 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
47021 /* 132003 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47022 /* 132008 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47023 /* 132013 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47024 /* 132018 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s1,
47025 /* 132021 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47026 /* 132025 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47027 /* 132030 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
47028 /* 132034 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
47029 /* 132039 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
47030 /* 132042 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrkz),
47031 /* 132046 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47032 /* 132051 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47033 /* 132054 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
47034 /* 132057 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47035 /* 132059 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47036 /* 132062 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47037 /* 132064 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47038 /* 132071 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47039 /* 132076 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47040 /* 132081 */ // GIR_Coverage, 19786,
47041 /* 132081 */ GIR_EraseRootFromParent_Done,
47042 /* 132082 */ // Label 2930: @132082
47043 /* 132082 */ GIM_Try, /*On fail goto*//*Label 2931*/ GIMT_Encode4(132231), // Rule ID 19788 //
47044 /* 132087 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
47045 /* 132090 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47046 /* 132094 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
47047 /* 132098 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47048 /* 132102 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47049 /* 132106 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47050 /* 132112 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47051 /* 132114 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47052 /* 132116 */ // (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] })
47053 /* 132116 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
47054 /* 132119 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47055 /* 132123 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47056 /* 132128 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
47057 /* 132130 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
47058 /* 132133 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47059 /* 132137 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47060 /* 132142 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
47061 /* 132145 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
47062 /* 132149 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
47063 /* 132152 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47064 /* 132157 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47065 /* 132162 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47066 /* 132167 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s1,
47067 /* 132170 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47068 /* 132174 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47069 /* 132179 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
47070 /* 132183 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
47071 /* 132188 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
47072 /* 132191 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
47073 /* 132195 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47074 /* 132200 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47075 /* 132203 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
47076 /* 132206 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47077 /* 132208 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47078 /* 132211 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47079 /* 132213 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47080 /* 132220 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47081 /* 132225 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47082 /* 132230 */ // GIR_Coverage, 19788,
47083 /* 132230 */ GIR_EraseRootFromParent_Done,
47084 /* 132231 */ // Label 2931: @132231
47085 /* 132231 */ GIM_Try, /*On fail goto*//*Label 2932*/ GIMT_Encode4(132268), // Rule ID 4495 //
47086 /* 132236 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
47087 /* 132239 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47088 /* 132243 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
47089 /* 132247 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47090 /* 132251 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47091 /* 132255 */ // (vselect:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src0) => (VMOVAPDZ128rrk:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src0, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src1)
47092 /* 132255 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128rrk),
47093 /* 132258 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47094 /* 132260 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47095 /* 132262 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47096 /* 132264 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47097 /* 132266 */ GIR_RootConstrainSelectedInstOperands,
47098 /* 132267 */ // GIR_Coverage, 4495,
47099 /* 132267 */ GIR_EraseRootFromParent_Done,
47100 /* 132268 */ // Label 2932: @132268
47101 /* 132268 */ GIM_Try, /*On fail goto*//*Label 2933*/ GIMT_Encode4(132305), // Rule ID 4549 //
47102 /* 132273 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
47103 /* 132276 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47104 /* 132280 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
47105 /* 132284 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47106 /* 132288 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47107 /* 132292 */ // (vselect:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src0) => (VMOVDQA64Z128rrk:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src0, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src1)
47108 /* 132292 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rrk),
47109 /* 132295 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47110 /* 132297 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47111 /* 132299 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47112 /* 132301 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47113 /* 132303 */ GIR_RootConstrainSelectedInstOperands,
47114 /* 132304 */ // GIR_Coverage, 4549,
47115 /* 132304 */ GIR_EraseRootFromParent_Done,
47116 /* 132305 */ // Label 2933: @132305
47117 /* 132305 */ GIM_Try, /*On fail goto*//*Label 2934*/ GIMT_Encode4(132498), // Rule ID 19785 //
47118 /* 132310 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
47119 /* 132313 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47120 /* 132317 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
47121 /* 132321 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47122 /* 132325 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47123 /* 132329 */ // (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] })
47124 /* 132329 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
47125 /* 132332 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47126 /* 132336 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47127 /* 132341 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
47128 /* 132343 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
47129 /* 132346 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47130 /* 132350 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47131 /* 132355 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
47132 /* 132358 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
47133 /* 132362 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
47134 /* 132365 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47135 /* 132370 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47136 /* 132375 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47137 /* 132380 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s1,
47138 /* 132383 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47139 /* 132387 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47140 /* 132392 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
47141 /* 132396 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
47142 /* 132401 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
47143 /* 132404 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47144 /* 132408 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47145 /* 132413 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47146 /* 132415 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
47147 /* 132418 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47148 /* 132422 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47149 /* 132427 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47150 /* 132430 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
47151 /* 132434 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
47152 /* 132437 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47153 /* 132442 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47154 /* 132447 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47155 /* 132452 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
47156 /* 132455 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrk),
47157 /* 132459 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47158 /* 132464 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47159 /* 132467 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47160 /* 132470 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
47161 /* 132473 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47162 /* 132475 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47163 /* 132478 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47164 /* 132480 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47165 /* 132487 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47166 /* 132492 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47167 /* 132497 */ // GIR_Coverage, 19785,
47168 /* 132497 */ GIR_EraseRootFromParent_Done,
47169 /* 132498 */ // Label 2934: @132498
47170 /* 132498 */ GIM_Try, /*On fail goto*//*Label 2935*/ GIMT_Encode4(132691), // Rule ID 19787 //
47171 /* 132503 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
47172 /* 132506 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47173 /* 132510 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
47174 /* 132514 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47175 /* 132518 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47176 /* 132522 */ // (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] })
47177 /* 132522 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
47178 /* 132525 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47179 /* 132529 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47180 /* 132534 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
47181 /* 132536 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
47182 /* 132539 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47183 /* 132543 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47184 /* 132548 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
47185 /* 132551 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
47186 /* 132555 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
47187 /* 132558 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47188 /* 132563 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47189 /* 132568 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47190 /* 132573 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s1,
47191 /* 132576 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47192 /* 132580 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47193 /* 132585 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
47194 /* 132589 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
47195 /* 132594 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
47196 /* 132597 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47197 /* 132601 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47198 /* 132606 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47199 /* 132608 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
47200 /* 132611 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47201 /* 132615 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47202 /* 132620 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47203 /* 132623 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
47204 /* 132627 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
47205 /* 132630 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47206 /* 132635 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47207 /* 132640 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47208 /* 132645 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
47209 /* 132648 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrk),
47210 /* 132652 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47211 /* 132657 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47212 /* 132660 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47213 /* 132663 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
47214 /* 132666 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47215 /* 132668 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47216 /* 132671 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47217 /* 132673 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47218 /* 132680 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47219 /* 132685 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47220 /* 132690 */ // GIR_Coverage, 19787,
47221 /* 132690 */ GIR_EraseRootFromParent_Done,
47222 /* 132691 */ // Label 2935: @132691
47223 /* 132691 */ GIM_Reject,
47224 /* 132692 */ // Label 2927: @132692
47225 /* 132692 */ GIM_Reject,
47226 /* 132693 */ // Label 2915: @132693
47227 /* 132693 */ GIM_Try, /*On fail goto*//*Label 2936*/ GIMT_Encode4(133556),
47228 /* 132698 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
47229 /* 132701 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
47230 /* 132704 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
47231 /* 132707 */ GIM_Try, /*On fail goto*//*Label 2937*/ GIMT_Encode4(132752), // Rule ID 4475 //
47232 /* 132712 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
47233 /* 132715 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47234 /* 132719 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
47235 /* 132723 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47236 /* 132727 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47237 /* 132731 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47238 /* 132737 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47239 /* 132739 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47240 /* 132741 */ // (vselect:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src, immAllZerosV:{ *:[v4f32] }) => (VMOVAPSZ128rrkz:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src)
47241 /* 132741 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128rrkz),
47242 /* 132744 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47243 /* 132746 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47244 /* 132748 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47245 /* 132750 */ GIR_RootConstrainSelectedInstOperands,
47246 /* 132751 */ // GIR_Coverage, 4475,
47247 /* 132751 */ GIR_EraseRootFromParent_Done,
47248 /* 132752 */ // Label 2937: @132752
47249 /* 132752 */ GIM_Try, /*On fail goto*//*Label 2938*/ GIMT_Encode4(132797), // Rule ID 4533 //
47250 /* 132757 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
47251 /* 132760 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47252 /* 132764 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
47253 /* 132768 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47254 /* 132772 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47255 /* 132776 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47256 /* 132782 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47257 /* 132784 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47258 /* 132786 */ // (vselect:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src, immAllZerosV:{ *:[v4i32] }) => (VMOVDQA32Z128rrkz:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src)
47259 /* 132786 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Z128rrkz),
47260 /* 132789 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47261 /* 132791 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47262 /* 132793 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47263 /* 132795 */ GIR_RootConstrainSelectedInstOperands,
47264 /* 132796 */ // GIR_Coverage, 4533,
47265 /* 132796 */ GIR_EraseRootFromParent_Done,
47266 /* 132797 */ // Label 2938: @132797
47267 /* 132797 */ GIM_Try, /*On fail goto*//*Label 2939*/ GIMT_Encode4(132946), // Rule ID 19778 //
47268 /* 132802 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
47269 /* 132805 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47270 /* 132809 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
47271 /* 132813 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47272 /* 132817 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47273 /* 132821 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47274 /* 132827 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47275 /* 132829 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47276 /* 132831 */ // (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] })
47277 /* 132831 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
47278 /* 132834 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47279 /* 132838 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47280 /* 132843 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
47281 /* 132845 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
47282 /* 132848 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47283 /* 132852 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47284 /* 132857 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
47285 /* 132860 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
47286 /* 132864 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
47287 /* 132867 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47288 /* 132872 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47289 /* 132877 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47290 /* 132882 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
47291 /* 132885 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47292 /* 132889 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47293 /* 132894 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
47294 /* 132898 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
47295 /* 132903 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
47296 /* 132906 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrkz),
47297 /* 132910 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47298 /* 132915 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47299 /* 132918 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
47300 /* 132921 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47301 /* 132923 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47302 /* 132926 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47303 /* 132928 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47304 /* 132935 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47305 /* 132940 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47306 /* 132945 */ // GIR_Coverage, 19778,
47307 /* 132945 */ GIR_EraseRootFromParent_Done,
47308 /* 132946 */ // Label 2939: @132946
47309 /* 132946 */ GIM_Try, /*On fail goto*//*Label 2940*/ GIMT_Encode4(133095), // Rule ID 19780 //
47310 /* 132951 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
47311 /* 132954 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47312 /* 132958 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
47313 /* 132962 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47314 /* 132966 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47315 /* 132970 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47316 /* 132976 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47317 /* 132978 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47318 /* 132980 */ // (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] })
47319 /* 132980 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
47320 /* 132983 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47321 /* 132987 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47322 /* 132992 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
47323 /* 132994 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
47324 /* 132997 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47325 /* 133001 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47326 /* 133006 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
47327 /* 133009 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
47328 /* 133013 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
47329 /* 133016 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47330 /* 133021 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47331 /* 133026 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47332 /* 133031 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
47333 /* 133034 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47334 /* 133038 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47335 /* 133043 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
47336 /* 133047 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
47337 /* 133052 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
47338 /* 133055 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
47339 /* 133059 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47340 /* 133064 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47341 /* 133067 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
47342 /* 133070 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47343 /* 133072 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47344 /* 133075 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47345 /* 133077 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47346 /* 133084 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47347 /* 133089 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47348 /* 133094 */ // GIR_Coverage, 19780,
47349 /* 133094 */ GIR_EraseRootFromParent_Done,
47350 /* 133095 */ // Label 2940: @133095
47351 /* 133095 */ GIM_Try, /*On fail goto*//*Label 2941*/ GIMT_Encode4(133132), // Rule ID 4477 //
47352 /* 133100 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
47353 /* 133103 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47354 /* 133107 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
47355 /* 133111 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47356 /* 133115 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47357 /* 133119 */ // (vselect:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src0) => (VMOVAPSZ128rrk:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src0, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src1)
47358 /* 133119 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128rrk),
47359 /* 133122 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47360 /* 133124 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47361 /* 133126 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47362 /* 133128 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47363 /* 133130 */ GIR_RootConstrainSelectedInstOperands,
47364 /* 133131 */ // GIR_Coverage, 4477,
47365 /* 133131 */ GIR_EraseRootFromParent_Done,
47366 /* 133132 */ // Label 2941: @133132
47367 /* 133132 */ GIM_Try, /*On fail goto*//*Label 2942*/ GIMT_Encode4(133169), // Rule ID 4534 //
47368 /* 133137 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
47369 /* 133140 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47370 /* 133144 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
47371 /* 133148 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47372 /* 133152 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47373 /* 133156 */ // (vselect:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src0) => (VMOVDQA32Z128rrk:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src0, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src1)
47374 /* 133156 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Z128rrk),
47375 /* 133159 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47376 /* 133161 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47377 /* 133163 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47378 /* 133165 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47379 /* 133167 */ GIR_RootConstrainSelectedInstOperands,
47380 /* 133168 */ // GIR_Coverage, 4534,
47381 /* 133168 */ GIR_EraseRootFromParent_Done,
47382 /* 133169 */ // Label 2942: @133169
47383 /* 133169 */ GIM_Try, /*On fail goto*//*Label 2943*/ GIMT_Encode4(133362), // Rule ID 19777 //
47384 /* 133174 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
47385 /* 133177 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47386 /* 133181 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
47387 /* 133185 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47388 /* 133189 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47389 /* 133193 */ // (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] })
47390 /* 133193 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
47391 /* 133196 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47392 /* 133200 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47393 /* 133205 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
47394 /* 133207 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
47395 /* 133210 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47396 /* 133214 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47397 /* 133219 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
47398 /* 133222 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
47399 /* 133226 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
47400 /* 133229 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47401 /* 133234 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47402 /* 133239 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47403 /* 133244 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s1,
47404 /* 133247 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47405 /* 133251 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47406 /* 133256 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
47407 /* 133260 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
47408 /* 133265 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
47409 /* 133268 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47410 /* 133272 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47411 /* 133277 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47412 /* 133279 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
47413 /* 133282 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47414 /* 133286 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47415 /* 133291 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47416 /* 133294 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
47417 /* 133298 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
47418 /* 133301 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47419 /* 133306 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47420 /* 133311 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47421 /* 133316 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
47422 /* 133319 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrk),
47423 /* 133323 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47424 /* 133328 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47425 /* 133331 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47426 /* 133334 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
47427 /* 133337 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47428 /* 133339 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47429 /* 133342 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47430 /* 133344 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47431 /* 133351 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47432 /* 133356 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47433 /* 133361 */ // GIR_Coverage, 19777,
47434 /* 133361 */ GIR_EraseRootFromParent_Done,
47435 /* 133362 */ // Label 2943: @133362
47436 /* 133362 */ GIM_Try, /*On fail goto*//*Label 2944*/ GIMT_Encode4(133555), // Rule ID 19779 //
47437 /* 133367 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
47438 /* 133370 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47439 /* 133374 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
47440 /* 133378 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47441 /* 133382 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47442 /* 133386 */ // (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] })
47443 /* 133386 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
47444 /* 133389 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47445 /* 133393 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47446 /* 133398 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
47447 /* 133400 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
47448 /* 133403 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47449 /* 133407 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47450 /* 133412 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
47451 /* 133415 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
47452 /* 133419 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
47453 /* 133422 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47454 /* 133427 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47455 /* 133432 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47456 /* 133437 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s1,
47457 /* 133440 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47458 /* 133444 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47459 /* 133449 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
47460 /* 133453 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
47461 /* 133458 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
47462 /* 133461 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47463 /* 133465 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47464 /* 133470 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47465 /* 133472 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
47466 /* 133475 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47467 /* 133479 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47468 /* 133484 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47469 /* 133487 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
47470 /* 133491 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
47471 /* 133494 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47472 /* 133499 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47473 /* 133504 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47474 /* 133509 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
47475 /* 133512 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrk),
47476 /* 133516 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47477 /* 133521 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47478 /* 133524 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47479 /* 133527 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
47480 /* 133530 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47481 /* 133532 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47482 /* 133535 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47483 /* 133537 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47484 /* 133544 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47485 /* 133549 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47486 /* 133554 */ // GIR_Coverage, 19779,
47487 /* 133554 */ GIR_EraseRootFromParent_Done,
47488 /* 133555 */ // Label 2944: @133555
47489 /* 133555 */ GIM_Reject,
47490 /* 133556 */ // Label 2936: @133556
47491 /* 133556 */ GIM_Reject,
47492 /* 133557 */ // Label 2916: @133557
47493 /* 133557 */ GIM_Try, /*On fail goto*//*Label 2945*/ GIMT_Encode4(134336),
47494 /* 133562 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
47495 /* 133565 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
47496 /* 133568 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
47497 /* 133571 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47498 /* 133575 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
47499 /* 133579 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47500 /* 133583 */ GIM_Try, /*On fail goto*//*Label 2946*/ GIMT_Encode4(133616), // Rule ID 4488 //
47501 /* 133588 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
47502 /* 133591 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47503 /* 133595 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47504 /* 133601 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47505 /* 133603 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47506 /* 133605 */ // (vselect:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src, immAllZerosV:{ *:[v4f64] }) => (VMOVAPDZ256rrkz:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src)
47507 /* 133605 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ256rrkz),
47508 /* 133608 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47509 /* 133610 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47510 /* 133612 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47511 /* 133614 */ GIR_RootConstrainSelectedInstOperands,
47512 /* 133615 */ // GIR_Coverage, 4488,
47513 /* 133615 */ GIR_EraseRootFromParent_Done,
47514 /* 133616 */ // Label 2946: @133616
47515 /* 133616 */ GIM_Try, /*On fail goto*//*Label 2947*/ GIMT_Encode4(133649), // Rule ID 4542 //
47516 /* 133621 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
47517 /* 133624 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47518 /* 133628 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47519 /* 133634 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47520 /* 133636 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47521 /* 133638 */ // (vselect:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src, immAllZerosV:{ *:[v4i64] }) => (VMOVDQA64Z256rrkz:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src)
47522 /* 133638 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rrkz),
47523 /* 133641 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47524 /* 133643 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47525 /* 133645 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47526 /* 133647 */ GIR_RootConstrainSelectedInstOperands,
47527 /* 133648 */ // GIR_Coverage, 4542,
47528 /* 133648 */ GIR_EraseRootFromParent_Done,
47529 /* 133649 */ // Label 2947: @133649
47530 /* 133649 */ GIM_Try, /*On fail goto*//*Label 2948*/ GIMT_Encode4(133786), // Rule ID 19790 //
47531 /* 133654 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
47532 /* 133657 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47533 /* 133661 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47534 /* 133667 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47535 /* 133669 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47536 /* 133671 */ // (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] })
47537 /* 133671 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
47538 /* 133674 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47539 /* 133678 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47540 /* 133683 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
47541 /* 133685 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
47542 /* 133688 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47543 /* 133692 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47544 /* 133697 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
47545 /* 133700 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
47546 /* 133704 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
47547 /* 133707 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47548 /* 133712 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47549 /* 133717 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47550 /* 133722 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s1,
47551 /* 133725 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47552 /* 133729 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47553 /* 133734 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
47554 /* 133738 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
47555 /* 133743 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
47556 /* 133746 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrkz),
47557 /* 133750 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47558 /* 133755 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47559 /* 133758 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
47560 /* 133761 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47561 /* 133763 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47562 /* 133766 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47563 /* 133768 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
47564 /* 133775 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
47565 /* 133780 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47566 /* 133785 */ // GIR_Coverage, 19790,
47567 /* 133785 */ GIR_EraseRootFromParent_Done,
47568 /* 133786 */ // Label 2948: @133786
47569 /* 133786 */ GIM_Try, /*On fail goto*//*Label 2949*/ GIMT_Encode4(133923), // Rule ID 19792 //
47570 /* 133791 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
47571 /* 133794 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47572 /* 133798 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47573 /* 133804 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47574 /* 133806 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47575 /* 133808 */ // (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] })
47576 /* 133808 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
47577 /* 133811 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47578 /* 133815 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47579 /* 133820 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
47580 /* 133822 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
47581 /* 133825 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47582 /* 133829 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47583 /* 133834 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
47584 /* 133837 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
47585 /* 133841 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
47586 /* 133844 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47587 /* 133849 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47588 /* 133854 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47589 /* 133859 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s1,
47590 /* 133862 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47591 /* 133866 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47592 /* 133871 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
47593 /* 133875 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
47594 /* 133880 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
47595 /* 133883 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
47596 /* 133887 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47597 /* 133892 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47598 /* 133895 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
47599 /* 133898 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47600 /* 133900 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47601 /* 133903 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47602 /* 133905 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
47603 /* 133912 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
47604 /* 133917 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47605 /* 133922 */ // GIR_Coverage, 19792,
47606 /* 133922 */ GIR_EraseRootFromParent_Done,
47607 /* 133923 */ // Label 2949: @133923
47608 /* 133923 */ GIM_Try, /*On fail goto*//*Label 2950*/ GIMT_Encode4(133948), // Rule ID 4490 //
47609 /* 133928 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
47610 /* 133931 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47611 /* 133935 */ // (vselect:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src0) => (VMOVAPDZ256rrk:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src0, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src1)
47612 /* 133935 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ256rrk),
47613 /* 133938 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47614 /* 133940 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47615 /* 133942 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47616 /* 133944 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47617 /* 133946 */ GIR_RootConstrainSelectedInstOperands,
47618 /* 133947 */ // GIR_Coverage, 4490,
47619 /* 133947 */ GIR_EraseRootFromParent_Done,
47620 /* 133948 */ // Label 2950: @133948
47621 /* 133948 */ GIM_Try, /*On fail goto*//*Label 2951*/ GIMT_Encode4(133973), // Rule ID 4544 //
47622 /* 133953 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
47623 /* 133956 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47624 /* 133960 */ // (vselect:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src0) => (VMOVDQA64Z256rrk:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src0, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src1)
47625 /* 133960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rrk),
47626 /* 133963 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47627 /* 133965 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47628 /* 133967 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47629 /* 133969 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47630 /* 133971 */ GIR_RootConstrainSelectedInstOperands,
47631 /* 133972 */ // GIR_Coverage, 4544,
47632 /* 133972 */ GIR_EraseRootFromParent_Done,
47633 /* 133973 */ // Label 2951: @133973
47634 /* 133973 */ GIM_Try, /*On fail goto*//*Label 2952*/ GIMT_Encode4(134154), // Rule ID 19789 //
47635 /* 133978 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
47636 /* 133981 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47637 /* 133985 */ // (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] })
47638 /* 133985 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
47639 /* 133988 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47640 /* 133992 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47641 /* 133997 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
47642 /* 133999 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
47643 /* 134002 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47644 /* 134006 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47645 /* 134011 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
47646 /* 134014 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
47647 /* 134018 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
47648 /* 134021 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47649 /* 134026 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47650 /* 134031 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47651 /* 134036 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s1,
47652 /* 134039 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47653 /* 134043 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47654 /* 134048 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
47655 /* 134052 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
47656 /* 134057 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
47657 /* 134060 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47658 /* 134064 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47659 /* 134069 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47660 /* 134071 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
47661 /* 134074 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47662 /* 134078 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47663 /* 134083 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47664 /* 134086 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
47665 /* 134090 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
47666 /* 134093 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47667 /* 134098 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47668 /* 134103 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47669 /* 134108 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
47670 /* 134111 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrk),
47671 /* 134115 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47672 /* 134120 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47673 /* 134123 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47674 /* 134126 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
47675 /* 134129 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47676 /* 134131 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47677 /* 134134 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47678 /* 134136 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
47679 /* 134143 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
47680 /* 134148 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47681 /* 134153 */ // GIR_Coverage, 19789,
47682 /* 134153 */ GIR_EraseRootFromParent_Done,
47683 /* 134154 */ // Label 2952: @134154
47684 /* 134154 */ GIM_Try, /*On fail goto*//*Label 2953*/ GIMT_Encode4(134335), // Rule ID 19791 //
47685 /* 134159 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
47686 /* 134162 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47687 /* 134166 */ // (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] })
47688 /* 134166 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
47689 /* 134169 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47690 /* 134173 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47691 /* 134178 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
47692 /* 134180 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
47693 /* 134183 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47694 /* 134187 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47695 /* 134192 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
47696 /* 134195 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
47697 /* 134199 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
47698 /* 134202 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47699 /* 134207 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47700 /* 134212 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47701 /* 134217 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s1,
47702 /* 134220 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47703 /* 134224 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47704 /* 134229 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
47705 /* 134233 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
47706 /* 134238 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
47707 /* 134241 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47708 /* 134245 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47709 /* 134250 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47710 /* 134252 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
47711 /* 134255 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47712 /* 134259 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47713 /* 134264 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47714 /* 134267 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
47715 /* 134271 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
47716 /* 134274 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47717 /* 134279 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47718 /* 134284 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47719 /* 134289 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
47720 /* 134292 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrk),
47721 /* 134296 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47722 /* 134301 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47723 /* 134304 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47724 /* 134307 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
47725 /* 134310 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47726 /* 134312 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47727 /* 134315 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47728 /* 134317 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
47729 /* 134324 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
47730 /* 134329 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47731 /* 134334 */ // GIR_Coverage, 19791,
47732 /* 134334 */ GIR_EraseRootFromParent_Done,
47733 /* 134335 */ // Label 2953: @134335
47734 /* 134335 */ GIM_Reject,
47735 /* 134336 */ // Label 2945: @134336
47736 /* 134336 */ GIM_Reject,
47737 /* 134337 */ // Label 2917: @134337
47738 /* 134337 */ GIM_Try, /*On fail goto*//*Label 2954*/ GIMT_Encode4(135494),
47739 /* 134342 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
47740 /* 134345 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
47741 /* 134348 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
47742 /* 134351 */ GIM_Try, /*On fail goto*//*Label 2955*/ GIMT_Encode4(134430), // Rule ID 19876 //
47743 /* 134356 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47744 /* 134359 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47745 /* 134363 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
47746 /* 134367 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47747 /* 134371 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47748 /* 134375 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47749 /* 134378 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47750 /* 134382 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47751 /* 134386 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
47752 /* 134390 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
47753 /* 134394 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47754 /* 134400 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
47755 /* 134402 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
47756 /* 134404 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47757 /* 134411 */ // (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)
47758 /* 134411 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rmkz),
47759 /* 134414 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47760 /* 134416 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47761 /* 134418 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
47762 /* 134422 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
47763 /* 134428 */ GIR_RootConstrainSelectedInstOperands,
47764 /* 134429 */ // GIR_Coverage, 19876,
47765 /* 134429 */ GIR_EraseRootFromParent_Done,
47766 /* 134430 */ // Label 2955: @134430
47767 /* 134430 */ GIM_Try, /*On fail goto*//*Label 2956*/ GIMT_Encode4(134505), // Rule ID 19878 //
47768 /* 134435 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47769 /* 134438 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47770 /* 134442 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
47771 /* 134446 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47772 /* 134450 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47773 /* 134454 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47774 /* 134457 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47775 /* 134461 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47776 /* 134465 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
47777 /* 134469 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47778 /* 134475 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
47779 /* 134477 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
47780 /* 134479 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47781 /* 134486 */ // (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)
47782 /* 134486 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rmkz),
47783 /* 134489 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47784 /* 134491 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47785 /* 134493 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
47786 /* 134497 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
47787 /* 134503 */ GIR_RootConstrainSelectedInstOperands,
47788 /* 134504 */ // GIR_Coverage, 19878,
47789 /* 134504 */ GIR_EraseRootFromParent_Done,
47790 /* 134505 */ // Label 2956: @134505
47791 /* 134505 */ GIM_Try, /*On fail goto*//*Label 2957*/ GIMT_Encode4(134577), // Rule ID 19875 //
47792 /* 134510 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47793 /* 134513 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47794 /* 134517 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
47795 /* 134521 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47796 /* 134525 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47797 /* 134529 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47798 /* 134532 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47799 /* 134536 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47800 /* 134540 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
47801 /* 134544 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47802 /* 134548 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47803 /* 134550 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47804 /* 134557 */ // (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)
47805 /* 134557 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rmk),
47806 /* 134560 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47807 /* 134562 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47808 /* 134564 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47809 /* 134566 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
47810 /* 134570 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
47811 /* 134575 */ GIR_RootConstrainSelectedInstOperands,
47812 /* 134576 */ // GIR_Coverage, 19875,
47813 /* 134576 */ GIR_EraseRootFromParent_Done,
47814 /* 134577 */ // Label 2957: @134577
47815 /* 134577 */ GIM_Try, /*On fail goto*//*Label 2958*/ GIMT_Encode4(134645), // Rule ID 19877 //
47816 /* 134582 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47817 /* 134585 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47818 /* 134589 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
47819 /* 134593 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47820 /* 134597 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47821 /* 134601 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47822 /* 134604 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47823 /* 134608 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47824 /* 134612 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47825 /* 134616 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47826 /* 134618 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47827 /* 134625 */ // (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)
47828 /* 134625 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rmk),
47829 /* 134628 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47830 /* 134630 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47831 /* 134632 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47832 /* 134634 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
47833 /* 134638 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
47834 /* 134643 */ GIR_RootConstrainSelectedInstOperands,
47835 /* 134644 */ // GIR_Coverage, 19877,
47836 /* 134644 */ GIR_EraseRootFromParent_Done,
47837 /* 134645 */ // Label 2958: @134645
47838 /* 134645 */ GIM_Try, /*On fail goto*//*Label 2959*/ GIMT_Encode4(134690), // Rule ID 4575 //
47839 /* 134650 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47840 /* 134653 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47841 /* 134657 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
47842 /* 134661 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47843 /* 134665 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47844 /* 134669 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47845 /* 134675 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47846 /* 134677 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47847 /* 134679 */ // (vselect:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src, immAllZerosV:{ *:[v8i16] }) => (VMOVDQU16Z128rrkz:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src)
47848 /* 134679 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rrkz),
47849 /* 134682 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47850 /* 134684 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47851 /* 134686 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47852 /* 134688 */ GIR_RootConstrainSelectedInstOperands,
47853 /* 134689 */ // GIR_Coverage, 4575,
47854 /* 134689 */ GIR_EraseRootFromParent_Done,
47855 /* 134690 */ // Label 2959: @134690
47856 /* 134690 */ GIM_Try, /*On fail goto*//*Label 2960*/ GIMT_Encode4(134839), // Rule ID 19798 //
47857 /* 134695 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
47858 /* 134698 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47859 /* 134702 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
47860 /* 134706 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47861 /* 134710 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47862 /* 134714 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47863 /* 134720 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47864 /* 134722 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47865 /* 134724 */ // (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] })
47866 /* 134724 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
47867 /* 134727 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47868 /* 134731 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47869 /* 134736 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
47870 /* 134738 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
47871 /* 134741 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47872 /* 134745 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47873 /* 134750 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
47874 /* 134753 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
47875 /* 134757 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
47876 /* 134760 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47877 /* 134765 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47878 /* 134770 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47879 /* 134775 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s1,
47880 /* 134778 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47881 /* 134782 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47882 /* 134787 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
47883 /* 134791 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
47884 /* 134796 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
47885 /* 134799 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
47886 /* 134803 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47887 /* 134808 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47888 /* 134811 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
47889 /* 134814 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47890 /* 134816 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47891 /* 134819 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47892 /* 134821 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47893 /* 134828 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47894 /* 134833 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47895 /* 134838 */ // GIR_Coverage, 19798,
47896 /* 134838 */ GIR_EraseRootFromParent_Done,
47897 /* 134839 */ // Label 2960: @134839
47898 /* 134839 */ GIM_Try, /*On fail goto*//*Label 2961*/ GIMT_Encode4(134988), // Rule ID 19802 //
47899 /* 134844 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
47900 /* 134847 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47901 /* 134851 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
47902 /* 134855 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47903 /* 134859 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47904 /* 134863 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47905 /* 134869 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47906 /* 134871 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47907 /* 134873 */ // (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] })
47908 /* 134873 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
47909 /* 134876 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47910 /* 134880 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47911 /* 134885 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
47912 /* 134887 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
47913 /* 134890 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47914 /* 134894 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47915 /* 134899 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
47916 /* 134902 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
47917 /* 134906 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
47918 /* 134909 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47919 /* 134914 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47920 /* 134919 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47921 /* 134924 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s1,
47922 /* 134927 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47923 /* 134931 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47924 /* 134936 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
47925 /* 134940 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
47926 /* 134945 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
47927 /* 134948 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
47928 /* 134952 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47929 /* 134957 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47930 /* 134960 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
47931 /* 134963 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47932 /* 134965 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47933 /* 134968 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47934 /* 134970 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47935 /* 134977 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47936 /* 134982 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47937 /* 134987 */ // GIR_Coverage, 19802,
47938 /* 134987 */ GIR_EraseRootFromParent_Done,
47939 /* 134988 */ // Label 2961: @134988
47940 /* 134988 */ GIM_Try, /*On fail goto*//*Label 2962*/ GIMT_Encode4(135033), // Rule ID 19874 //
47941 /* 134993 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47942 /* 134996 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47943 /* 135000 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
47944 /* 135004 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47945 /* 135008 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47946 /* 135012 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47947 /* 135018 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47948 /* 135020 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47949 /* 135022 */ // (vselect:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8f16] }:$src1, immAllZerosV:{ *:[v8f16] }) => (VMOVDQU16Z128rrkz:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8f16] }:$src1)
47950 /* 135022 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rrkz),
47951 /* 135025 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47952 /* 135027 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47953 /* 135029 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47954 /* 135031 */ GIR_RootConstrainSelectedInstOperands,
47955 /* 135032 */ // GIR_Coverage, 19874,
47956 /* 135032 */ GIR_EraseRootFromParent_Done,
47957 /* 135033 */ // Label 2962: @135033
47958 /* 135033 */ GIM_Try, /*On fail goto*//*Label 2963*/ GIMT_Encode4(135070), // Rule ID 4576 //
47959 /* 135038 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47960 /* 135041 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47961 /* 135045 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
47962 /* 135049 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47963 /* 135053 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47964 /* 135057 */ // (vselect:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src0) => (VMOVDQU16Z128rrk:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src1)
47965 /* 135057 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rrk),
47966 /* 135060 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47967 /* 135062 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47968 /* 135064 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47969 /* 135066 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47970 /* 135068 */ GIR_RootConstrainSelectedInstOperands,
47971 /* 135069 */ // GIR_Coverage, 4576,
47972 /* 135069 */ GIR_EraseRootFromParent_Done,
47973 /* 135070 */ // Label 2963: @135070
47974 /* 135070 */ GIM_Try, /*On fail goto*//*Label 2964*/ GIMT_Encode4(135263), // Rule ID 19797 //
47975 /* 135075 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
47976 /* 135078 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47977 /* 135082 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
47978 /* 135086 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47979 /* 135090 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47980 /* 135094 */ // (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] })
47981 /* 135094 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
47982 /* 135097 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47983 /* 135101 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47984 /* 135106 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
47985 /* 135108 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
47986 /* 135111 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47987 /* 135115 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47988 /* 135120 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
47989 /* 135123 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
47990 /* 135127 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
47991 /* 135130 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47992 /* 135135 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47993 /* 135140 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47994 /* 135145 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s1,
47995 /* 135148 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47996 /* 135152 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47997 /* 135157 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
47998 /* 135161 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
47999 /* 135166 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
48000 /* 135169 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48001 /* 135173 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48002 /* 135178 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48003 /* 135180 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
48004 /* 135183 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48005 /* 135187 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48006 /* 135192 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48007 /* 135195 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48008 /* 135199 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
48009 /* 135202 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48010 /* 135207 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48011 /* 135212 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48012 /* 135217 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
48013 /* 135220 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
48014 /* 135224 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48015 /* 135229 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48016 /* 135232 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48017 /* 135235 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48018 /* 135238 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48019 /* 135240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48020 /* 135243 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48021 /* 135245 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
48022 /* 135252 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
48023 /* 135257 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48024 /* 135262 */ // GIR_Coverage, 19797,
48025 /* 135262 */ GIR_EraseRootFromParent_Done,
48026 /* 135263 */ // Label 2964: @135263
48027 /* 135263 */ GIM_Try, /*On fail goto*//*Label 2965*/ GIMT_Encode4(135456), // Rule ID 19801 //
48028 /* 135268 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
48029 /* 135271 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
48030 /* 135275 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48031 /* 135279 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48032 /* 135283 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48033 /* 135287 */ // (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] })
48034 /* 135287 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
48035 /* 135290 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48036 /* 135294 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48037 /* 135299 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48038 /* 135301 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
48039 /* 135304 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48040 /* 135308 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48041 /* 135313 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48042 /* 135316 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48043 /* 135320 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
48044 /* 135323 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48045 /* 135328 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48046 /* 135333 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48047 /* 135338 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s1,
48048 /* 135341 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48049 /* 135345 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48050 /* 135350 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48051 /* 135354 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
48052 /* 135359 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
48053 /* 135362 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48054 /* 135366 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48055 /* 135371 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48056 /* 135373 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
48057 /* 135376 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48058 /* 135380 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48059 /* 135385 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48060 /* 135388 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48061 /* 135392 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
48062 /* 135395 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48063 /* 135400 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48064 /* 135405 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48065 /* 135410 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
48066 /* 135413 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
48067 /* 135417 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48068 /* 135422 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48069 /* 135425 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48070 /* 135428 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48071 /* 135431 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48072 /* 135433 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48073 /* 135436 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48074 /* 135438 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
48075 /* 135445 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
48076 /* 135450 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48077 /* 135455 */ // GIR_Coverage, 19801,
48078 /* 135455 */ GIR_EraseRootFromParent_Done,
48079 /* 135456 */ // Label 2965: @135456
48080 /* 135456 */ GIM_Try, /*On fail goto*//*Label 2966*/ GIMT_Encode4(135493), // Rule ID 19873 //
48081 /* 135461 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
48082 /* 135464 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48083 /* 135468 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48084 /* 135472 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48085 /* 135476 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48086 /* 135480 */ // (vselect:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src0) => (VMOVDQU16Z128rrk:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8f16] }:$src1)
48087 /* 135480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rrk),
48088 /* 135483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48089 /* 135485 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48090 /* 135487 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48091 /* 135489 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48092 /* 135491 */ GIR_RootConstrainSelectedInstOperands,
48093 /* 135492 */ // GIR_Coverage, 19873,
48094 /* 135492 */ GIR_EraseRootFromParent_Done,
48095 /* 135493 */ // Label 2966: @135493
48096 /* 135493 */ GIM_Reject,
48097 /* 135494 */ // Label 2954: @135494
48098 /* 135494 */ GIM_Reject,
48099 /* 135495 */ // Label 2918: @135495
48100 /* 135495 */ GIM_Try, /*On fail goto*//*Label 2967*/ GIMT_Encode4(136274),
48101 /* 135500 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
48102 /* 135503 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
48103 /* 135506 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
48104 /* 135509 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48105 /* 135513 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48106 /* 135517 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48107 /* 135521 */ GIM_Try, /*On fail goto*//*Label 2968*/ GIMT_Encode4(135554), // Rule ID 4470 //
48108 /* 135526 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48109 /* 135529 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48110 /* 135533 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48111 /* 135539 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48112 /* 135541 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48113 /* 135543 */ // (vselect:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src, immAllZerosV:{ *:[v8f32] }) => (VMOVAPSZ256rrkz:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src)
48114 /* 135543 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256rrkz),
48115 /* 135546 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48116 /* 135548 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48117 /* 135550 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48118 /* 135552 */ GIR_RootConstrainSelectedInstOperands,
48119 /* 135553 */ // GIR_Coverage, 4470,
48120 /* 135553 */ GIR_EraseRootFromParent_Done,
48121 /* 135554 */ // Label 2968: @135554
48122 /* 135554 */ GIM_Try, /*On fail goto*//*Label 2969*/ GIMT_Encode4(135587), // Rule ID 4529 //
48123 /* 135559 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48124 /* 135562 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48125 /* 135566 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48126 /* 135572 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48127 /* 135574 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48128 /* 135576 */ // (vselect:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src, immAllZerosV:{ *:[v8i32] }) => (VMOVDQA32Z256rrkz:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src)
48129 /* 135576 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Z256rrkz),
48130 /* 135579 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48131 /* 135581 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48132 /* 135583 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48133 /* 135585 */ GIR_RootConstrainSelectedInstOperands,
48134 /* 135586 */ // GIR_Coverage, 4529,
48135 /* 135586 */ GIR_EraseRootFromParent_Done,
48136 /* 135587 */ // Label 2969: @135587
48137 /* 135587 */ GIM_Try, /*On fail goto*//*Label 2970*/ GIMT_Encode4(135724), // Rule ID 19782 //
48138 /* 135592 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
48139 /* 135595 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48140 /* 135599 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48141 /* 135605 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48142 /* 135607 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48143 /* 135609 */ // (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] })
48144 /* 135609 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
48145 /* 135612 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48146 /* 135616 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48147 /* 135621 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48148 /* 135623 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
48149 /* 135626 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48150 /* 135630 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48151 /* 135635 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48152 /* 135638 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48153 /* 135642 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
48154 /* 135645 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48155 /* 135650 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48156 /* 135655 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48157 /* 135660 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
48158 /* 135663 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48159 /* 135667 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48160 /* 135672 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48161 /* 135676 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
48162 /* 135681 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
48163 /* 135684 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrkz),
48164 /* 135688 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48165 /* 135693 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48166 /* 135696 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48167 /* 135699 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48168 /* 135701 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48169 /* 135704 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48170 /* 135706 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48171 /* 135713 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48172 /* 135718 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48173 /* 135723 */ // GIR_Coverage, 19782,
48174 /* 135723 */ GIR_EraseRootFromParent_Done,
48175 /* 135724 */ // Label 2970: @135724
48176 /* 135724 */ GIM_Try, /*On fail goto*//*Label 2971*/ GIMT_Encode4(135861), // Rule ID 19784 //
48177 /* 135729 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
48178 /* 135732 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48179 /* 135736 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48180 /* 135742 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48181 /* 135744 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48182 /* 135746 */ // (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] })
48183 /* 135746 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
48184 /* 135749 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48185 /* 135753 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48186 /* 135758 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48187 /* 135760 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
48188 /* 135763 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48189 /* 135767 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48190 /* 135772 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48191 /* 135775 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48192 /* 135779 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
48193 /* 135782 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48194 /* 135787 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48195 /* 135792 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48196 /* 135797 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
48197 /* 135800 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48198 /* 135804 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48199 /* 135809 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48200 /* 135813 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
48201 /* 135818 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
48202 /* 135821 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
48203 /* 135825 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48204 /* 135830 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48205 /* 135833 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48206 /* 135836 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48207 /* 135838 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48208 /* 135841 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48209 /* 135843 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48210 /* 135850 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48211 /* 135855 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48212 /* 135860 */ // GIR_Coverage, 19784,
48213 /* 135860 */ GIR_EraseRootFromParent_Done,
48214 /* 135861 */ // Label 2971: @135861
48215 /* 135861 */ GIM_Try, /*On fail goto*//*Label 2972*/ GIMT_Encode4(135886), // Rule ID 4472 //
48216 /* 135866 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48217 /* 135869 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48218 /* 135873 */ // (vselect:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src0) => (VMOVAPSZ256rrk:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src1)
48219 /* 135873 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256rrk),
48220 /* 135876 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48221 /* 135878 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48222 /* 135880 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48223 /* 135882 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48224 /* 135884 */ GIR_RootConstrainSelectedInstOperands,
48225 /* 135885 */ // GIR_Coverage, 4472,
48226 /* 135885 */ GIR_EraseRootFromParent_Done,
48227 /* 135886 */ // Label 2972: @135886
48228 /* 135886 */ GIM_Try, /*On fail goto*//*Label 2973*/ GIMT_Encode4(135911), // Rule ID 4530 //
48229 /* 135891 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48230 /* 135894 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48231 /* 135898 */ // (vselect:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src0) => (VMOVDQA32Z256rrk:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src1)
48232 /* 135898 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Z256rrk),
48233 /* 135901 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48234 /* 135903 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48235 /* 135905 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48236 /* 135907 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48237 /* 135909 */ GIR_RootConstrainSelectedInstOperands,
48238 /* 135910 */ // GIR_Coverage, 4530,
48239 /* 135910 */ GIR_EraseRootFromParent_Done,
48240 /* 135911 */ // Label 2973: @135911
48241 /* 135911 */ GIM_Try, /*On fail goto*//*Label 2974*/ GIMT_Encode4(136092), // Rule ID 19781 //
48242 /* 135916 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
48243 /* 135919 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48244 /* 135923 */ // (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] })
48245 /* 135923 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
48246 /* 135926 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48247 /* 135930 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48248 /* 135935 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48249 /* 135937 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
48250 /* 135940 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48251 /* 135944 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48252 /* 135949 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48253 /* 135952 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48254 /* 135956 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
48255 /* 135959 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48256 /* 135964 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48257 /* 135969 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48258 /* 135974 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s1,
48259 /* 135977 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48260 /* 135981 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48261 /* 135986 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48262 /* 135990 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
48263 /* 135995 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
48264 /* 135998 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48265 /* 136002 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48266 /* 136007 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48267 /* 136009 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
48268 /* 136012 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48269 /* 136016 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48270 /* 136021 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48271 /* 136024 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48272 /* 136028 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
48273 /* 136031 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48274 /* 136036 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48275 /* 136041 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48276 /* 136046 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
48277 /* 136049 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrk),
48278 /* 136053 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48279 /* 136058 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48280 /* 136061 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48281 /* 136064 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48282 /* 136067 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48283 /* 136069 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48284 /* 136072 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48285 /* 136074 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48286 /* 136081 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48287 /* 136086 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48288 /* 136091 */ // GIR_Coverage, 19781,
48289 /* 136091 */ GIR_EraseRootFromParent_Done,
48290 /* 136092 */ // Label 2974: @136092
48291 /* 136092 */ GIM_Try, /*On fail goto*//*Label 2975*/ GIMT_Encode4(136273), // Rule ID 19783 //
48292 /* 136097 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
48293 /* 136100 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48294 /* 136104 */ // (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] })
48295 /* 136104 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
48296 /* 136107 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48297 /* 136111 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48298 /* 136116 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48299 /* 136118 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
48300 /* 136121 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48301 /* 136125 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48302 /* 136130 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48303 /* 136133 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48304 /* 136137 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
48305 /* 136140 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48306 /* 136145 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48307 /* 136150 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48308 /* 136155 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s1,
48309 /* 136158 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48310 /* 136162 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48311 /* 136167 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48312 /* 136171 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
48313 /* 136176 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
48314 /* 136179 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48315 /* 136183 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48316 /* 136188 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48317 /* 136190 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
48318 /* 136193 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48319 /* 136197 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48320 /* 136202 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48321 /* 136205 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48322 /* 136209 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
48323 /* 136212 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48324 /* 136217 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48325 /* 136222 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48326 /* 136227 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
48327 /* 136230 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrk),
48328 /* 136234 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48329 /* 136239 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48330 /* 136242 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48331 /* 136245 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48332 /* 136248 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48333 /* 136250 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48334 /* 136253 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48335 /* 136255 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48336 /* 136262 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48337 /* 136267 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48338 /* 136272 */ // GIR_Coverage, 19783,
48339 /* 136272 */ GIR_EraseRootFromParent_Done,
48340 /* 136273 */ // Label 2975: @136273
48341 /* 136273 */ GIM_Reject,
48342 /* 136274 */ // Label 2967: @136274
48343 /* 136274 */ GIM_Reject,
48344 /* 136275 */ // Label 2919: @136275
48345 /* 136275 */ GIM_Try, /*On fail goto*//*Label 2976*/ GIMT_Encode4(136655),
48346 /* 136280 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
48347 /* 136283 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
48348 /* 136286 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
48349 /* 136289 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48350 /* 136293 */ GIM_Try, /*On fail goto*//*Label 2977*/ GIMT_Encode4(136362), // Rule ID 19775 //
48351 /* 136298 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
48352 /* 136302 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
48353 /* 136306 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
48354 /* 136310 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
48355 /* 136314 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
48356 /* 136319 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
48357 /* 136323 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48358 /* 136329 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
48359 /* 136331 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/0, /*OpIdx*/2, // MIs[3]
48360 /* 136335 */ GIM_CheckOpcodeIsEither, /*MI*/3, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48361 /* 136341 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/3,
48362 /* 136343 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48363 /* 136347 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
48364 /* 136349 */ // (vselect:{ *:[v8i64] } (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$mask, immAllOnesV:{ *:[v8i1] }), immAllZerosV:{ *:[v8i64] }, VR512:{ *:[v8i64] }:$src) => (VMOVDQA64Zrrkz:{ *:[v8i64] } VK8:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
48365 /* 136349 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
48366 /* 136352 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48367 /* 136354 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // mask
48368 /* 136358 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
48369 /* 136360 */ GIR_RootConstrainSelectedInstOperands,
48370 /* 136361 */ // GIR_Coverage, 19775,
48371 /* 136361 */ GIR_EraseRootFromParent_Done,
48372 /* 136362 */ // Label 2977: @136362
48373 /* 136362 */ GIM_Try, /*On fail goto*//*Label 2978*/ GIMT_Encode4(136409), // Rule ID 3601 //
48374 /* 136367 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
48375 /* 136370 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48376 /* 136374 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48377 /* 136378 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48378 /* 136384 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
48379 /* 136386 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
48380 /* 136390 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48381 /* 136396 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
48382 /* 136398 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
48383 /* 136400 */ // (vselect:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, immAllOnesV:{ *:[v8i64] }, immAllZerosV:{ *:[v8i64] }) => (AVX512_512_SEXT_MASK_64:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask)
48384 /* 136400 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AVX512_512_SEXT_MASK_64),
48385 /* 136403 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48386 /* 136405 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48387 /* 136407 */ GIR_RootConstrainSelectedInstOperands,
48388 /* 136408 */ // GIR_Coverage, 3601,
48389 /* 136408 */ GIR_EraseRootFromParent_Done,
48390 /* 136409 */ // Label 2978: @136409
48391 /* 136409 */ GIM_Try, /*On fail goto*//*Label 2979*/ GIMT_Encode4(136506), // Rule ID 19773 //
48392 /* 136414 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48393 /* 136418 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48394 /* 136422 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48395 /* 136428 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48396 /* 136430 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48397 /* 136434 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48398 /* 136436 */ // (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)
48399 /* 136436 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
48400 /* 136439 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48401 /* 136443 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48402 /* 136448 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // mask
48403 /* 136452 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
48404 /* 136457 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
48405 /* 136460 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
48406 /* 136464 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48407 /* 136469 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48408 /* 136472 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
48409 /* 136474 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
48410 /* 136477 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48411 /* 136481 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48412 /* 136486 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48413 /* 136489 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
48414 /* 136494 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
48415 /* 136497 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48416 /* 136499 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
48417 /* 136502 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
48418 /* 136504 */ GIR_RootConstrainSelectedInstOperands,
48419 /* 136505 */ // GIR_Coverage, 19773,
48420 /* 136505 */ GIR_EraseRootFromParent_Done,
48421 /* 136506 */ // Label 2979: @136506
48422 /* 136506 */ GIM_Try, /*On fail goto*//*Label 2980*/ GIMT_Encode4(136547), // Rule ID 4483 //
48423 /* 136511 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
48424 /* 136514 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48425 /* 136518 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48426 /* 136522 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48427 /* 136526 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48428 /* 136532 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48429 /* 136534 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48430 /* 136536 */ // (vselect:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src, immAllZerosV:{ *:[v8f64] }) => (VMOVAPDZrrkz:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src)
48431 /* 136536 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrkz),
48432 /* 136539 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48433 /* 136541 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48434 /* 136543 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48435 /* 136545 */ GIR_RootConstrainSelectedInstOperands,
48436 /* 136546 */ // GIR_Coverage, 4483,
48437 /* 136546 */ GIR_EraseRootFromParent_Done,
48438 /* 136547 */ // Label 2980: @136547
48439 /* 136547 */ GIM_Try, /*On fail goto*//*Label 2981*/ GIMT_Encode4(136588), // Rule ID 4537 //
48440 /* 136552 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
48441 /* 136555 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48442 /* 136559 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48443 /* 136563 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48444 /* 136567 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48445 /* 136573 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48446 /* 136575 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48447 /* 136577 */ // (vselect:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src, immAllZerosV:{ *:[v8i64] }) => (VMOVDQA64Zrrkz:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
48448 /* 136577 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
48449 /* 136580 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48450 /* 136582 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48451 /* 136584 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48452 /* 136586 */ GIR_RootConstrainSelectedInstOperands,
48453 /* 136587 */ // GIR_Coverage, 4537,
48454 /* 136587 */ GIR_EraseRootFromParent_Done,
48455 /* 136588 */ // Label 2981: @136588
48456 /* 136588 */ GIM_Try, /*On fail goto*//*Label 2982*/ GIMT_Encode4(136621), // Rule ID 4485 //
48457 /* 136593 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
48458 /* 136596 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48459 /* 136600 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48460 /* 136604 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48461 /* 136608 */ // (vselect:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src0) => (VMOVAPDZrrk:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src1)
48462 /* 136608 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrk),
48463 /* 136611 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48464 /* 136613 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48465 /* 136615 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48466 /* 136617 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48467 /* 136619 */ GIR_RootConstrainSelectedInstOperands,
48468 /* 136620 */ // GIR_Coverage, 4485,
48469 /* 136620 */ GIR_EraseRootFromParent_Done,
48470 /* 136621 */ // Label 2982: @136621
48471 /* 136621 */ GIM_Try, /*On fail goto*//*Label 2983*/ GIMT_Encode4(136654), // Rule ID 4539 //
48472 /* 136626 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
48473 /* 136629 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48474 /* 136633 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48475 /* 136637 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48476 /* 136641 */ // (vselect:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src0) => (VMOVDQA64Zrrk:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src1)
48477 /* 136641 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrk),
48478 /* 136644 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48479 /* 136646 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48480 /* 136648 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48481 /* 136650 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48482 /* 136652 */ GIR_RootConstrainSelectedInstOperands,
48483 /* 136653 */ // GIR_Coverage, 4539,
48484 /* 136653 */ GIR_EraseRootFromParent_Done,
48485 /* 136654 */ // Label 2983: @136654
48486 /* 136654 */ GIM_Reject,
48487 /* 136655 */ // Label 2976: @136655
48488 /* 136655 */ GIM_Reject,
48489 /* 136656 */ // Label 2920: @136656
48490 /* 136656 */ GIM_Try, /*On fail goto*//*Label 2984*/ GIMT_Encode4(137095),
48491 /* 136661 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
48492 /* 136664 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
48493 /* 136667 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
48494 /* 136670 */ GIM_Try, /*On fail goto*//*Label 2985*/ GIMT_Encode4(136715), // Rule ID 4563 //
48495 /* 136675 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
48496 /* 136678 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48497 /* 136682 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
48498 /* 136686 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48499 /* 136690 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48500 /* 136694 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48501 /* 136700 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48502 /* 136702 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48503 /* 136704 */ // (vselect:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src, immAllZerosV:{ *:[v16i8] }) => (VMOVDQU8Z128rrkz:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src)
48504 /* 136704 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Z128rrkz),
48505 /* 136707 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48506 /* 136709 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48507 /* 136711 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48508 /* 136713 */ GIR_RootConstrainSelectedInstOperands,
48509 /* 136714 */ // GIR_Coverage, 4563,
48510 /* 136714 */ GIR_EraseRootFromParent_Done,
48511 /* 136715 */ // Label 2985: @136715
48512 /* 136715 */ GIM_Try, /*On fail goto*//*Label 2986*/ GIMT_Encode4(136864), // Rule ID 19794 //
48513 /* 136720 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
48514 /* 136723 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
48515 /* 136727 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
48516 /* 136731 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48517 /* 136735 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48518 /* 136739 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48519 /* 136745 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48520 /* 136747 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48521 /* 136749 */ // (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] })
48522 /* 136749 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v64s8,
48523 /* 136752 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48524 /* 136756 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48525 /* 136761 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48526 /* 136763 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
48527 /* 136766 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48528 /* 136770 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48529 /* 136775 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48530 /* 136778 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48531 /* 136782 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
48532 /* 136785 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48533 /* 136790 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48534 /* 136795 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48535 /* 136800 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s1,
48536 /* 136803 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48537 /* 136807 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48538 /* 136812 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48539 /* 136816 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK64WMRegClassID),
48540 /* 136821 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
48541 /* 136824 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrkz),
48542 /* 136828 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48543 /* 136833 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48544 /* 136836 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48545 /* 136839 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48546 /* 136841 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48547 /* 136844 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48548 /* 136846 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
48549 /* 136853 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
48550 /* 136858 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48551 /* 136863 */ // GIR_Coverage, 19794,
48552 /* 136863 */ GIR_EraseRootFromParent_Done,
48553 /* 136864 */ // Label 2986: @136864
48554 /* 136864 */ GIM_Try, /*On fail goto*//*Label 2987*/ GIMT_Encode4(136901), // Rule ID 4564 //
48555 /* 136869 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
48556 /* 136872 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48557 /* 136876 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
48558 /* 136880 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48559 /* 136884 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48560 /* 136888 */ // (vselect:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src0) => (VMOVDQU8Z128rrk:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src1)
48561 /* 136888 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Z128rrk),
48562 /* 136891 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48563 /* 136893 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48564 /* 136895 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48565 /* 136897 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48566 /* 136899 */ GIR_RootConstrainSelectedInstOperands,
48567 /* 136900 */ // GIR_Coverage, 4564,
48568 /* 136900 */ GIR_EraseRootFromParent_Done,
48569 /* 136901 */ // Label 2987: @136901
48570 /* 136901 */ GIM_Try, /*On fail goto*//*Label 2988*/ GIMT_Encode4(137094), // Rule ID 19793 //
48571 /* 136906 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
48572 /* 136909 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
48573 /* 136913 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
48574 /* 136917 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48575 /* 136921 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48576 /* 136925 */ // (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] })
48577 /* 136925 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v64s8,
48578 /* 136928 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48579 /* 136932 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48580 /* 136937 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48581 /* 136939 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v64s8,
48582 /* 136942 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48583 /* 136946 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48584 /* 136951 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48585 /* 136954 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48586 /* 136958 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
48587 /* 136961 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48588 /* 136966 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48589 /* 136971 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48590 /* 136976 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v64s1,
48591 /* 136979 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48592 /* 136983 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48593 /* 136988 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48594 /* 136992 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK64WMRegClassID),
48595 /* 136997 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
48596 /* 137000 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48597 /* 137004 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48598 /* 137009 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48599 /* 137011 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
48600 /* 137014 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48601 /* 137018 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48602 /* 137023 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48603 /* 137026 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48604 /* 137030 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
48605 /* 137033 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48606 /* 137038 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48607 /* 137043 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48608 /* 137048 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
48609 /* 137051 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrk),
48610 /* 137055 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48611 /* 137060 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48612 /* 137063 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48613 /* 137066 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48614 /* 137069 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48615 /* 137071 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48616 /* 137074 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48617 /* 137076 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
48618 /* 137083 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
48619 /* 137088 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48620 /* 137093 */ // GIR_Coverage, 19793,
48621 /* 137093 */ GIR_EraseRootFromParent_Done,
48622 /* 137094 */ // Label 2988: @137094
48623 /* 137094 */ GIM_Reject,
48624 /* 137095 */ // Label 2984: @137095
48625 /* 137095 */ GIM_Reject,
48626 /* 137096 */ // Label 2921: @137096
48627 /* 137096 */ GIM_Try, /*On fail goto*//*Label 2989*/ GIMT_Encode4(138165),
48628 /* 137101 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
48629 /* 137104 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
48630 /* 137107 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
48631 /* 137110 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48632 /* 137114 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
48633 /* 137118 */ GIM_Try, /*On fail goto*//*Label 2990*/ GIMT_Encode4(137189), // Rule ID 19866 //
48634 /* 137123 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
48635 /* 137126 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48636 /* 137130 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48637 /* 137134 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48638 /* 137137 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48639 /* 137141 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48640 /* 137145 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
48641 /* 137149 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
48642 /* 137153 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48643 /* 137159 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
48644 /* 137161 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
48645 /* 137163 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48646 /* 137170 */ // (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)
48647 /* 137170 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rmkz),
48648 /* 137173 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48649 /* 137175 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48650 /* 137177 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
48651 /* 137181 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
48652 /* 137187 */ GIR_RootConstrainSelectedInstOperands,
48653 /* 137188 */ // GIR_Coverage, 19866,
48654 /* 137188 */ GIR_EraseRootFromParent_Done,
48655 /* 137189 */ // Label 2990: @137189
48656 /* 137189 */ GIM_Try, /*On fail goto*//*Label 2991*/ GIMT_Encode4(137256), // Rule ID 19868 //
48657 /* 137194 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
48658 /* 137197 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48659 /* 137201 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48660 /* 137205 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48661 /* 137208 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48662 /* 137212 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48663 /* 137216 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
48664 /* 137220 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48665 /* 137226 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
48666 /* 137228 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
48667 /* 137230 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48668 /* 137237 */ // (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)
48669 /* 137237 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rmkz),
48670 /* 137240 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48671 /* 137242 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48672 /* 137244 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
48673 /* 137248 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
48674 /* 137254 */ GIR_RootConstrainSelectedInstOperands,
48675 /* 137255 */ // GIR_Coverage, 19868,
48676 /* 137255 */ GIR_EraseRootFromParent_Done,
48677 /* 137256 */ // Label 2991: @137256
48678 /* 137256 */ GIM_Try, /*On fail goto*//*Label 2992*/ GIMT_Encode4(137320), // Rule ID 19865 //
48679 /* 137261 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
48680 /* 137264 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48681 /* 137268 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48682 /* 137272 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48683 /* 137275 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48684 /* 137279 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48685 /* 137283 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
48686 /* 137287 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48687 /* 137291 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48688 /* 137293 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48689 /* 137300 */ // (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)
48690 /* 137300 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rmk),
48691 /* 137303 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48692 /* 137305 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48693 /* 137307 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48694 /* 137309 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
48695 /* 137313 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48696 /* 137318 */ GIR_RootConstrainSelectedInstOperands,
48697 /* 137319 */ // GIR_Coverage, 19865,
48698 /* 137319 */ GIR_EraseRootFromParent_Done,
48699 /* 137320 */ // Label 2992: @137320
48700 /* 137320 */ GIM_Try, /*On fail goto*//*Label 2993*/ GIMT_Encode4(137380), // Rule ID 19867 //
48701 /* 137325 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
48702 /* 137328 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48703 /* 137332 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48704 /* 137336 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48705 /* 137339 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48706 /* 137343 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48707 /* 137347 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48708 /* 137351 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48709 /* 137353 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48710 /* 137360 */ // (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)
48711 /* 137360 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rmk),
48712 /* 137363 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48713 /* 137365 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48714 /* 137367 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48715 /* 137369 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
48716 /* 137373 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48717 /* 137378 */ GIR_RootConstrainSelectedInstOperands,
48718 /* 137379 */ // GIR_Coverage, 19867,
48719 /* 137379 */ GIR_EraseRootFromParent_Done,
48720 /* 137380 */ // Label 2993: @137380
48721 /* 137380 */ GIM_Try, /*On fail goto*//*Label 2994*/ GIMT_Encode4(137417), // Rule ID 4571 //
48722 /* 137385 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
48723 /* 137388 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48724 /* 137392 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48725 /* 137396 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48726 /* 137402 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48727 /* 137404 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48728 /* 137406 */ // (vselect:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src, immAllZerosV:{ *:[v16i16] }) => (VMOVDQU16Z256rrkz:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src)
48729 /* 137406 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rrkz),
48730 /* 137409 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48731 /* 137411 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48732 /* 137413 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48733 /* 137415 */ GIR_RootConstrainSelectedInstOperands,
48734 /* 137416 */ // GIR_Coverage, 4571,
48735 /* 137416 */ GIR_EraseRootFromParent_Done,
48736 /* 137417 */ // Label 2994: @137417
48737 /* 137417 */ GIM_Try, /*On fail goto*//*Label 2995*/ GIMT_Encode4(137558), // Rule ID 19800 //
48738 /* 137422 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
48739 /* 137425 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48740 /* 137429 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48741 /* 137433 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48742 /* 137439 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48743 /* 137441 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48744 /* 137443 */ // (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] })
48745 /* 137443 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
48746 /* 137446 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48747 /* 137450 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48748 /* 137455 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48749 /* 137457 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
48750 /* 137460 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48751 /* 137464 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48752 /* 137469 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48753 /* 137472 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48754 /* 137476 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
48755 /* 137479 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48756 /* 137484 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48757 /* 137489 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48758 /* 137494 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s1,
48759 /* 137497 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48760 /* 137501 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48761 /* 137506 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48762 /* 137510 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
48763 /* 137515 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
48764 /* 137518 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
48765 /* 137522 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48766 /* 137527 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48767 /* 137530 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48768 /* 137533 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48769 /* 137535 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48770 /* 137538 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48771 /* 137540 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48772 /* 137547 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48773 /* 137552 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48774 /* 137557 */ // GIR_Coverage, 19800,
48775 /* 137557 */ GIR_EraseRootFromParent_Done,
48776 /* 137558 */ // Label 2995: @137558
48777 /* 137558 */ GIM_Try, /*On fail goto*//*Label 2996*/ GIMT_Encode4(137699), // Rule ID 19804 //
48778 /* 137563 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
48779 /* 137566 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48780 /* 137570 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48781 /* 137574 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48782 /* 137580 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48783 /* 137582 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48784 /* 137584 */ // (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] })
48785 /* 137584 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
48786 /* 137587 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48787 /* 137591 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48788 /* 137596 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48789 /* 137598 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
48790 /* 137601 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48791 /* 137605 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48792 /* 137610 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48793 /* 137613 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48794 /* 137617 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
48795 /* 137620 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48796 /* 137625 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48797 /* 137630 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48798 /* 137635 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s1,
48799 /* 137638 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48800 /* 137642 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48801 /* 137647 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48802 /* 137651 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
48803 /* 137656 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
48804 /* 137659 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
48805 /* 137663 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48806 /* 137668 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48807 /* 137671 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48808 /* 137674 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48809 /* 137676 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48810 /* 137679 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48811 /* 137681 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48812 /* 137688 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48813 /* 137693 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48814 /* 137698 */ // GIR_Coverage, 19804,
48815 /* 137698 */ GIR_EraseRootFromParent_Done,
48816 /* 137699 */ // Label 2996: @137699
48817 /* 137699 */ GIM_Try, /*On fail goto*//*Label 2997*/ GIMT_Encode4(137736), // Rule ID 19864 //
48818 /* 137704 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
48819 /* 137707 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48820 /* 137711 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48821 /* 137715 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48822 /* 137721 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48823 /* 137723 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48824 /* 137725 */ // (vselect:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16f16] }:$src1, immAllZerosV:{ *:[v16f16] }) => (VMOVDQU16Z256rrkz:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16f16] }:$src1)
48825 /* 137725 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rrkz),
48826 /* 137728 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48827 /* 137730 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48828 /* 137732 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48829 /* 137734 */ GIR_RootConstrainSelectedInstOperands,
48830 /* 137735 */ // GIR_Coverage, 19864,
48831 /* 137735 */ GIR_EraseRootFromParent_Done,
48832 /* 137736 */ // Label 2997: @137736
48833 /* 137736 */ GIM_Try, /*On fail goto*//*Label 2998*/ GIMT_Encode4(137765), // Rule ID 4572 //
48834 /* 137741 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
48835 /* 137744 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48836 /* 137748 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48837 /* 137752 */ // (vselect:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src0) => (VMOVDQU16Z256rrk:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src1)
48838 /* 137752 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rrk),
48839 /* 137755 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48840 /* 137757 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48841 /* 137759 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48842 /* 137761 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48843 /* 137763 */ GIR_RootConstrainSelectedInstOperands,
48844 /* 137764 */ // GIR_Coverage, 4572,
48845 /* 137764 */ GIR_EraseRootFromParent_Done,
48846 /* 137765 */ // Label 2998: @137765
48847 /* 137765 */ GIM_Try, /*On fail goto*//*Label 2999*/ GIMT_Encode4(137950), // Rule ID 19799 //
48848 /* 137770 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
48849 /* 137773 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48850 /* 137777 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48851 /* 137781 */ // (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] })
48852 /* 137781 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
48853 /* 137784 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48854 /* 137788 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48855 /* 137793 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48856 /* 137795 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
48857 /* 137798 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48858 /* 137802 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48859 /* 137807 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48860 /* 137810 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48861 /* 137814 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
48862 /* 137817 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48863 /* 137822 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48864 /* 137827 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48865 /* 137832 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s1,
48866 /* 137835 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48867 /* 137839 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48868 /* 137844 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48869 /* 137848 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
48870 /* 137853 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
48871 /* 137856 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48872 /* 137860 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48873 /* 137865 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48874 /* 137867 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
48875 /* 137870 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48876 /* 137874 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48877 /* 137879 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48878 /* 137882 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48879 /* 137886 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
48880 /* 137889 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48881 /* 137894 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48882 /* 137899 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48883 /* 137904 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
48884 /* 137907 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
48885 /* 137911 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48886 /* 137916 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48887 /* 137919 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48888 /* 137922 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48889 /* 137925 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48890 /* 137927 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48891 /* 137930 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48892 /* 137932 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48893 /* 137939 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48894 /* 137944 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48895 /* 137949 */ // GIR_Coverage, 19799,
48896 /* 137949 */ GIR_EraseRootFromParent_Done,
48897 /* 137950 */ // Label 2999: @137950
48898 /* 137950 */ GIM_Try, /*On fail goto*//*Label 3000*/ GIMT_Encode4(138135), // Rule ID 19803 //
48899 /* 137955 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
48900 /* 137958 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48901 /* 137962 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48902 /* 137966 */ // (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] })
48903 /* 137966 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
48904 /* 137969 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48905 /* 137973 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48906 /* 137978 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48907 /* 137980 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
48908 /* 137983 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48909 /* 137987 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48910 /* 137992 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48911 /* 137995 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48912 /* 137999 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
48913 /* 138002 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48914 /* 138007 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48915 /* 138012 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48916 /* 138017 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s1,
48917 /* 138020 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48918 /* 138024 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48919 /* 138029 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48920 /* 138033 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
48921 /* 138038 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
48922 /* 138041 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48923 /* 138045 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48924 /* 138050 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48925 /* 138052 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
48926 /* 138055 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48927 /* 138059 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48928 /* 138064 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48929 /* 138067 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48930 /* 138071 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
48931 /* 138074 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48932 /* 138079 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48933 /* 138084 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48934 /* 138089 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
48935 /* 138092 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
48936 /* 138096 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48937 /* 138101 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48938 /* 138104 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48939 /* 138107 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48940 /* 138110 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48941 /* 138112 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48942 /* 138115 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48943 /* 138117 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48944 /* 138124 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48945 /* 138129 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48946 /* 138134 */ // GIR_Coverage, 19803,
48947 /* 138134 */ GIR_EraseRootFromParent_Done,
48948 /* 138135 */ // Label 3000: @138135
48949 /* 138135 */ GIM_Try, /*On fail goto*//*Label 3001*/ GIMT_Encode4(138164), // Rule ID 19863 //
48950 /* 138140 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
48951 /* 138143 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48952 /* 138147 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48953 /* 138151 */ // (vselect:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src0) => (VMOVDQU16Z256rrk:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16f16] }:$src1)
48954 /* 138151 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rrk),
48955 /* 138154 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48956 /* 138156 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48957 /* 138158 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48958 /* 138160 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48959 /* 138162 */ GIR_RootConstrainSelectedInstOperands,
48960 /* 138163 */ // GIR_Coverage, 19863,
48961 /* 138163 */ GIR_EraseRootFromParent_Done,
48962 /* 138164 */ // Label 3001: @138164
48963 /* 138164 */ GIM_Reject,
48964 /* 138165 */ // Label 2989: @138165
48965 /* 138165 */ GIM_Reject,
48966 /* 138166 */ // Label 2922: @138166
48967 /* 138166 */ GIM_Try, /*On fail goto*//*Label 3002*/ GIMT_Encode4(138506),
48968 /* 138171 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
48969 /* 138174 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
48970 /* 138177 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
48971 /* 138180 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48972 /* 138184 */ GIM_Try, /*On fail goto*//*Label 3003*/ GIMT_Encode4(138253), // Rule ID 19776 //
48973 /* 138189 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
48974 /* 138193 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
48975 /* 138197 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
48976 /* 138201 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
48977 /* 138205 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
48978 /* 138210 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
48979 /* 138214 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48980 /* 138220 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
48981 /* 138222 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/0, /*OpIdx*/2, // MIs[3]
48982 /* 138226 */ GIM_CheckOpcodeIsEither, /*MI*/3, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48983 /* 138232 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/3,
48984 /* 138234 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48985 /* 138238 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
48986 /* 138240 */ // (vselect:{ *:[v16i32] } (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$mask, immAllOnesV:{ *:[v16i1] }), immAllZerosV:{ *:[v16i32] }, VR512:{ *:[v16i32] }:$src) => (VMOVDQA32Zrrkz:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
48987 /* 138240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
48988 /* 138243 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48989 /* 138245 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // mask
48990 /* 138249 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
48991 /* 138251 */ GIR_RootConstrainSelectedInstOperands,
48992 /* 138252 */ // GIR_Coverage, 19776,
48993 /* 138252 */ GIR_EraseRootFromParent_Done,
48994 /* 138253 */ // Label 3003: @138253
48995 /* 138253 */ GIM_Try, /*On fail goto*//*Label 3004*/ GIMT_Encode4(138300), // Rule ID 3600 //
48996 /* 138258 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
48997 /* 138261 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
48998 /* 138265 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48999 /* 138269 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49000 /* 138275 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
49001 /* 138277 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
49002 /* 138281 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49003 /* 138287 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
49004 /* 138289 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
49005 /* 138291 */ // (vselect:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, immAllOnesV:{ *:[v16i32] }, immAllZerosV:{ *:[v16i32] }) => (AVX512_512_SEXT_MASK_32:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask)
49006 /* 138291 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AVX512_512_SEXT_MASK_32),
49007 /* 138294 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49008 /* 138296 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49009 /* 138298 */ GIR_RootConstrainSelectedInstOperands,
49010 /* 138299 */ // GIR_Coverage, 3600,
49011 /* 138299 */ GIR_EraseRootFromParent_Done,
49012 /* 138300 */ // Label 3004: @138300
49013 /* 138300 */ GIM_Try, /*On fail goto*//*Label 3005*/ GIMT_Encode4(138357), // Rule ID 19774 //
49014 /* 138305 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
49015 /* 138309 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49016 /* 138313 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49017 /* 138319 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49018 /* 138321 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49019 /* 138325 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49020 /* 138327 */ // (vselect:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16i32] }, VR512:{ *:[v16i32] }:$src) => (VMOVDQA32Zrrkz:{ *:[v16i32] } (KNOTWkk:{ *:[v16i1] } VK16WM:{ *:[v16i1] }:$mask), VR512:{ *:[v16i32] }:$src)
49021 /* 138327 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
49022 /* 138330 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
49023 /* 138334 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49024 /* 138339 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // mask
49025 /* 138343 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49026 /* 138345 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
49027 /* 138348 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49028 /* 138350 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
49029 /* 138353 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
49030 /* 138355 */ GIR_RootConstrainSelectedInstOperands,
49031 /* 138356 */ // GIR_Coverage, 19774,
49032 /* 138356 */ GIR_EraseRootFromParent_Done,
49033 /* 138357 */ // Label 3005: @138357
49034 /* 138357 */ GIM_Try, /*On fail goto*//*Label 3006*/ GIMT_Encode4(138398), // Rule ID 4465 //
49035 /* 138362 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
49036 /* 138365 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
49037 /* 138369 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49038 /* 138373 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49039 /* 138377 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49040 /* 138383 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49041 /* 138385 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49042 /* 138387 */ // (vselect:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src, immAllZerosV:{ *:[v16f32] }) => (VMOVAPSZrrkz:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src)
49043 /* 138387 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrkz),
49044 /* 138390 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49045 /* 138392 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49046 /* 138394 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
49047 /* 138396 */ GIR_RootConstrainSelectedInstOperands,
49048 /* 138397 */ // GIR_Coverage, 4465,
49049 /* 138397 */ GIR_EraseRootFromParent_Done,
49050 /* 138398 */ // Label 3006: @138398
49051 /* 138398 */ GIM_Try, /*On fail goto*//*Label 3007*/ GIMT_Encode4(138439), // Rule ID 4525 //
49052 /* 138403 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
49053 /* 138406 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
49054 /* 138410 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49055 /* 138414 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49056 /* 138418 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49057 /* 138424 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49058 /* 138426 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49059 /* 138428 */ // (vselect:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src, immAllZerosV:{ *:[v16i32] }) => (VMOVDQA32Zrrkz:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
49060 /* 138428 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
49061 /* 138431 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49062 /* 138433 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49063 /* 138435 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
49064 /* 138437 */ GIR_RootConstrainSelectedInstOperands,
49065 /* 138438 */ // GIR_Coverage, 4525,
49066 /* 138438 */ GIR_EraseRootFromParent_Done,
49067 /* 138439 */ // Label 3007: @138439
49068 /* 138439 */ GIM_Try, /*On fail goto*//*Label 3008*/ GIMT_Encode4(138472), // Rule ID 4467 //
49069 /* 138444 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
49070 /* 138447 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
49071 /* 138451 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49072 /* 138455 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49073 /* 138459 */ // (vselect:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src0) => (VMOVAPSZrrk:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src1)
49074 /* 138459 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrk),
49075 /* 138462 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49076 /* 138464 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49077 /* 138466 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49078 /* 138468 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49079 /* 138470 */ GIR_RootConstrainSelectedInstOperands,
49080 /* 138471 */ // GIR_Coverage, 4467,
49081 /* 138471 */ GIR_EraseRootFromParent_Done,
49082 /* 138472 */ // Label 3008: @138472
49083 /* 138472 */ GIM_Try, /*On fail goto*//*Label 3009*/ GIMT_Encode4(138505), // Rule ID 4526 //
49084 /* 138477 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
49085 /* 138480 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
49086 /* 138484 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49087 /* 138488 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49088 /* 138492 */ // (vselect:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src0) => (VMOVDQA32Zrrk:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src1)
49089 /* 138492 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrk),
49090 /* 138495 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49091 /* 138497 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49092 /* 138499 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49093 /* 138501 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49094 /* 138503 */ GIR_RootConstrainSelectedInstOperands,
49095 /* 138504 */ // GIR_Coverage, 4526,
49096 /* 138504 */ GIR_EraseRootFromParent_Done,
49097 /* 138505 */ // Label 3009: @138505
49098 /* 138505 */ GIM_Reject,
49099 /* 138506 */ // Label 3002: @138506
49100 /* 138506 */ GIM_Reject,
49101 /* 138507 */ // Label 2923: @138507
49102 /* 138507 */ GIM_Try, /*On fail goto*//*Label 3010*/ GIMT_Encode4(138910),
49103 /* 138512 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
49104 /* 138515 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
49105 /* 138518 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
49106 /* 138521 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49107 /* 138525 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32WMRegClassID),
49108 /* 138529 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49109 /* 138533 */ GIM_Try, /*On fail goto*//*Label 3011*/ GIMT_Encode4(138566), // Rule ID 4559 //
49110 /* 138538 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49111 /* 138541 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49112 /* 138545 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49113 /* 138551 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49114 /* 138553 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49115 /* 138555 */ // (vselect:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src, immAllZerosV:{ *:[v32i8] }) => (VMOVDQU8Z256rrkz:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src)
49116 /* 138555 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Z256rrkz),
49117 /* 138558 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49118 /* 138560 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49119 /* 138562 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
49120 /* 138564 */ GIR_RootConstrainSelectedInstOperands,
49121 /* 138565 */ // GIR_Coverage, 4559,
49122 /* 138565 */ GIR_EraseRootFromParent_Done,
49123 /* 138566 */ // Label 3011: @138566
49124 /* 138566 */ GIM_Try, /*On fail goto*//*Label 3012*/ GIMT_Encode4(138703), // Rule ID 19796 //
49125 /* 138571 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
49126 /* 138574 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49127 /* 138578 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49128 /* 138584 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49129 /* 138586 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49130 /* 138588 */ // (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] })
49131 /* 138588 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v64s8,
49132 /* 138591 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49133 /* 138595 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49134 /* 138600 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
49135 /* 138602 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
49136 /* 138605 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49137 /* 138609 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49138 /* 138614 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
49139 /* 138617 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
49140 /* 138621 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
49141 /* 138624 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49142 /* 138629 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49143 /* 138634 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
49144 /* 138639 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s1,
49145 /* 138642 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49146 /* 138646 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49147 /* 138651 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
49148 /* 138655 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK64WMRegClassID),
49149 /* 138660 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
49150 /* 138663 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrkz),
49151 /* 138667 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49152 /* 138672 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49153 /* 138675 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
49154 /* 138678 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49155 /* 138680 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49156 /* 138683 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49157 /* 138685 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
49158 /* 138692 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
49159 /* 138697 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49160 /* 138702 */ // GIR_Coverage, 19796,
49161 /* 138702 */ GIR_EraseRootFromParent_Done,
49162 /* 138703 */ // Label 3012: @138703
49163 /* 138703 */ GIM_Try, /*On fail goto*//*Label 3013*/ GIMT_Encode4(138728), // Rule ID 4560 //
49164 /* 138708 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49165 /* 138711 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49166 /* 138715 */ // (vselect:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src0) => (VMOVDQU8Z256rrk:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src0, VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src1)
49167 /* 138715 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Z256rrk),
49168 /* 138718 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49169 /* 138720 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49170 /* 138722 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49171 /* 138724 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49172 /* 138726 */ GIR_RootConstrainSelectedInstOperands,
49173 /* 138727 */ // GIR_Coverage, 4560,
49174 /* 138727 */ GIR_EraseRootFromParent_Done,
49175 /* 138728 */ // Label 3013: @138728
49176 /* 138728 */ GIM_Try, /*On fail goto*//*Label 3014*/ GIMT_Encode4(138909), // Rule ID 19795 //
49177 /* 138733 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
49178 /* 138736 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49179 /* 138740 */ // (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] })
49180 /* 138740 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v64s8,
49181 /* 138743 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49182 /* 138747 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49183 /* 138752 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
49184 /* 138754 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v64s8,
49185 /* 138757 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49186 /* 138761 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49187 /* 138766 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
49188 /* 138769 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
49189 /* 138773 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
49190 /* 138776 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49191 /* 138781 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49192 /* 138786 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
49193 /* 138791 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v64s1,
49194 /* 138794 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49195 /* 138798 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49196 /* 138803 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
49197 /* 138807 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK64WMRegClassID),
49198 /* 138812 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
49199 /* 138815 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49200 /* 138819 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49201 /* 138824 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
49202 /* 138826 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
49203 /* 138829 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49204 /* 138833 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49205 /* 138838 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
49206 /* 138841 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
49207 /* 138845 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
49208 /* 138848 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49209 /* 138853 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49210 /* 138858 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
49211 /* 138863 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
49212 /* 138866 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrk),
49213 /* 138870 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49214 /* 138875 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49215 /* 138878 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
49216 /* 138881 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
49217 /* 138884 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49218 /* 138886 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49219 /* 138889 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49220 /* 138891 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
49221 /* 138898 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
49222 /* 138903 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49223 /* 138908 */ // GIR_Coverage, 19795,
49224 /* 138908 */ GIR_EraseRootFromParent_Done,
49225 /* 138909 */ // Label 3014: @138909
49226 /* 138909 */ GIM_Reject,
49227 /* 138910 */ // Label 3010: @138910
49228 /* 138910 */ GIM_Reject,
49229 /* 138911 */ // Label 2924: @138911
49230 /* 138911 */ GIM_Try, /*On fail goto*//*Label 3015*/ GIMT_Encode4(139328),
49231 /* 138916 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
49232 /* 138919 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
49233 /* 138922 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
49234 /* 138925 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49235 /* 138929 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32WMRegClassID),
49236 /* 138933 */ GIM_Try, /*On fail goto*//*Label 3016*/ GIMT_Encode4(139004), // Rule ID 19856 //
49237 /* 138938 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
49238 /* 138941 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49239 /* 138945 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49240 /* 138949 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49241 /* 138952 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49242 /* 138956 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49243 /* 138960 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
49244 /* 138964 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
49245 /* 138968 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49246 /* 138974 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
49247 /* 138976 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
49248 /* 138978 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49249 /* 138985 */ // (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)
49250 /* 138985 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrmkz),
49251 /* 138988 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49252 /* 138990 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49253 /* 138992 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
49254 /* 138996 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
49255 /* 139002 */ GIR_RootConstrainSelectedInstOperands,
49256 /* 139003 */ // GIR_Coverage, 19856,
49257 /* 139003 */ GIR_EraseRootFromParent_Done,
49258 /* 139004 */ // Label 3016: @139004
49259 /* 139004 */ GIM_Try, /*On fail goto*//*Label 3017*/ GIMT_Encode4(139071), // Rule ID 19858 //
49260 /* 139009 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
49261 /* 139012 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49262 /* 139016 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49263 /* 139020 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49264 /* 139023 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49265 /* 139027 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49266 /* 139031 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
49267 /* 139035 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49268 /* 139041 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
49269 /* 139043 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
49270 /* 139045 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49271 /* 139052 */ // (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)
49272 /* 139052 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrmkz),
49273 /* 139055 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49274 /* 139057 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49275 /* 139059 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
49276 /* 139063 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
49277 /* 139069 */ GIR_RootConstrainSelectedInstOperands,
49278 /* 139070 */ // GIR_Coverage, 19858,
49279 /* 139070 */ GIR_EraseRootFromParent_Done,
49280 /* 139071 */ // Label 3017: @139071
49281 /* 139071 */ GIM_Try, /*On fail goto*//*Label 3018*/ GIMT_Encode4(139135), // Rule ID 19855 //
49282 /* 139076 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
49283 /* 139079 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49284 /* 139083 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49285 /* 139087 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49286 /* 139090 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49287 /* 139094 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49288 /* 139098 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
49289 /* 139102 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49290 /* 139106 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49291 /* 139108 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49292 /* 139115 */ // (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)
49293 /* 139115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrmk),
49294 /* 139118 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49295 /* 139120 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49296 /* 139122 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49297 /* 139124 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
49298 /* 139128 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49299 /* 139133 */ GIR_RootConstrainSelectedInstOperands,
49300 /* 139134 */ // GIR_Coverage, 19855,
49301 /* 139134 */ GIR_EraseRootFromParent_Done,
49302 /* 139135 */ // Label 3018: @139135
49303 /* 139135 */ GIM_Try, /*On fail goto*//*Label 3019*/ GIMT_Encode4(139195), // Rule ID 19857 //
49304 /* 139140 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
49305 /* 139143 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49306 /* 139147 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49307 /* 139151 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49308 /* 139154 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49309 /* 139158 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49310 /* 139162 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49311 /* 139166 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49312 /* 139168 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49313 /* 139175 */ // (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)
49314 /* 139175 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrmk),
49315 /* 139178 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49316 /* 139180 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49317 /* 139182 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49318 /* 139184 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
49319 /* 139188 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49320 /* 139193 */ GIR_RootConstrainSelectedInstOperands,
49321 /* 139194 */ // GIR_Coverage, 19857,
49322 /* 139194 */ GIR_EraseRootFromParent_Done,
49323 /* 139195 */ // Label 3019: @139195
49324 /* 139195 */ GIM_Try, /*On fail goto*//*Label 3020*/ GIMT_Encode4(139232), // Rule ID 4567 //
49325 /* 139200 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
49326 /* 139203 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49327 /* 139207 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49328 /* 139211 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49329 /* 139217 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49330 /* 139219 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49331 /* 139221 */ // (vselect:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src, immAllZerosV:{ *:[v32i16] }) => (VMOVDQU16Zrrkz:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src)
49332 /* 139221 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
49333 /* 139224 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49334 /* 139226 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49335 /* 139228 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
49336 /* 139230 */ GIR_RootConstrainSelectedInstOperands,
49337 /* 139231 */ // GIR_Coverage, 4567,
49338 /* 139231 */ GIR_EraseRootFromParent_Done,
49339 /* 139232 */ // Label 3020: @139232
49340 /* 139232 */ GIM_Try, /*On fail goto*//*Label 3021*/ GIMT_Encode4(139269), // Rule ID 19854 //
49341 /* 139237 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
49342 /* 139240 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49343 /* 139244 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49344 /* 139248 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49345 /* 139254 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49346 /* 139256 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49347 /* 139258 */ // (vselect:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32f16] }:$src1, immAllZerosV:{ *:[v32f16] }) => (VMOVDQU16Zrrkz:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32f16] }:$src1)
49348 /* 139258 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
49349 /* 139261 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49350 /* 139263 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49351 /* 139265 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49352 /* 139267 */ GIR_RootConstrainSelectedInstOperands,
49353 /* 139268 */ // GIR_Coverage, 19854,
49354 /* 139268 */ GIR_EraseRootFromParent_Done,
49355 /* 139269 */ // Label 3021: @139269
49356 /* 139269 */ GIM_Try, /*On fail goto*//*Label 3022*/ GIMT_Encode4(139298), // Rule ID 4568 //
49357 /* 139274 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
49358 /* 139277 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49359 /* 139281 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49360 /* 139285 */ // (vselect:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src0) => (VMOVDQU16Zrrk:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src0, VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src1)
49361 /* 139285 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
49362 /* 139288 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49363 /* 139290 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49364 /* 139292 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49365 /* 139294 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49366 /* 139296 */ GIR_RootConstrainSelectedInstOperands,
49367 /* 139297 */ // GIR_Coverage, 4568,
49368 /* 139297 */ GIR_EraseRootFromParent_Done,
49369 /* 139298 */ // Label 3022: @139298
49370 /* 139298 */ GIM_Try, /*On fail goto*//*Label 3023*/ GIMT_Encode4(139327), // Rule ID 19853 //
49371 /* 139303 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
49372 /* 139306 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49373 /* 139310 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49374 /* 139314 */ // (vselect:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src0) => (VMOVDQU16Zrrk:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src0, VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32f16] }:$src1)
49375 /* 139314 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
49376 /* 139317 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49377 /* 139319 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49378 /* 139321 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49379 /* 139323 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49380 /* 139325 */ GIR_RootConstrainSelectedInstOperands,
49381 /* 139326 */ // GIR_Coverage, 19853,
49382 /* 139326 */ GIR_EraseRootFromParent_Done,
49383 /* 139327 */ // Label 3023: @139327
49384 /* 139327 */ GIM_Reject,
49385 /* 139328 */ // Label 3015: @139328
49386 /* 139328 */ GIM_Reject,
49387 /* 139329 */ // Label 2925: @139329
49388 /* 139329 */ GIM_Try, /*On fail goto*//*Label 3024*/ GIMT_Encode4(139414),
49389 /* 139334 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
49390 /* 139337 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
49391 /* 139340 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v64s8,
49392 /* 139343 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49393 /* 139347 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64WMRegClassID),
49394 /* 139351 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49395 /* 139355 */ GIM_Try, /*On fail goto*//*Label 3025*/ GIMT_Encode4(139388), // Rule ID 4555 //
49396 /* 139360 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
49397 /* 139363 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49398 /* 139367 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49399 /* 139373 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49400 /* 139375 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49401 /* 139377 */ // (vselect:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src, immAllZerosV:{ *:[v64i8] }) => (VMOVDQU8Zrrkz:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src)
49402 /* 139377 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrkz),
49403 /* 139380 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49404 /* 139382 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49405 /* 139384 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
49406 /* 139386 */ GIR_RootConstrainSelectedInstOperands,
49407 /* 139387 */ // GIR_Coverage, 4555,
49408 /* 139387 */ GIR_EraseRootFromParent_Done,
49409 /* 139388 */ // Label 3025: @139388
49410 /* 139388 */ GIM_Try, /*On fail goto*//*Label 3026*/ GIMT_Encode4(139413), // Rule ID 4556 //
49411 /* 139393 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
49412 /* 139396 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49413 /* 139400 */ // (vselect:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src0) => (VMOVDQU8Zrrk:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src0, VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src1)
49414 /* 139400 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrk),
49415 /* 139403 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49416 /* 139405 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49417 /* 139407 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49418 /* 139409 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49419 /* 139411 */ GIR_RootConstrainSelectedInstOperands,
49420 /* 139412 */ // GIR_Coverage, 4556,
49421 /* 139412 */ GIR_EraseRootFromParent_Done,
49422 /* 139413 */ // Label 3026: @139413
49423 /* 139413 */ GIM_Reject,
49424 /* 139414 */ // Label 3024: @139414
49425 /* 139414 */ GIM_Reject,
49426 /* 139415 */ // Label 2926: @139415
49427 /* 139415 */ GIM_Reject,
49428 /* 139416 */ // Label 36: @139416
49429 /* 139416 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(23), /*)*//*default:*//*Label 3030*/ GIMT_Encode4(140280),
49430 /* 139427 */ /*GILLT_v8s16*//*Label 3027*/ GIMT_Encode4(139467), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
49431 /* 139447 */ /*GILLT_v16s16*//*Label 3028*/ GIMT_Encode4(139809), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
49432 /* 139463 */ /*GILLT_v32s16*//*Label 3029*/ GIMT_Encode4(140124),
49433 /* 139467 */ // Label 3027: @139467
49434 /* 139467 */ GIM_Try, /*On fail goto*//*Label 3031*/ GIMT_Encode4(139808),
49435 /* 139472 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
49436 /* 139475 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
49437 /* 139478 */ GIM_Try, /*On fail goto*//*Label 3032*/ GIMT_Encode4(139540), // Rule ID 23538 //
49438 /* 139483 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
49439 /* 139486 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49440 /* 139490 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49441 /* 139494 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49442 /* 139498 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49443 /* 139501 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49444 /* 139505 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49445 /* 139509 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49446 /* 139513 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49447 /* 139515 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49448 /* 139522 */ // (mulhu:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMULHUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49449 /* 139522 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWrm),
49450 /* 139525 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49451 /* 139527 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49452 /* 139529 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49453 /* 139533 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49454 /* 139538 */ GIR_RootConstrainSelectedInstOperands,
49455 /* 139539 */ // GIR_Coverage, 23538,
49456 /* 139539 */ GIR_EraseRootFromParent_Done,
49457 /* 139540 */ // Label 3032: @139540
49458 /* 139540 */ GIM_Try, /*On fail goto*//*Label 3033*/ GIMT_Encode4(139602), // Rule ID 23928 //
49459 /* 139545 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49460 /* 139548 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49461 /* 139552 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49462 /* 139556 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49463 /* 139560 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49464 /* 139563 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49465 /* 139567 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49466 /* 139571 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49467 /* 139575 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49468 /* 139577 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49469 /* 139584 */ // (mulhu:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMULHUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49470 /* 139584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ128rm),
49471 /* 139587 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49472 /* 139589 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49473 /* 139591 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49474 /* 139595 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49475 /* 139600 */ GIR_RootConstrainSelectedInstOperands,
49476 /* 139601 */ // GIR_Coverage, 23928,
49477 /* 139601 */ GIR_EraseRootFromParent_Done,
49478 /* 139602 */ // Label 3033: @139602
49479 /* 139602 */ GIM_Try, /*On fail goto*//*Label 3034*/ GIMT_Encode4(139664), // Rule ID 2577 //
49480 /* 139607 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
49481 /* 139610 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49482 /* 139614 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49483 /* 139618 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49484 /* 139622 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49485 /* 139626 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49486 /* 139629 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49487 /* 139633 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49488 /* 139637 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49489 /* 139639 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49490 /* 139646 */ // (mulhu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49491 /* 139646 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWrm),
49492 /* 139649 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49493 /* 139651 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49494 /* 139653 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49495 /* 139657 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49496 /* 139662 */ GIR_RootConstrainSelectedInstOperands,
49497 /* 139663 */ // GIR_Coverage, 2577,
49498 /* 139663 */ GIR_EraseRootFromParent_Done,
49499 /* 139664 */ // Label 3034: @139664
49500 /* 139664 */ GIM_Try, /*On fail goto*//*Label 3035*/ GIMT_Encode4(139726), // Rule ID 5066 //
49501 /* 139669 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49502 /* 139672 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49503 /* 139676 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49504 /* 139680 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49505 /* 139684 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49506 /* 139688 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49507 /* 139691 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49508 /* 139695 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49509 /* 139699 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49510 /* 139701 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49511 /* 139708 */ // (mulhu:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49512 /* 139708 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ128rm),
49513 /* 139711 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49514 /* 139713 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49515 /* 139715 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49516 /* 139719 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49517 /* 139724 */ GIR_RootConstrainSelectedInstOperands,
49518 /* 139725 */ // GIR_Coverage, 5066,
49519 /* 139725 */ GIR_EraseRootFromParent_Done,
49520 /* 139726 */ // Label 3035: @139726
49521 /* 139726 */ GIM_Try, /*On fail goto*//*Label 3036*/ GIMT_Encode4(139753), // Rule ID 2576 //
49522 /* 139731 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
49523 /* 139734 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49524 /* 139738 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49525 /* 139742 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49526 /* 139746 */ // (mulhu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMULHUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
49527 /* 139746 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWrr),
49528 /* 139751 */ GIR_RootConstrainSelectedInstOperands,
49529 /* 139752 */ // GIR_Coverage, 2576,
49530 /* 139752 */ GIR_Done,
49531 /* 139753 */ // Label 3036: @139753
49532 /* 139753 */ GIM_Try, /*On fail goto*//*Label 3037*/ GIMT_Encode4(139780), // Rule ID 2578 //
49533 /* 139758 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
49534 /* 139761 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49535 /* 139765 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49536 /* 139769 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49537 /* 139773 */ // (mulhu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMULHUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
49538 /* 139773 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMULHUWrr),
49539 /* 139778 */ GIR_RootConstrainSelectedInstOperands,
49540 /* 139779 */ // GIR_Coverage, 2578,
49541 /* 139779 */ GIR_Done,
49542 /* 139780 */ // Label 3037: @139780
49543 /* 139780 */ GIM_Try, /*On fail goto*//*Label 3038*/ GIMT_Encode4(139807), // Rule ID 5063 //
49544 /* 139785 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49545 /* 139788 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49546 /* 139792 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49547 /* 139796 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49548 /* 139800 */ // (mulhu:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMULHUWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
49549 /* 139800 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ128rr),
49550 /* 139805 */ GIR_RootConstrainSelectedInstOperands,
49551 /* 139806 */ // GIR_Coverage, 5063,
49552 /* 139806 */ GIR_Done,
49553 /* 139807 */ // Label 3038: @139807
49554 /* 139807 */ GIM_Reject,
49555 /* 139808 */ // Label 3031: @139808
49556 /* 139808 */ GIM_Reject,
49557 /* 139809 */ // Label 3028: @139809
49558 /* 139809 */ GIM_Try, /*On fail goto*//*Label 3039*/ GIMT_Encode4(140123),
49559 /* 139814 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
49560 /* 139817 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
49561 /* 139820 */ GIM_Try, /*On fail goto*//*Label 3040*/ GIMT_Encode4(139882), // Rule ID 23540 //
49562 /* 139825 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
49563 /* 139828 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49564 /* 139832 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49565 /* 139836 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49566 /* 139840 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49567 /* 139843 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49568 /* 139847 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49569 /* 139851 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49570 /* 139855 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49571 /* 139857 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49572 /* 139864 */ // (mulhu:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMULHUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49573 /* 139864 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWYrm),
49574 /* 139867 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49575 /* 139869 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49576 /* 139871 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49577 /* 139875 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49578 /* 139880 */ GIR_RootConstrainSelectedInstOperands,
49579 /* 139881 */ // GIR_Coverage, 23540,
49580 /* 139881 */ GIR_EraseRootFromParent_Done,
49581 /* 139882 */ // Label 3040: @139882
49582 /* 139882 */ GIM_Try, /*On fail goto*//*Label 3041*/ GIMT_Encode4(139944), // Rule ID 23925 //
49583 /* 139887 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49584 /* 139890 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49585 /* 139894 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49586 /* 139898 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49587 /* 139902 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49588 /* 139905 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49589 /* 139909 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49590 /* 139913 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49591 /* 139917 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49592 /* 139919 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49593 /* 139926 */ // (mulhu:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMULHUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49594 /* 139926 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ256rm),
49595 /* 139929 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49596 /* 139931 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49597 /* 139933 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49598 /* 139937 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49599 /* 139942 */ GIR_RootConstrainSelectedInstOperands,
49600 /* 139943 */ // GIR_Coverage, 23925,
49601 /* 139943 */ GIR_EraseRootFromParent_Done,
49602 /* 139944 */ // Label 3041: @139944
49603 /* 139944 */ GIM_Try, /*On fail goto*//*Label 3042*/ GIMT_Encode4(140006), // Rule ID 2581 //
49604 /* 139949 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
49605 /* 139952 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49606 /* 139956 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49607 /* 139960 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49608 /* 139964 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49609 /* 139968 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49610 /* 139971 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49611 /* 139975 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49612 /* 139979 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49613 /* 139981 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49614 /* 139988 */ // (mulhu:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49615 /* 139988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWYrm),
49616 /* 139991 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49617 /* 139993 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49618 /* 139995 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49619 /* 139999 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49620 /* 140004 */ GIR_RootConstrainSelectedInstOperands,
49621 /* 140005 */ // GIR_Coverage, 2581,
49622 /* 140005 */ GIR_EraseRootFromParent_Done,
49623 /* 140006 */ // Label 3042: @140006
49624 /* 140006 */ GIM_Try, /*On fail goto*//*Label 3043*/ GIMT_Encode4(140068), // Rule ID 5060 //
49625 /* 140011 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49626 /* 140014 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49627 /* 140018 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49628 /* 140022 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49629 /* 140026 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49630 /* 140030 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49631 /* 140033 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49632 /* 140037 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49633 /* 140041 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49634 /* 140043 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49635 /* 140050 */ // (mulhu:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49636 /* 140050 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ256rm),
49637 /* 140053 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49638 /* 140055 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49639 /* 140057 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49640 /* 140061 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49641 /* 140066 */ GIR_RootConstrainSelectedInstOperands,
49642 /* 140067 */ // GIR_Coverage, 5060,
49643 /* 140067 */ GIR_EraseRootFromParent_Done,
49644 /* 140068 */ // Label 3043: @140068
49645 /* 140068 */ GIM_Try, /*On fail goto*//*Label 3044*/ GIMT_Encode4(140095), // Rule ID 2580 //
49646 /* 140073 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
49647 /* 140076 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49648 /* 140080 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49649 /* 140084 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49650 /* 140088 */ // (mulhu:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMULHUWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
49651 /* 140088 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWYrr),
49652 /* 140093 */ GIR_RootConstrainSelectedInstOperands,
49653 /* 140094 */ // GIR_Coverage, 2580,
49654 /* 140094 */ GIR_Done,
49655 /* 140095 */ // Label 3044: @140095
49656 /* 140095 */ GIM_Try, /*On fail goto*//*Label 3045*/ GIMT_Encode4(140122), // Rule ID 5057 //
49657 /* 140100 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49658 /* 140103 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49659 /* 140107 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49660 /* 140111 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49661 /* 140115 */ // (mulhu:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMULHUWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
49662 /* 140115 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ256rr),
49663 /* 140120 */ GIR_RootConstrainSelectedInstOperands,
49664 /* 140121 */ // GIR_Coverage, 5057,
49665 /* 140121 */ GIR_Done,
49666 /* 140122 */ // Label 3045: @140122
49667 /* 140122 */ GIM_Reject,
49668 /* 140123 */ // Label 3039: @140123
49669 /* 140123 */ GIM_Reject,
49670 /* 140124 */ // Label 3029: @140124
49671 /* 140124 */ GIM_Try, /*On fail goto*//*Label 3046*/ GIMT_Encode4(140279),
49672 /* 140129 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
49673 /* 140132 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
49674 /* 140135 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49675 /* 140139 */ GIM_Try, /*On fail goto*//*Label 3047*/ GIMT_Encode4(140197), // Rule ID 23922 //
49676 /* 140144 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
49677 /* 140147 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49678 /* 140151 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49679 /* 140155 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49680 /* 140158 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49681 /* 140162 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49682 /* 140166 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49683 /* 140170 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49684 /* 140172 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49685 /* 140179 */ // (mulhu:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMULHUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49686 /* 140179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZrm),
49687 /* 140182 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49688 /* 140184 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49689 /* 140186 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49690 /* 140190 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49691 /* 140195 */ GIR_RootConstrainSelectedInstOperands,
49692 /* 140196 */ // GIR_Coverage, 23922,
49693 /* 140196 */ GIR_EraseRootFromParent_Done,
49694 /* 140197 */ // Label 3047: @140197
49695 /* 140197 */ GIM_Try, /*On fail goto*//*Label 3048*/ GIMT_Encode4(140255), // Rule ID 5054 //
49696 /* 140202 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
49697 /* 140205 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49698 /* 140209 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49699 /* 140213 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49700 /* 140217 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49701 /* 140220 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49702 /* 140224 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49703 /* 140228 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49704 /* 140230 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49705 /* 140237 */ // (mulhu:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49706 /* 140237 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZrm),
49707 /* 140240 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49708 /* 140242 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49709 /* 140244 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49710 /* 140248 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49711 /* 140253 */ GIR_RootConstrainSelectedInstOperands,
49712 /* 140254 */ // GIR_Coverage, 5054,
49713 /* 140254 */ GIR_EraseRootFromParent_Done,
49714 /* 140255 */ // Label 3048: @140255
49715 /* 140255 */ GIM_Try, /*On fail goto*//*Label 3049*/ GIMT_Encode4(140278), // Rule ID 5051 //
49716 /* 140260 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
49717 /* 140263 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49718 /* 140267 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49719 /* 140271 */ // (mulhu:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMULHUWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
49720 /* 140271 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZrr),
49721 /* 140276 */ GIR_RootConstrainSelectedInstOperands,
49722 /* 140277 */ // GIR_Coverage, 5051,
49723 /* 140277 */ GIR_Done,
49724 /* 140278 */ // Label 3049: @140278
49725 /* 140278 */ GIM_Reject,
49726 /* 140279 */ // Label 3046: @140279
49727 /* 140279 */ GIM_Reject,
49728 /* 140280 */ // Label 3030: @140280
49729 /* 140280 */ GIM_Reject,
49730 /* 140281 */ // Label 37: @140281
49731 /* 140281 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(23), /*)*//*default:*//*Label 3053*/ GIMT_Encode4(141145),
49732 /* 140292 */ /*GILLT_v8s16*//*Label 3050*/ GIMT_Encode4(140332), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
49733 /* 140312 */ /*GILLT_v16s16*//*Label 3051*/ GIMT_Encode4(140674), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
49734 /* 140328 */ /*GILLT_v32s16*//*Label 3052*/ GIMT_Encode4(140989),
49735 /* 140332 */ // Label 3050: @140332
49736 /* 140332 */ GIM_Try, /*On fail goto*//*Label 3054*/ GIMT_Encode4(140673),
49737 /* 140337 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
49738 /* 140340 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
49739 /* 140343 */ GIM_Try, /*On fail goto*//*Label 3055*/ GIMT_Encode4(140405), // Rule ID 23541 //
49740 /* 140348 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
49741 /* 140351 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49742 /* 140355 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49743 /* 140359 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49744 /* 140363 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49745 /* 140366 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49746 /* 140370 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49747 /* 140374 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49748 /* 140378 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49749 /* 140380 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49750 /* 140387 */ // (mulhs:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMULHWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49751 /* 140387 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWrm),
49752 /* 140390 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49753 /* 140392 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49754 /* 140394 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49755 /* 140398 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49756 /* 140403 */ GIR_RootConstrainSelectedInstOperands,
49757 /* 140404 */ // GIR_Coverage, 23541,
49758 /* 140404 */ GIR_EraseRootFromParent_Done,
49759 /* 140405 */ // Label 3055: @140405
49760 /* 140405 */ GIM_Try, /*On fail goto*//*Label 3056*/ GIMT_Encode4(140467), // Rule ID 23919 //
49761 /* 140410 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49762 /* 140413 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49763 /* 140417 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49764 /* 140421 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49765 /* 140425 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49766 /* 140428 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49767 /* 140432 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49768 /* 140436 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49769 /* 140440 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49770 /* 140442 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49771 /* 140449 */ // (mulhs:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMULHWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49772 /* 140449 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ128rm),
49773 /* 140452 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49774 /* 140454 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49775 /* 140456 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49776 /* 140460 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49777 /* 140465 */ GIR_RootConstrainSelectedInstOperands,
49778 /* 140466 */ // GIR_Coverage, 23919,
49779 /* 140466 */ GIR_EraseRootFromParent_Done,
49780 /* 140467 */ // Label 3056: @140467
49781 /* 140467 */ GIM_Try, /*On fail goto*//*Label 3057*/ GIMT_Encode4(140529), // Rule ID 2583 //
49782 /* 140472 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
49783 /* 140475 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49784 /* 140479 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49785 /* 140483 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49786 /* 140487 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49787 /* 140491 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49788 /* 140494 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49789 /* 140498 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49790 /* 140502 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49791 /* 140504 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49792 /* 140511 */ // (mulhs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49793 /* 140511 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWrm),
49794 /* 140514 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49795 /* 140516 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49796 /* 140518 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49797 /* 140522 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49798 /* 140527 */ GIR_RootConstrainSelectedInstOperands,
49799 /* 140528 */ // GIR_Coverage, 2583,
49800 /* 140528 */ GIR_EraseRootFromParent_Done,
49801 /* 140529 */ // Label 3057: @140529
49802 /* 140529 */ GIM_Try, /*On fail goto*//*Label 3058*/ GIMT_Encode4(140591), // Rule ID 5048 //
49803 /* 140534 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49804 /* 140537 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49805 /* 140541 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49806 /* 140545 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49807 /* 140549 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49808 /* 140553 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49809 /* 140556 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49810 /* 140560 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49811 /* 140564 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49812 /* 140566 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49813 /* 140573 */ // (mulhs:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49814 /* 140573 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ128rm),
49815 /* 140576 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49816 /* 140578 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49817 /* 140580 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49818 /* 140584 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49819 /* 140589 */ GIR_RootConstrainSelectedInstOperands,
49820 /* 140590 */ // GIR_Coverage, 5048,
49821 /* 140590 */ GIR_EraseRootFromParent_Done,
49822 /* 140591 */ // Label 3058: @140591
49823 /* 140591 */ GIM_Try, /*On fail goto*//*Label 3059*/ GIMT_Encode4(140618), // Rule ID 2582 //
49824 /* 140596 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
49825 /* 140599 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49826 /* 140603 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49827 /* 140607 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49828 /* 140611 */ // (mulhs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMULHWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
49829 /* 140611 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWrr),
49830 /* 140616 */ GIR_RootConstrainSelectedInstOperands,
49831 /* 140617 */ // GIR_Coverage, 2582,
49832 /* 140617 */ GIR_Done,
49833 /* 140618 */ // Label 3059: @140618
49834 /* 140618 */ GIM_Try, /*On fail goto*//*Label 3060*/ GIMT_Encode4(140645), // Rule ID 2584 //
49835 /* 140623 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
49836 /* 140626 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49837 /* 140630 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49838 /* 140634 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49839 /* 140638 */ // (mulhs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMULHWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
49840 /* 140638 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMULHWrr),
49841 /* 140643 */ GIR_RootConstrainSelectedInstOperands,
49842 /* 140644 */ // GIR_Coverage, 2584,
49843 /* 140644 */ GIR_Done,
49844 /* 140645 */ // Label 3060: @140645
49845 /* 140645 */ GIM_Try, /*On fail goto*//*Label 3061*/ GIMT_Encode4(140672), // Rule ID 5045 //
49846 /* 140650 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49847 /* 140653 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49848 /* 140657 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49849 /* 140661 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49850 /* 140665 */ // (mulhs:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMULHWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
49851 /* 140665 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ128rr),
49852 /* 140670 */ GIR_RootConstrainSelectedInstOperands,
49853 /* 140671 */ // GIR_Coverage, 5045,
49854 /* 140671 */ GIR_Done,
49855 /* 140672 */ // Label 3061: @140672
49856 /* 140672 */ GIM_Reject,
49857 /* 140673 */ // Label 3054: @140673
49858 /* 140673 */ GIM_Reject,
49859 /* 140674 */ // Label 3051: @140674
49860 /* 140674 */ GIM_Try, /*On fail goto*//*Label 3062*/ GIMT_Encode4(140988),
49861 /* 140679 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
49862 /* 140682 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
49863 /* 140685 */ GIM_Try, /*On fail goto*//*Label 3063*/ GIMT_Encode4(140747), // Rule ID 23543 //
49864 /* 140690 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
49865 /* 140693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49866 /* 140697 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49867 /* 140701 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49868 /* 140705 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49869 /* 140708 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49870 /* 140712 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49871 /* 140716 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49872 /* 140720 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49873 /* 140722 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49874 /* 140729 */ // (mulhs:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMULHWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49875 /* 140729 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWYrm),
49876 /* 140732 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49877 /* 140734 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49878 /* 140736 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49879 /* 140740 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49880 /* 140745 */ GIR_RootConstrainSelectedInstOperands,
49881 /* 140746 */ // GIR_Coverage, 23543,
49882 /* 140746 */ GIR_EraseRootFromParent_Done,
49883 /* 140747 */ // Label 3063: @140747
49884 /* 140747 */ GIM_Try, /*On fail goto*//*Label 3064*/ GIMT_Encode4(140809), // Rule ID 23916 //
49885 /* 140752 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49886 /* 140755 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49887 /* 140759 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49888 /* 140763 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49889 /* 140767 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49890 /* 140770 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49891 /* 140774 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49892 /* 140778 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49893 /* 140782 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49894 /* 140784 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49895 /* 140791 */ // (mulhs:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMULHWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49896 /* 140791 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ256rm),
49897 /* 140794 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49898 /* 140796 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49899 /* 140798 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49900 /* 140802 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49901 /* 140807 */ GIR_RootConstrainSelectedInstOperands,
49902 /* 140808 */ // GIR_Coverage, 23916,
49903 /* 140808 */ GIR_EraseRootFromParent_Done,
49904 /* 140809 */ // Label 3064: @140809
49905 /* 140809 */ GIM_Try, /*On fail goto*//*Label 3065*/ GIMT_Encode4(140871), // Rule ID 2587 //
49906 /* 140814 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
49907 /* 140817 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49908 /* 140821 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49909 /* 140825 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49910 /* 140829 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49911 /* 140833 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49912 /* 140836 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49913 /* 140840 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49914 /* 140844 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49915 /* 140846 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49916 /* 140853 */ // (mulhs:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49917 /* 140853 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWYrm),
49918 /* 140856 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49919 /* 140858 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49920 /* 140860 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49921 /* 140864 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49922 /* 140869 */ GIR_RootConstrainSelectedInstOperands,
49923 /* 140870 */ // GIR_Coverage, 2587,
49924 /* 140870 */ GIR_EraseRootFromParent_Done,
49925 /* 140871 */ // Label 3065: @140871
49926 /* 140871 */ GIM_Try, /*On fail goto*//*Label 3066*/ GIMT_Encode4(140933), // Rule ID 5042 //
49927 /* 140876 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49928 /* 140879 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49929 /* 140883 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49930 /* 140887 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49931 /* 140891 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49932 /* 140895 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49933 /* 140898 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49934 /* 140902 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49935 /* 140906 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49936 /* 140908 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49937 /* 140915 */ // (mulhs:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49938 /* 140915 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ256rm),
49939 /* 140918 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49940 /* 140920 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49941 /* 140922 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49942 /* 140926 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49943 /* 140931 */ GIR_RootConstrainSelectedInstOperands,
49944 /* 140932 */ // GIR_Coverage, 5042,
49945 /* 140932 */ GIR_EraseRootFromParent_Done,
49946 /* 140933 */ // Label 3066: @140933
49947 /* 140933 */ GIM_Try, /*On fail goto*//*Label 3067*/ GIMT_Encode4(140960), // Rule ID 2586 //
49948 /* 140938 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
49949 /* 140941 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49950 /* 140945 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49951 /* 140949 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49952 /* 140953 */ // (mulhs:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMULHWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
49953 /* 140953 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWYrr),
49954 /* 140958 */ GIR_RootConstrainSelectedInstOperands,
49955 /* 140959 */ // GIR_Coverage, 2586,
49956 /* 140959 */ GIR_Done,
49957 /* 140960 */ // Label 3067: @140960
49958 /* 140960 */ GIM_Try, /*On fail goto*//*Label 3068*/ GIMT_Encode4(140987), // Rule ID 5039 //
49959 /* 140965 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49960 /* 140968 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49961 /* 140972 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49962 /* 140976 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49963 /* 140980 */ // (mulhs:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMULHWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
49964 /* 140980 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ256rr),
49965 /* 140985 */ GIR_RootConstrainSelectedInstOperands,
49966 /* 140986 */ // GIR_Coverage, 5039,
49967 /* 140986 */ GIR_Done,
49968 /* 140987 */ // Label 3068: @140987
49969 /* 140987 */ GIM_Reject,
49970 /* 140988 */ // Label 3062: @140988
49971 /* 140988 */ GIM_Reject,
49972 /* 140989 */ // Label 3052: @140989
49973 /* 140989 */ GIM_Try, /*On fail goto*//*Label 3069*/ GIMT_Encode4(141144),
49974 /* 140994 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
49975 /* 140997 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
49976 /* 141000 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49977 /* 141004 */ GIM_Try, /*On fail goto*//*Label 3070*/ GIMT_Encode4(141062), // Rule ID 23913 //
49978 /* 141009 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
49979 /* 141012 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49980 /* 141016 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49981 /* 141020 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49982 /* 141023 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49983 /* 141027 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49984 /* 141031 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49985 /* 141035 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49986 /* 141037 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49987 /* 141044 */ // (mulhs:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMULHWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49988 /* 141044 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZrm),
49989 /* 141047 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49990 /* 141049 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49991 /* 141051 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49992 /* 141055 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49993 /* 141060 */ GIR_RootConstrainSelectedInstOperands,
49994 /* 141061 */ // GIR_Coverage, 23913,
49995 /* 141061 */ GIR_EraseRootFromParent_Done,
49996 /* 141062 */ // Label 3070: @141062
49997 /* 141062 */ GIM_Try, /*On fail goto*//*Label 3071*/ GIMT_Encode4(141120), // Rule ID 5036 //
49998 /* 141067 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
49999 /* 141070 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50000 /* 141074 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50001 /* 141078 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50002 /* 141082 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50003 /* 141085 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50004 /* 141089 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50005 /* 141093 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50006 /* 141095 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50007 /* 141102 */ // (mulhs:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50008 /* 141102 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZrm),
50009 /* 141105 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50010 /* 141107 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50011 /* 141109 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50012 /* 141113 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50013 /* 141118 */ GIR_RootConstrainSelectedInstOperands,
50014 /* 141119 */ // GIR_Coverage, 5036,
50015 /* 141119 */ GIR_EraseRootFromParent_Done,
50016 /* 141120 */ // Label 3071: @141120
50017 /* 141120 */ GIM_Try, /*On fail goto*//*Label 3072*/ GIMT_Encode4(141143), // Rule ID 5033 //
50018 /* 141125 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50019 /* 141128 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50020 /* 141132 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50021 /* 141136 */ // (mulhs:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMULHWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
50022 /* 141136 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWZrr),
50023 /* 141141 */ GIR_RootConstrainSelectedInstOperands,
50024 /* 141142 */ // GIR_Coverage, 5033,
50025 /* 141142 */ GIR_Done,
50026 /* 141143 */ // Label 3072: @141143
50027 /* 141143 */ GIM_Reject,
50028 /* 141144 */ // Label 3069: @141144
50029 /* 141144 */ GIM_Reject,
50030 /* 141145 */ // Label 3053: @141145
50031 /* 141145 */ GIM_Reject,
50032 /* 141146 */ // Label 38: @141146
50033 /* 141146 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 3079*/ GIMT_Encode4(142831),
50034 /* 141157 */ /*GILLT_v8s16*//*Label 3073*/ GIMT_Encode4(141205), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
50035 /* 141173 */ /*GILLT_v16s8*//*Label 3074*/ GIMT_Encode4(141547),
50036 /* 141177 */ /*GILLT_v16s16*//*Label 3075*/ GIMT_Encode4(141889), GIMT_Encode4(0), GIMT_Encode4(0),
50037 /* 141189 */ /*GILLT_v32s8*//*Label 3076*/ GIMT_Encode4(142204),
50038 /* 141193 */ /*GILLT_v32s16*//*Label 3077*/ GIMT_Encode4(142519), GIMT_Encode4(0),
50039 /* 141201 */ /*GILLT_v64s8*//*Label 3078*/ GIMT_Encode4(142675),
50040 /* 141205 */ // Label 3073: @141205
50041 /* 141205 */ GIM_Try, /*On fail goto*//*Label 3080*/ GIMT_Encode4(141546),
50042 /* 141210 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
50043 /* 141213 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
50044 /* 141216 */ GIM_Try, /*On fail goto*//*Label 3081*/ GIMT_Encode4(141278), // Rule ID 23532 //
50045 /* 141221 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50046 /* 141224 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50047 /* 141228 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50048 /* 141232 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50049 /* 141236 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50050 /* 141239 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50051 /* 141243 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50052 /* 141247 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50053 /* 141251 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50054 /* 141253 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50055 /* 141260 */ // (uaddsat:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPADDUSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50056 /* 141260 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWrm),
50057 /* 141263 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50058 /* 141265 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50059 /* 141267 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50060 /* 141271 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50061 /* 141276 */ GIR_RootConstrainSelectedInstOperands,
50062 /* 141277 */ // GIR_Coverage, 23532,
50063 /* 141277 */ GIR_EraseRootFromParent_Done,
50064 /* 141278 */ // Label 3081: @141278
50065 /* 141278 */ GIM_Try, /*On fail goto*//*Label 3082*/ GIMT_Encode4(141340), // Rule ID 23856 //
50066 /* 141283 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50067 /* 141286 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50068 /* 141290 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50069 /* 141294 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50070 /* 141298 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50071 /* 141301 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50072 /* 141305 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50073 /* 141309 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50074 /* 141313 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50075 /* 141315 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50076 /* 141322 */ // (uaddsat:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPADDUSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50077 /* 141322 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ128rm),
50078 /* 141325 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50079 /* 141327 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50080 /* 141329 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50081 /* 141333 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50082 /* 141338 */ GIR_RootConstrainSelectedInstOperands,
50083 /* 141339 */ // GIR_Coverage, 23856,
50084 /* 141339 */ GIR_EraseRootFromParent_Done,
50085 /* 141340 */ // Label 3082: @141340
50086 /* 141340 */ GIM_Try, /*On fail goto*//*Label 3083*/ GIMT_Encode4(141402), // Rule ID 2565 //
50087 /* 141345 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50088 /* 141348 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50089 /* 141352 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50090 /* 141356 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50091 /* 141360 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50092 /* 141364 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50093 /* 141367 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50094 /* 141371 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50095 /* 141375 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50096 /* 141377 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50097 /* 141384 */ // (uaddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50098 /* 141384 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWrm),
50099 /* 141387 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50100 /* 141389 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50101 /* 141391 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50102 /* 141395 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50103 /* 141400 */ GIR_RootConstrainSelectedInstOperands,
50104 /* 141401 */ // GIR_Coverage, 2565,
50105 /* 141401 */ GIR_EraseRootFromParent_Done,
50106 /* 141402 */ // Label 3083: @141402
50107 /* 141402 */ GIM_Try, /*On fail goto*//*Label 3084*/ GIMT_Encode4(141464), // Rule ID 4904 //
50108 /* 141407 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50109 /* 141410 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50110 /* 141414 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50111 /* 141418 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50112 /* 141422 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50113 /* 141426 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50114 /* 141429 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50115 /* 141433 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50116 /* 141437 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50117 /* 141439 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50118 /* 141446 */ // (uaddsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50119 /* 141446 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ128rm),
50120 /* 141449 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50121 /* 141451 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50122 /* 141453 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50123 /* 141457 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50124 /* 141462 */ GIR_RootConstrainSelectedInstOperands,
50125 /* 141463 */ // GIR_Coverage, 4904,
50126 /* 141463 */ GIR_EraseRootFromParent_Done,
50127 /* 141464 */ // Label 3084: @141464
50128 /* 141464 */ GIM_Try, /*On fail goto*//*Label 3085*/ GIMT_Encode4(141491), // Rule ID 2564 //
50129 /* 141469 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50130 /* 141472 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50131 /* 141476 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50132 /* 141480 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50133 /* 141484 */ // (uaddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPADDUSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
50134 /* 141484 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWrr),
50135 /* 141489 */ GIR_RootConstrainSelectedInstOperands,
50136 /* 141490 */ // GIR_Coverage, 2564,
50137 /* 141490 */ GIR_Done,
50138 /* 141491 */ // Label 3085: @141491
50139 /* 141491 */ GIM_Try, /*On fail goto*//*Label 3086*/ GIMT_Encode4(141518), // Rule ID 2566 //
50140 /* 141496 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
50141 /* 141499 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50142 /* 141503 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50143 /* 141507 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50144 /* 141511 */ // (uaddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PADDUSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
50145 /* 141511 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDUSWrr),
50146 /* 141516 */ GIR_RootConstrainSelectedInstOperands,
50147 /* 141517 */ // GIR_Coverage, 2566,
50148 /* 141517 */ GIR_Done,
50149 /* 141518 */ // Label 3086: @141518
50150 /* 141518 */ GIM_Try, /*On fail goto*//*Label 3087*/ GIMT_Encode4(141545), // Rule ID 4901 //
50151 /* 141523 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50152 /* 141526 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50153 /* 141530 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50154 /* 141534 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50155 /* 141538 */ // (uaddsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPADDUSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
50156 /* 141538 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ128rr),
50157 /* 141543 */ GIR_RootConstrainSelectedInstOperands,
50158 /* 141544 */ // GIR_Coverage, 4901,
50159 /* 141544 */ GIR_Done,
50160 /* 141545 */ // Label 3087: @141545
50161 /* 141545 */ GIM_Reject,
50162 /* 141546 */ // Label 3080: @141546
50163 /* 141546 */ GIM_Reject,
50164 /* 141547 */ // Label 3074: @141547
50165 /* 141547 */ GIM_Try, /*On fail goto*//*Label 3088*/ GIMT_Encode4(141888),
50166 /* 141552 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
50167 /* 141555 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
50168 /* 141558 */ GIM_Try, /*On fail goto*//*Label 3089*/ GIMT_Encode4(141620), // Rule ID 23529 //
50169 /* 141563 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50170 /* 141566 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50171 /* 141570 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50172 /* 141574 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50173 /* 141578 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50174 /* 141581 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50175 /* 141585 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50176 /* 141589 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50177 /* 141593 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50178 /* 141595 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50179 /* 141602 */ // (uaddsat:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPADDUSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50180 /* 141602 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBrm),
50181 /* 141605 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50182 /* 141607 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50183 /* 141609 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50184 /* 141613 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50185 /* 141618 */ GIR_RootConstrainSelectedInstOperands,
50186 /* 141619 */ // GIR_Coverage, 23529,
50187 /* 141619 */ GIR_EraseRootFromParent_Done,
50188 /* 141620 */ // Label 3089: @141620
50189 /* 141620 */ GIM_Try, /*On fail goto*//*Label 3090*/ GIMT_Encode4(141682), // Rule ID 23865 //
50190 /* 141625 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50191 /* 141628 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50192 /* 141632 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50193 /* 141636 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50194 /* 141640 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50195 /* 141643 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50196 /* 141647 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50197 /* 141651 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50198 /* 141655 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50199 /* 141657 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50200 /* 141664 */ // (uaddsat:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPADDUSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50201 /* 141664 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ128rm),
50202 /* 141667 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50203 /* 141669 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50204 /* 141671 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50205 /* 141675 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50206 /* 141680 */ GIR_RootConstrainSelectedInstOperands,
50207 /* 141681 */ // GIR_Coverage, 23865,
50208 /* 141681 */ GIR_EraseRootFromParent_Done,
50209 /* 141682 */ // Label 3090: @141682
50210 /* 141682 */ GIM_Try, /*On fail goto*//*Label 3091*/ GIMT_Encode4(141744), // Rule ID 2559 //
50211 /* 141687 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50212 /* 141690 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50213 /* 141694 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50214 /* 141698 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50215 /* 141702 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50216 /* 141706 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50217 /* 141709 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50218 /* 141713 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50219 /* 141717 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50220 /* 141719 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50221 /* 141726 */ // (uaddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50222 /* 141726 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBrm),
50223 /* 141729 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50224 /* 141731 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50225 /* 141733 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50226 /* 141737 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50227 /* 141742 */ GIR_RootConstrainSelectedInstOperands,
50228 /* 141743 */ // GIR_Coverage, 2559,
50229 /* 141743 */ GIR_EraseRootFromParent_Done,
50230 /* 141744 */ // Label 3091: @141744
50231 /* 141744 */ GIM_Try, /*On fail goto*//*Label 3092*/ GIMT_Encode4(141806), // Rule ID 4922 //
50232 /* 141749 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50233 /* 141752 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50234 /* 141756 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50235 /* 141760 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50236 /* 141764 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50237 /* 141768 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50238 /* 141771 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50239 /* 141775 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50240 /* 141779 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50241 /* 141781 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50242 /* 141788 */ // (uaddsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50243 /* 141788 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ128rm),
50244 /* 141791 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50245 /* 141793 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50246 /* 141795 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50247 /* 141799 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50248 /* 141804 */ GIR_RootConstrainSelectedInstOperands,
50249 /* 141805 */ // GIR_Coverage, 4922,
50250 /* 141805 */ GIR_EraseRootFromParent_Done,
50251 /* 141806 */ // Label 3092: @141806
50252 /* 141806 */ GIM_Try, /*On fail goto*//*Label 3093*/ GIMT_Encode4(141833), // Rule ID 2558 //
50253 /* 141811 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50254 /* 141814 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50255 /* 141818 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50256 /* 141822 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50257 /* 141826 */ // (uaddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPADDUSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
50258 /* 141826 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBrr),
50259 /* 141831 */ GIR_RootConstrainSelectedInstOperands,
50260 /* 141832 */ // GIR_Coverage, 2558,
50261 /* 141832 */ GIR_Done,
50262 /* 141833 */ // Label 3093: @141833
50263 /* 141833 */ GIM_Try, /*On fail goto*//*Label 3094*/ GIMT_Encode4(141860), // Rule ID 2560 //
50264 /* 141838 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
50265 /* 141841 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50266 /* 141845 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50267 /* 141849 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50268 /* 141853 */ // (uaddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PADDUSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
50269 /* 141853 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDUSBrr),
50270 /* 141858 */ GIR_RootConstrainSelectedInstOperands,
50271 /* 141859 */ // GIR_Coverage, 2560,
50272 /* 141859 */ GIR_Done,
50273 /* 141860 */ // Label 3094: @141860
50274 /* 141860 */ GIM_Try, /*On fail goto*//*Label 3095*/ GIMT_Encode4(141887), // Rule ID 4919 //
50275 /* 141865 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50276 /* 141868 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50277 /* 141872 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50278 /* 141876 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50279 /* 141880 */ // (uaddsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPADDUSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
50280 /* 141880 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ128rr),
50281 /* 141885 */ GIR_RootConstrainSelectedInstOperands,
50282 /* 141886 */ // GIR_Coverage, 4919,
50283 /* 141886 */ GIR_Done,
50284 /* 141887 */ // Label 3095: @141887
50285 /* 141887 */ GIM_Reject,
50286 /* 141888 */ // Label 3088: @141888
50287 /* 141888 */ GIM_Reject,
50288 /* 141889 */ // Label 3075: @141889
50289 /* 141889 */ GIM_Try, /*On fail goto*//*Label 3096*/ GIMT_Encode4(142203),
50290 /* 141894 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
50291 /* 141897 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
50292 /* 141900 */ GIM_Try, /*On fail goto*//*Label 3097*/ GIMT_Encode4(141962), // Rule ID 23534 //
50293 /* 141905 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50294 /* 141908 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50295 /* 141912 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50296 /* 141916 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50297 /* 141920 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50298 /* 141923 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50299 /* 141927 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50300 /* 141931 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50301 /* 141935 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50302 /* 141937 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50303 /* 141944 */ // (uaddsat:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPADDUSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50304 /* 141944 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWYrm),
50305 /* 141947 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50306 /* 141949 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50307 /* 141951 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50308 /* 141955 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50309 /* 141960 */ GIR_RootConstrainSelectedInstOperands,
50310 /* 141961 */ // GIR_Coverage, 23534,
50311 /* 141961 */ GIR_EraseRootFromParent_Done,
50312 /* 141962 */ // Label 3097: @141962
50313 /* 141962 */ GIM_Try, /*On fail goto*//*Label 3098*/ GIMT_Encode4(142024), // Rule ID 23853 //
50314 /* 141967 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50315 /* 141970 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50316 /* 141974 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50317 /* 141978 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50318 /* 141982 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50319 /* 141985 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50320 /* 141989 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50321 /* 141993 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50322 /* 141997 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50323 /* 141999 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50324 /* 142006 */ // (uaddsat:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPADDUSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50325 /* 142006 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ256rm),
50326 /* 142009 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50327 /* 142011 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50328 /* 142013 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50329 /* 142017 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50330 /* 142022 */ GIR_RootConstrainSelectedInstOperands,
50331 /* 142023 */ // GIR_Coverage, 23853,
50332 /* 142023 */ GIR_EraseRootFromParent_Done,
50333 /* 142024 */ // Label 3098: @142024
50334 /* 142024 */ GIM_Try, /*On fail goto*//*Label 3099*/ GIMT_Encode4(142086), // Rule ID 2569 //
50335 /* 142029 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50336 /* 142032 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50337 /* 142036 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50338 /* 142040 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50339 /* 142044 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50340 /* 142048 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50341 /* 142051 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50342 /* 142055 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50343 /* 142059 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50344 /* 142061 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50345 /* 142068 */ // (uaddsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50346 /* 142068 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWYrm),
50347 /* 142071 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50348 /* 142073 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50349 /* 142075 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50350 /* 142079 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50351 /* 142084 */ GIR_RootConstrainSelectedInstOperands,
50352 /* 142085 */ // GIR_Coverage, 2569,
50353 /* 142085 */ GIR_EraseRootFromParent_Done,
50354 /* 142086 */ // Label 3099: @142086
50355 /* 142086 */ GIM_Try, /*On fail goto*//*Label 3100*/ GIMT_Encode4(142148), // Rule ID 4898 //
50356 /* 142091 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50357 /* 142094 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50358 /* 142098 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50359 /* 142102 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50360 /* 142106 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50361 /* 142110 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50362 /* 142113 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50363 /* 142117 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50364 /* 142121 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50365 /* 142123 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50366 /* 142130 */ // (uaddsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50367 /* 142130 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ256rm),
50368 /* 142133 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50369 /* 142135 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50370 /* 142137 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50371 /* 142141 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50372 /* 142146 */ GIR_RootConstrainSelectedInstOperands,
50373 /* 142147 */ // GIR_Coverage, 4898,
50374 /* 142147 */ GIR_EraseRootFromParent_Done,
50375 /* 142148 */ // Label 3100: @142148
50376 /* 142148 */ GIM_Try, /*On fail goto*//*Label 3101*/ GIMT_Encode4(142175), // Rule ID 2568 //
50377 /* 142153 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50378 /* 142156 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50379 /* 142160 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50380 /* 142164 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50381 /* 142168 */ // (uaddsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPADDUSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
50382 /* 142168 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWYrr),
50383 /* 142173 */ GIR_RootConstrainSelectedInstOperands,
50384 /* 142174 */ // GIR_Coverage, 2568,
50385 /* 142174 */ GIR_Done,
50386 /* 142175 */ // Label 3101: @142175
50387 /* 142175 */ GIM_Try, /*On fail goto*//*Label 3102*/ GIMT_Encode4(142202), // Rule ID 4895 //
50388 /* 142180 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50389 /* 142183 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50390 /* 142187 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50391 /* 142191 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50392 /* 142195 */ // (uaddsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPADDUSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
50393 /* 142195 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ256rr),
50394 /* 142200 */ GIR_RootConstrainSelectedInstOperands,
50395 /* 142201 */ // GIR_Coverage, 4895,
50396 /* 142201 */ GIR_Done,
50397 /* 142202 */ // Label 3102: @142202
50398 /* 142202 */ GIM_Reject,
50399 /* 142203 */ // Label 3096: @142203
50400 /* 142203 */ GIM_Reject,
50401 /* 142204 */ // Label 3076: @142204
50402 /* 142204 */ GIM_Try, /*On fail goto*//*Label 3103*/ GIMT_Encode4(142518),
50403 /* 142209 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
50404 /* 142212 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
50405 /* 142215 */ GIM_Try, /*On fail goto*//*Label 3104*/ GIMT_Encode4(142277), // Rule ID 23531 //
50406 /* 142220 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50407 /* 142223 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50408 /* 142227 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50409 /* 142231 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50410 /* 142235 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50411 /* 142238 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50412 /* 142242 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50413 /* 142246 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50414 /* 142250 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50415 /* 142252 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50416 /* 142259 */ // (uaddsat:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPADDUSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50417 /* 142259 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBYrm),
50418 /* 142262 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50419 /* 142264 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50420 /* 142266 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50421 /* 142270 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50422 /* 142275 */ GIR_RootConstrainSelectedInstOperands,
50423 /* 142276 */ // GIR_Coverage, 23531,
50424 /* 142276 */ GIR_EraseRootFromParent_Done,
50425 /* 142277 */ // Label 3104: @142277
50426 /* 142277 */ GIM_Try, /*On fail goto*//*Label 3105*/ GIMT_Encode4(142339), // Rule ID 23862 //
50427 /* 142282 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50428 /* 142285 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50429 /* 142289 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50430 /* 142293 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50431 /* 142297 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50432 /* 142300 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50433 /* 142304 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50434 /* 142308 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50435 /* 142312 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50436 /* 142314 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50437 /* 142321 */ // (uaddsat:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPADDUSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50438 /* 142321 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ256rm),
50439 /* 142324 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50440 /* 142326 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50441 /* 142328 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50442 /* 142332 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50443 /* 142337 */ GIR_RootConstrainSelectedInstOperands,
50444 /* 142338 */ // GIR_Coverage, 23862,
50445 /* 142338 */ GIR_EraseRootFromParent_Done,
50446 /* 142339 */ // Label 3105: @142339
50447 /* 142339 */ GIM_Try, /*On fail goto*//*Label 3106*/ GIMT_Encode4(142401), // Rule ID 2563 //
50448 /* 142344 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50449 /* 142347 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50450 /* 142351 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50451 /* 142355 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50452 /* 142359 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50453 /* 142363 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50454 /* 142366 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50455 /* 142370 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50456 /* 142374 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50457 /* 142376 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50458 /* 142383 */ // (uaddsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50459 /* 142383 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBYrm),
50460 /* 142386 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50461 /* 142388 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50462 /* 142390 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50463 /* 142394 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50464 /* 142399 */ GIR_RootConstrainSelectedInstOperands,
50465 /* 142400 */ // GIR_Coverage, 2563,
50466 /* 142400 */ GIR_EraseRootFromParent_Done,
50467 /* 142401 */ // Label 3106: @142401
50468 /* 142401 */ GIM_Try, /*On fail goto*//*Label 3107*/ GIMT_Encode4(142463), // Rule ID 4916 //
50469 /* 142406 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50470 /* 142409 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50471 /* 142413 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50472 /* 142417 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50473 /* 142421 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50474 /* 142425 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50475 /* 142428 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50476 /* 142432 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50477 /* 142436 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50478 /* 142438 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50479 /* 142445 */ // (uaddsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50480 /* 142445 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ256rm),
50481 /* 142448 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50482 /* 142450 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50483 /* 142452 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50484 /* 142456 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50485 /* 142461 */ GIR_RootConstrainSelectedInstOperands,
50486 /* 142462 */ // GIR_Coverage, 4916,
50487 /* 142462 */ GIR_EraseRootFromParent_Done,
50488 /* 142463 */ // Label 3107: @142463
50489 /* 142463 */ GIM_Try, /*On fail goto*//*Label 3108*/ GIMT_Encode4(142490), // Rule ID 2562 //
50490 /* 142468 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50491 /* 142471 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50492 /* 142475 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50493 /* 142479 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50494 /* 142483 */ // (uaddsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPADDUSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
50495 /* 142483 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBYrr),
50496 /* 142488 */ GIR_RootConstrainSelectedInstOperands,
50497 /* 142489 */ // GIR_Coverage, 2562,
50498 /* 142489 */ GIR_Done,
50499 /* 142490 */ // Label 3108: @142490
50500 /* 142490 */ GIM_Try, /*On fail goto*//*Label 3109*/ GIMT_Encode4(142517), // Rule ID 4913 //
50501 /* 142495 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50502 /* 142498 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50503 /* 142502 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50504 /* 142506 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50505 /* 142510 */ // (uaddsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPADDUSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
50506 /* 142510 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ256rr),
50507 /* 142515 */ GIR_RootConstrainSelectedInstOperands,
50508 /* 142516 */ // GIR_Coverage, 4913,
50509 /* 142516 */ GIR_Done,
50510 /* 142517 */ // Label 3109: @142517
50511 /* 142517 */ GIM_Reject,
50512 /* 142518 */ // Label 3103: @142518
50513 /* 142518 */ GIM_Reject,
50514 /* 142519 */ // Label 3077: @142519
50515 /* 142519 */ GIM_Try, /*On fail goto*//*Label 3110*/ GIMT_Encode4(142674),
50516 /* 142524 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
50517 /* 142527 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
50518 /* 142530 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50519 /* 142534 */ GIM_Try, /*On fail goto*//*Label 3111*/ GIMT_Encode4(142592), // Rule ID 23850 //
50520 /* 142539 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50521 /* 142542 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50522 /* 142546 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50523 /* 142550 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50524 /* 142553 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50525 /* 142557 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50526 /* 142561 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50527 /* 142565 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50528 /* 142567 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50529 /* 142574 */ // (uaddsat:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPADDUSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50530 /* 142574 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZrm),
50531 /* 142577 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50532 /* 142579 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50533 /* 142581 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50534 /* 142585 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50535 /* 142590 */ GIR_RootConstrainSelectedInstOperands,
50536 /* 142591 */ // GIR_Coverage, 23850,
50537 /* 142591 */ GIR_EraseRootFromParent_Done,
50538 /* 142592 */ // Label 3111: @142592
50539 /* 142592 */ GIM_Try, /*On fail goto*//*Label 3112*/ GIMT_Encode4(142650), // Rule ID 4892 //
50540 /* 142597 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50541 /* 142600 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50542 /* 142604 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50543 /* 142608 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50544 /* 142612 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50545 /* 142615 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50546 /* 142619 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50547 /* 142623 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50548 /* 142625 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50549 /* 142632 */ // (uaddsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50550 /* 142632 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZrm),
50551 /* 142635 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50552 /* 142637 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50553 /* 142639 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50554 /* 142643 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50555 /* 142648 */ GIR_RootConstrainSelectedInstOperands,
50556 /* 142649 */ // GIR_Coverage, 4892,
50557 /* 142649 */ GIR_EraseRootFromParent_Done,
50558 /* 142650 */ // Label 3112: @142650
50559 /* 142650 */ GIM_Try, /*On fail goto*//*Label 3113*/ GIMT_Encode4(142673), // Rule ID 4889 //
50560 /* 142655 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50561 /* 142658 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50562 /* 142662 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50563 /* 142666 */ // (uaddsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPADDUSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
50564 /* 142666 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZrr),
50565 /* 142671 */ GIR_RootConstrainSelectedInstOperands,
50566 /* 142672 */ // GIR_Coverage, 4889,
50567 /* 142672 */ GIR_Done,
50568 /* 142673 */ // Label 3113: @142673
50569 /* 142673 */ GIM_Reject,
50570 /* 142674 */ // Label 3110: @142674
50571 /* 142674 */ GIM_Reject,
50572 /* 142675 */ // Label 3078: @142675
50573 /* 142675 */ GIM_Try, /*On fail goto*//*Label 3114*/ GIMT_Encode4(142830),
50574 /* 142680 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
50575 /* 142683 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
50576 /* 142686 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50577 /* 142690 */ GIM_Try, /*On fail goto*//*Label 3115*/ GIMT_Encode4(142748), // Rule ID 23859 //
50578 /* 142695 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50579 /* 142698 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50580 /* 142702 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50581 /* 142706 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50582 /* 142709 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50583 /* 142713 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50584 /* 142717 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50585 /* 142721 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50586 /* 142723 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50587 /* 142730 */ // (uaddsat:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPADDUSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50588 /* 142730 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZrm),
50589 /* 142733 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50590 /* 142735 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50591 /* 142737 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50592 /* 142741 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50593 /* 142746 */ GIR_RootConstrainSelectedInstOperands,
50594 /* 142747 */ // GIR_Coverage, 23859,
50595 /* 142747 */ GIR_EraseRootFromParent_Done,
50596 /* 142748 */ // Label 3115: @142748
50597 /* 142748 */ GIM_Try, /*On fail goto*//*Label 3116*/ GIMT_Encode4(142806), // Rule ID 4910 //
50598 /* 142753 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50599 /* 142756 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50600 /* 142760 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50601 /* 142764 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50602 /* 142768 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50603 /* 142771 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50604 /* 142775 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50605 /* 142779 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50606 /* 142781 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50607 /* 142788 */ // (uaddsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50608 /* 142788 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZrm),
50609 /* 142791 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50610 /* 142793 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50611 /* 142795 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50612 /* 142799 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50613 /* 142804 */ GIR_RootConstrainSelectedInstOperands,
50614 /* 142805 */ // GIR_Coverage, 4910,
50615 /* 142805 */ GIR_EraseRootFromParent_Done,
50616 /* 142806 */ // Label 3116: @142806
50617 /* 142806 */ GIM_Try, /*On fail goto*//*Label 3117*/ GIMT_Encode4(142829), // Rule ID 4907 //
50618 /* 142811 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50619 /* 142814 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50620 /* 142818 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50621 /* 142822 */ // (uaddsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPADDUSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
50622 /* 142822 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZrr),
50623 /* 142827 */ GIR_RootConstrainSelectedInstOperands,
50624 /* 142828 */ // GIR_Coverage, 4907,
50625 /* 142828 */ GIR_Done,
50626 /* 142829 */ // Label 3117: @142829
50627 /* 142829 */ GIM_Reject,
50628 /* 142830 */ // Label 3114: @142830
50629 /* 142830 */ GIM_Reject,
50630 /* 142831 */ // Label 3079: @142831
50631 /* 142831 */ GIM_Reject,
50632 /* 142832 */ // Label 39: @142832
50633 /* 142832 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 3124*/ GIMT_Encode4(144517),
50634 /* 142843 */ /*GILLT_v8s16*//*Label 3118*/ GIMT_Encode4(142891), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
50635 /* 142859 */ /*GILLT_v16s8*//*Label 3119*/ GIMT_Encode4(143233),
50636 /* 142863 */ /*GILLT_v16s16*//*Label 3120*/ GIMT_Encode4(143575), GIMT_Encode4(0), GIMT_Encode4(0),
50637 /* 142875 */ /*GILLT_v32s8*//*Label 3121*/ GIMT_Encode4(143890),
50638 /* 142879 */ /*GILLT_v32s16*//*Label 3122*/ GIMT_Encode4(144205), GIMT_Encode4(0),
50639 /* 142887 */ /*GILLT_v64s8*//*Label 3123*/ GIMT_Encode4(144361),
50640 /* 142891 */ // Label 3118: @142891
50641 /* 142891 */ GIM_Try, /*On fail goto*//*Label 3125*/ GIMT_Encode4(143232),
50642 /* 142896 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
50643 /* 142899 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
50644 /* 142902 */ GIM_Try, /*On fail goto*//*Label 3126*/ GIMT_Encode4(142964), // Rule ID 23526 //
50645 /* 142907 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50646 /* 142910 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50647 /* 142914 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50648 /* 142918 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50649 /* 142922 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50650 /* 142925 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50651 /* 142929 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50652 /* 142933 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50653 /* 142937 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50654 /* 142939 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50655 /* 142946 */ // (saddsat:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPADDSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50656 /* 142946 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWrm),
50657 /* 142949 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50658 /* 142951 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50659 /* 142953 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50660 /* 142957 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50661 /* 142962 */ GIR_RootConstrainSelectedInstOperands,
50662 /* 142963 */ // GIR_Coverage, 23526,
50663 /* 142963 */ GIR_EraseRootFromParent_Done,
50664 /* 142964 */ // Label 3126: @142964
50665 /* 142964 */ GIM_Try, /*On fail goto*//*Label 3127*/ GIMT_Encode4(143026), // Rule ID 23838 //
50666 /* 142969 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50667 /* 142972 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50668 /* 142976 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50669 /* 142980 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50670 /* 142984 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50671 /* 142987 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50672 /* 142991 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50673 /* 142995 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50674 /* 142999 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50675 /* 143001 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50676 /* 143008 */ // (saddsat:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPADDSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50677 /* 143008 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ128rm),
50678 /* 143011 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50679 /* 143013 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50680 /* 143015 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50681 /* 143019 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50682 /* 143024 */ GIR_RootConstrainSelectedInstOperands,
50683 /* 143025 */ // GIR_Coverage, 23838,
50684 /* 143025 */ GIR_EraseRootFromParent_Done,
50685 /* 143026 */ // Label 3127: @143026
50686 /* 143026 */ GIM_Try, /*On fail goto*//*Label 3128*/ GIMT_Encode4(143088), // Rule ID 2553 //
50687 /* 143031 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50688 /* 143034 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50689 /* 143038 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50690 /* 143042 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50691 /* 143046 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50692 /* 143050 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50693 /* 143053 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50694 /* 143057 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50695 /* 143061 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50696 /* 143063 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50697 /* 143070 */ // (saddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50698 /* 143070 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWrm),
50699 /* 143073 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50700 /* 143075 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50701 /* 143077 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50702 /* 143081 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50703 /* 143086 */ GIR_RootConstrainSelectedInstOperands,
50704 /* 143087 */ // GIR_Coverage, 2553,
50705 /* 143087 */ GIR_EraseRootFromParent_Done,
50706 /* 143088 */ // Label 3128: @143088
50707 /* 143088 */ GIM_Try, /*On fail goto*//*Label 3129*/ GIMT_Encode4(143150), // Rule ID 4832 //
50708 /* 143093 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50709 /* 143096 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50710 /* 143100 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50711 /* 143104 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50712 /* 143108 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50713 /* 143112 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50714 /* 143115 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50715 /* 143119 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50716 /* 143123 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50717 /* 143125 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50718 /* 143132 */ // (saddsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50719 /* 143132 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ128rm),
50720 /* 143135 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50721 /* 143137 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50722 /* 143139 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50723 /* 143143 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50724 /* 143148 */ GIR_RootConstrainSelectedInstOperands,
50725 /* 143149 */ // GIR_Coverage, 4832,
50726 /* 143149 */ GIR_EraseRootFromParent_Done,
50727 /* 143150 */ // Label 3129: @143150
50728 /* 143150 */ GIM_Try, /*On fail goto*//*Label 3130*/ GIMT_Encode4(143177), // Rule ID 2552 //
50729 /* 143155 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50730 /* 143158 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50731 /* 143162 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50732 /* 143166 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50733 /* 143170 */ // (saddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPADDSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
50734 /* 143170 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWrr),
50735 /* 143175 */ GIR_RootConstrainSelectedInstOperands,
50736 /* 143176 */ // GIR_Coverage, 2552,
50737 /* 143176 */ GIR_Done,
50738 /* 143177 */ // Label 3130: @143177
50739 /* 143177 */ GIM_Try, /*On fail goto*//*Label 3131*/ GIMT_Encode4(143204), // Rule ID 2554 //
50740 /* 143182 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
50741 /* 143185 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50742 /* 143189 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50743 /* 143193 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50744 /* 143197 */ // (saddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PADDSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
50745 /* 143197 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDSWrr),
50746 /* 143202 */ GIR_RootConstrainSelectedInstOperands,
50747 /* 143203 */ // GIR_Coverage, 2554,
50748 /* 143203 */ GIR_Done,
50749 /* 143204 */ // Label 3131: @143204
50750 /* 143204 */ GIM_Try, /*On fail goto*//*Label 3132*/ GIMT_Encode4(143231), // Rule ID 4829 //
50751 /* 143209 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50752 /* 143212 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50753 /* 143216 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50754 /* 143220 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50755 /* 143224 */ // (saddsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPADDSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
50756 /* 143224 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ128rr),
50757 /* 143229 */ GIR_RootConstrainSelectedInstOperands,
50758 /* 143230 */ // GIR_Coverage, 4829,
50759 /* 143230 */ GIR_Done,
50760 /* 143231 */ // Label 3132: @143231
50761 /* 143231 */ GIM_Reject,
50762 /* 143232 */ // Label 3125: @143232
50763 /* 143232 */ GIM_Reject,
50764 /* 143233 */ // Label 3119: @143233
50765 /* 143233 */ GIM_Try, /*On fail goto*//*Label 3133*/ GIMT_Encode4(143574),
50766 /* 143238 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
50767 /* 143241 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
50768 /* 143244 */ GIM_Try, /*On fail goto*//*Label 3134*/ GIMT_Encode4(143306), // Rule ID 23523 //
50769 /* 143249 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50770 /* 143252 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50771 /* 143256 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50772 /* 143260 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50773 /* 143264 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50774 /* 143267 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50775 /* 143271 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50776 /* 143275 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50777 /* 143279 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50778 /* 143281 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50779 /* 143288 */ // (saddsat:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPADDSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50780 /* 143288 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBrm),
50781 /* 143291 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50782 /* 143293 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50783 /* 143295 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50784 /* 143299 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50785 /* 143304 */ GIR_RootConstrainSelectedInstOperands,
50786 /* 143305 */ // GIR_Coverage, 23523,
50787 /* 143305 */ GIR_EraseRootFromParent_Done,
50788 /* 143306 */ // Label 3134: @143306
50789 /* 143306 */ GIM_Try, /*On fail goto*//*Label 3135*/ GIMT_Encode4(143368), // Rule ID 23847 //
50790 /* 143311 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50791 /* 143314 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50792 /* 143318 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50793 /* 143322 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50794 /* 143326 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50795 /* 143329 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50796 /* 143333 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50797 /* 143337 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50798 /* 143341 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50799 /* 143343 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50800 /* 143350 */ // (saddsat:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPADDSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50801 /* 143350 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ128rm),
50802 /* 143353 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50803 /* 143355 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50804 /* 143357 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50805 /* 143361 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50806 /* 143366 */ GIR_RootConstrainSelectedInstOperands,
50807 /* 143367 */ // GIR_Coverage, 23847,
50808 /* 143367 */ GIR_EraseRootFromParent_Done,
50809 /* 143368 */ // Label 3135: @143368
50810 /* 143368 */ GIM_Try, /*On fail goto*//*Label 3136*/ GIMT_Encode4(143430), // Rule ID 2547 //
50811 /* 143373 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50812 /* 143376 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50813 /* 143380 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50814 /* 143384 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50815 /* 143388 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50816 /* 143392 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50817 /* 143395 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50818 /* 143399 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50819 /* 143403 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50820 /* 143405 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50821 /* 143412 */ // (saddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50822 /* 143412 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBrm),
50823 /* 143415 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50824 /* 143417 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50825 /* 143419 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50826 /* 143423 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50827 /* 143428 */ GIR_RootConstrainSelectedInstOperands,
50828 /* 143429 */ // GIR_Coverage, 2547,
50829 /* 143429 */ GIR_EraseRootFromParent_Done,
50830 /* 143430 */ // Label 3136: @143430
50831 /* 143430 */ GIM_Try, /*On fail goto*//*Label 3137*/ GIMT_Encode4(143492), // Rule ID 4850 //
50832 /* 143435 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50833 /* 143438 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50834 /* 143442 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50835 /* 143446 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50836 /* 143450 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50837 /* 143454 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50838 /* 143457 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50839 /* 143461 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50840 /* 143465 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50841 /* 143467 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50842 /* 143474 */ // (saddsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50843 /* 143474 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ128rm),
50844 /* 143477 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50845 /* 143479 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50846 /* 143481 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50847 /* 143485 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50848 /* 143490 */ GIR_RootConstrainSelectedInstOperands,
50849 /* 143491 */ // GIR_Coverage, 4850,
50850 /* 143491 */ GIR_EraseRootFromParent_Done,
50851 /* 143492 */ // Label 3137: @143492
50852 /* 143492 */ GIM_Try, /*On fail goto*//*Label 3138*/ GIMT_Encode4(143519), // Rule ID 2546 //
50853 /* 143497 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50854 /* 143500 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50855 /* 143504 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50856 /* 143508 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50857 /* 143512 */ // (saddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPADDSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
50858 /* 143512 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBrr),
50859 /* 143517 */ GIR_RootConstrainSelectedInstOperands,
50860 /* 143518 */ // GIR_Coverage, 2546,
50861 /* 143518 */ GIR_Done,
50862 /* 143519 */ // Label 3138: @143519
50863 /* 143519 */ GIM_Try, /*On fail goto*//*Label 3139*/ GIMT_Encode4(143546), // Rule ID 2548 //
50864 /* 143524 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
50865 /* 143527 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50866 /* 143531 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50867 /* 143535 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50868 /* 143539 */ // (saddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PADDSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
50869 /* 143539 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDSBrr),
50870 /* 143544 */ GIR_RootConstrainSelectedInstOperands,
50871 /* 143545 */ // GIR_Coverage, 2548,
50872 /* 143545 */ GIR_Done,
50873 /* 143546 */ // Label 3139: @143546
50874 /* 143546 */ GIM_Try, /*On fail goto*//*Label 3140*/ GIMT_Encode4(143573), // Rule ID 4847 //
50875 /* 143551 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50876 /* 143554 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50877 /* 143558 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50878 /* 143562 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50879 /* 143566 */ // (saddsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPADDSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
50880 /* 143566 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ128rr),
50881 /* 143571 */ GIR_RootConstrainSelectedInstOperands,
50882 /* 143572 */ // GIR_Coverage, 4847,
50883 /* 143572 */ GIR_Done,
50884 /* 143573 */ // Label 3140: @143573
50885 /* 143573 */ GIM_Reject,
50886 /* 143574 */ // Label 3133: @143574
50887 /* 143574 */ GIM_Reject,
50888 /* 143575 */ // Label 3120: @143575
50889 /* 143575 */ GIM_Try, /*On fail goto*//*Label 3141*/ GIMT_Encode4(143889),
50890 /* 143580 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
50891 /* 143583 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
50892 /* 143586 */ GIM_Try, /*On fail goto*//*Label 3142*/ GIMT_Encode4(143648), // Rule ID 23528 //
50893 /* 143591 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50894 /* 143594 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50895 /* 143598 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50896 /* 143602 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50897 /* 143606 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50898 /* 143609 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50899 /* 143613 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50900 /* 143617 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50901 /* 143621 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50902 /* 143623 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50903 /* 143630 */ // (saddsat:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPADDSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50904 /* 143630 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWYrm),
50905 /* 143633 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50906 /* 143635 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50907 /* 143637 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50908 /* 143641 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50909 /* 143646 */ GIR_RootConstrainSelectedInstOperands,
50910 /* 143647 */ // GIR_Coverage, 23528,
50911 /* 143647 */ GIR_EraseRootFromParent_Done,
50912 /* 143648 */ // Label 3142: @143648
50913 /* 143648 */ GIM_Try, /*On fail goto*//*Label 3143*/ GIMT_Encode4(143710), // Rule ID 23835 //
50914 /* 143653 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50915 /* 143656 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50916 /* 143660 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50917 /* 143664 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50918 /* 143668 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50919 /* 143671 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50920 /* 143675 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50921 /* 143679 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50922 /* 143683 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50923 /* 143685 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50924 /* 143692 */ // (saddsat:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPADDSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50925 /* 143692 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ256rm),
50926 /* 143695 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50927 /* 143697 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50928 /* 143699 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50929 /* 143703 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50930 /* 143708 */ GIR_RootConstrainSelectedInstOperands,
50931 /* 143709 */ // GIR_Coverage, 23835,
50932 /* 143709 */ GIR_EraseRootFromParent_Done,
50933 /* 143710 */ // Label 3143: @143710
50934 /* 143710 */ GIM_Try, /*On fail goto*//*Label 3144*/ GIMT_Encode4(143772), // Rule ID 2557 //
50935 /* 143715 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50936 /* 143718 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50937 /* 143722 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50938 /* 143726 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50939 /* 143730 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50940 /* 143734 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50941 /* 143737 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50942 /* 143741 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50943 /* 143745 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50944 /* 143747 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50945 /* 143754 */ // (saddsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50946 /* 143754 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWYrm),
50947 /* 143757 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50948 /* 143759 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50949 /* 143761 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50950 /* 143765 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50951 /* 143770 */ GIR_RootConstrainSelectedInstOperands,
50952 /* 143771 */ // GIR_Coverage, 2557,
50953 /* 143771 */ GIR_EraseRootFromParent_Done,
50954 /* 143772 */ // Label 3144: @143772
50955 /* 143772 */ GIM_Try, /*On fail goto*//*Label 3145*/ GIMT_Encode4(143834), // Rule ID 4826 //
50956 /* 143777 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50957 /* 143780 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50958 /* 143784 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50959 /* 143788 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50960 /* 143792 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50961 /* 143796 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50962 /* 143799 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50963 /* 143803 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50964 /* 143807 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50965 /* 143809 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50966 /* 143816 */ // (saddsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50967 /* 143816 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ256rm),
50968 /* 143819 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50969 /* 143821 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50970 /* 143823 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50971 /* 143827 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50972 /* 143832 */ GIR_RootConstrainSelectedInstOperands,
50973 /* 143833 */ // GIR_Coverage, 4826,
50974 /* 143833 */ GIR_EraseRootFromParent_Done,
50975 /* 143834 */ // Label 3145: @143834
50976 /* 143834 */ GIM_Try, /*On fail goto*//*Label 3146*/ GIMT_Encode4(143861), // Rule ID 2556 //
50977 /* 143839 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50978 /* 143842 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50979 /* 143846 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50980 /* 143850 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50981 /* 143854 */ // (saddsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPADDSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
50982 /* 143854 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWYrr),
50983 /* 143859 */ GIR_RootConstrainSelectedInstOperands,
50984 /* 143860 */ // GIR_Coverage, 2556,
50985 /* 143860 */ GIR_Done,
50986 /* 143861 */ // Label 3146: @143861
50987 /* 143861 */ GIM_Try, /*On fail goto*//*Label 3147*/ GIMT_Encode4(143888), // Rule ID 4823 //
50988 /* 143866 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50989 /* 143869 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50990 /* 143873 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50991 /* 143877 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50992 /* 143881 */ // (saddsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPADDSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
50993 /* 143881 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ256rr),
50994 /* 143886 */ GIR_RootConstrainSelectedInstOperands,
50995 /* 143887 */ // GIR_Coverage, 4823,
50996 /* 143887 */ GIR_Done,
50997 /* 143888 */ // Label 3147: @143888
50998 /* 143888 */ GIM_Reject,
50999 /* 143889 */ // Label 3141: @143889
51000 /* 143889 */ GIM_Reject,
51001 /* 143890 */ // Label 3121: @143890
51002 /* 143890 */ GIM_Try, /*On fail goto*//*Label 3148*/ GIMT_Encode4(144204),
51003 /* 143895 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
51004 /* 143898 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
51005 /* 143901 */ GIM_Try, /*On fail goto*//*Label 3149*/ GIMT_Encode4(143963), // Rule ID 23525 //
51006 /* 143906 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51007 /* 143909 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51008 /* 143913 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51009 /* 143917 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51010 /* 143921 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51011 /* 143924 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51012 /* 143928 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51013 /* 143932 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51014 /* 143936 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51015 /* 143938 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51016 /* 143945 */ // (saddsat:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPADDSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51017 /* 143945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBYrm),
51018 /* 143948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51019 /* 143950 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51020 /* 143952 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51021 /* 143956 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51022 /* 143961 */ GIR_RootConstrainSelectedInstOperands,
51023 /* 143962 */ // GIR_Coverage, 23525,
51024 /* 143962 */ GIR_EraseRootFromParent_Done,
51025 /* 143963 */ // Label 3149: @143963
51026 /* 143963 */ GIM_Try, /*On fail goto*//*Label 3150*/ GIMT_Encode4(144025), // Rule ID 23844 //
51027 /* 143968 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51028 /* 143971 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51029 /* 143975 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51030 /* 143979 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51031 /* 143983 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51032 /* 143986 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51033 /* 143990 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51034 /* 143994 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51035 /* 143998 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51036 /* 144000 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51037 /* 144007 */ // (saddsat:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPADDSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51038 /* 144007 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ256rm),
51039 /* 144010 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51040 /* 144012 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51041 /* 144014 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51042 /* 144018 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51043 /* 144023 */ GIR_RootConstrainSelectedInstOperands,
51044 /* 144024 */ // GIR_Coverage, 23844,
51045 /* 144024 */ GIR_EraseRootFromParent_Done,
51046 /* 144025 */ // Label 3150: @144025
51047 /* 144025 */ GIM_Try, /*On fail goto*//*Label 3151*/ GIMT_Encode4(144087), // Rule ID 2551 //
51048 /* 144030 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51049 /* 144033 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51050 /* 144037 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51051 /* 144041 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51052 /* 144045 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51053 /* 144049 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51054 /* 144052 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51055 /* 144056 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51056 /* 144060 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51057 /* 144062 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51058 /* 144069 */ // (saddsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51059 /* 144069 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBYrm),
51060 /* 144072 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51061 /* 144074 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51062 /* 144076 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51063 /* 144080 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51064 /* 144085 */ GIR_RootConstrainSelectedInstOperands,
51065 /* 144086 */ // GIR_Coverage, 2551,
51066 /* 144086 */ GIR_EraseRootFromParent_Done,
51067 /* 144087 */ // Label 3151: @144087
51068 /* 144087 */ GIM_Try, /*On fail goto*//*Label 3152*/ GIMT_Encode4(144149), // Rule ID 4844 //
51069 /* 144092 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51070 /* 144095 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51071 /* 144099 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51072 /* 144103 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51073 /* 144107 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51074 /* 144111 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51075 /* 144114 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51076 /* 144118 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51077 /* 144122 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51078 /* 144124 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51079 /* 144131 */ // (saddsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51080 /* 144131 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ256rm),
51081 /* 144134 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51082 /* 144136 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51083 /* 144138 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51084 /* 144142 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51085 /* 144147 */ GIR_RootConstrainSelectedInstOperands,
51086 /* 144148 */ // GIR_Coverage, 4844,
51087 /* 144148 */ GIR_EraseRootFromParent_Done,
51088 /* 144149 */ // Label 3152: @144149
51089 /* 144149 */ GIM_Try, /*On fail goto*//*Label 3153*/ GIMT_Encode4(144176), // Rule ID 2550 //
51090 /* 144154 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51091 /* 144157 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51092 /* 144161 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51093 /* 144165 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51094 /* 144169 */ // (saddsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPADDSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
51095 /* 144169 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBYrr),
51096 /* 144174 */ GIR_RootConstrainSelectedInstOperands,
51097 /* 144175 */ // GIR_Coverage, 2550,
51098 /* 144175 */ GIR_Done,
51099 /* 144176 */ // Label 3153: @144176
51100 /* 144176 */ GIM_Try, /*On fail goto*//*Label 3154*/ GIMT_Encode4(144203), // Rule ID 4841 //
51101 /* 144181 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51102 /* 144184 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51103 /* 144188 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51104 /* 144192 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51105 /* 144196 */ // (saddsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPADDSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
51106 /* 144196 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ256rr),
51107 /* 144201 */ GIR_RootConstrainSelectedInstOperands,
51108 /* 144202 */ // GIR_Coverage, 4841,
51109 /* 144202 */ GIR_Done,
51110 /* 144203 */ // Label 3154: @144203
51111 /* 144203 */ GIM_Reject,
51112 /* 144204 */ // Label 3148: @144204
51113 /* 144204 */ GIM_Reject,
51114 /* 144205 */ // Label 3122: @144205
51115 /* 144205 */ GIM_Try, /*On fail goto*//*Label 3155*/ GIMT_Encode4(144360),
51116 /* 144210 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
51117 /* 144213 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
51118 /* 144216 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51119 /* 144220 */ GIM_Try, /*On fail goto*//*Label 3156*/ GIMT_Encode4(144278), // Rule ID 23832 //
51120 /* 144225 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51121 /* 144228 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51122 /* 144232 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51123 /* 144236 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51124 /* 144239 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51125 /* 144243 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51126 /* 144247 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51127 /* 144251 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51128 /* 144253 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51129 /* 144260 */ // (saddsat:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPADDSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51130 /* 144260 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZrm),
51131 /* 144263 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51132 /* 144265 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51133 /* 144267 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51134 /* 144271 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51135 /* 144276 */ GIR_RootConstrainSelectedInstOperands,
51136 /* 144277 */ // GIR_Coverage, 23832,
51137 /* 144277 */ GIR_EraseRootFromParent_Done,
51138 /* 144278 */ // Label 3156: @144278
51139 /* 144278 */ GIM_Try, /*On fail goto*//*Label 3157*/ GIMT_Encode4(144336), // Rule ID 4820 //
51140 /* 144283 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51141 /* 144286 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51142 /* 144290 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51143 /* 144294 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51144 /* 144298 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51145 /* 144301 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51146 /* 144305 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51147 /* 144309 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51148 /* 144311 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51149 /* 144318 */ // (saddsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51150 /* 144318 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZrm),
51151 /* 144321 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51152 /* 144323 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51153 /* 144325 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51154 /* 144329 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51155 /* 144334 */ GIR_RootConstrainSelectedInstOperands,
51156 /* 144335 */ // GIR_Coverage, 4820,
51157 /* 144335 */ GIR_EraseRootFromParent_Done,
51158 /* 144336 */ // Label 3157: @144336
51159 /* 144336 */ GIM_Try, /*On fail goto*//*Label 3158*/ GIMT_Encode4(144359), // Rule ID 4817 //
51160 /* 144341 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51161 /* 144344 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51162 /* 144348 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51163 /* 144352 */ // (saddsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPADDSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
51164 /* 144352 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWZrr),
51165 /* 144357 */ GIR_RootConstrainSelectedInstOperands,
51166 /* 144358 */ // GIR_Coverage, 4817,
51167 /* 144358 */ GIR_Done,
51168 /* 144359 */ // Label 3158: @144359
51169 /* 144359 */ GIM_Reject,
51170 /* 144360 */ // Label 3155: @144360
51171 /* 144360 */ GIM_Reject,
51172 /* 144361 */ // Label 3123: @144361
51173 /* 144361 */ GIM_Try, /*On fail goto*//*Label 3159*/ GIMT_Encode4(144516),
51174 /* 144366 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
51175 /* 144369 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
51176 /* 144372 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51177 /* 144376 */ GIM_Try, /*On fail goto*//*Label 3160*/ GIMT_Encode4(144434), // Rule ID 23841 //
51178 /* 144381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51179 /* 144384 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51180 /* 144388 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51181 /* 144392 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51182 /* 144395 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51183 /* 144399 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51184 /* 144403 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51185 /* 144407 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51186 /* 144409 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51187 /* 144416 */ // (saddsat:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPADDSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51188 /* 144416 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZrm),
51189 /* 144419 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51190 /* 144421 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51191 /* 144423 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51192 /* 144427 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51193 /* 144432 */ GIR_RootConstrainSelectedInstOperands,
51194 /* 144433 */ // GIR_Coverage, 23841,
51195 /* 144433 */ GIR_EraseRootFromParent_Done,
51196 /* 144434 */ // Label 3160: @144434
51197 /* 144434 */ GIM_Try, /*On fail goto*//*Label 3161*/ GIMT_Encode4(144492), // Rule ID 4838 //
51198 /* 144439 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51199 /* 144442 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51200 /* 144446 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51201 /* 144450 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51202 /* 144454 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51203 /* 144457 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51204 /* 144461 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51205 /* 144465 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51206 /* 144467 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51207 /* 144474 */ // (saddsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51208 /* 144474 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZrm),
51209 /* 144477 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51210 /* 144479 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51211 /* 144481 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51212 /* 144485 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51213 /* 144490 */ GIR_RootConstrainSelectedInstOperands,
51214 /* 144491 */ // GIR_Coverage, 4838,
51215 /* 144491 */ GIR_EraseRootFromParent_Done,
51216 /* 144492 */ // Label 3161: @144492
51217 /* 144492 */ GIM_Try, /*On fail goto*//*Label 3162*/ GIMT_Encode4(144515), // Rule ID 4835 //
51218 /* 144497 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51219 /* 144500 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51220 /* 144504 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51221 /* 144508 */ // (saddsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPADDSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
51222 /* 144508 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBZrr),
51223 /* 144513 */ GIR_RootConstrainSelectedInstOperands,
51224 /* 144514 */ // GIR_Coverage, 4835,
51225 /* 144514 */ GIR_Done,
51226 /* 144515 */ // Label 3162: @144515
51227 /* 144515 */ GIM_Reject,
51228 /* 144516 */ // Label 3159: @144516
51229 /* 144516 */ GIM_Reject,
51230 /* 144517 */ // Label 3124: @144517
51231 /* 144517 */ GIM_Reject,
51232 /* 144518 */ // Label 40: @144518
51233 /* 144518 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 3169*/ GIMT_Encode4(145583),
51234 /* 144529 */ /*GILLT_v8s16*//*Label 3163*/ GIMT_Encode4(144577), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
51235 /* 144545 */ /*GILLT_v16s8*//*Label 3164*/ GIMT_Encode4(144795),
51236 /* 144549 */ /*GILLT_v16s16*//*Label 3165*/ GIMT_Encode4(145013), GIMT_Encode4(0), GIMT_Encode4(0),
51237 /* 144561 */ /*GILLT_v32s8*//*Label 3166*/ GIMT_Encode4(145204),
51238 /* 144565 */ /*GILLT_v32s16*//*Label 3167*/ GIMT_Encode4(145395), GIMT_Encode4(0),
51239 /* 144573 */ /*GILLT_v64s8*//*Label 3168*/ GIMT_Encode4(145489),
51240 /* 144577 */ // Label 3163: @144577
51241 /* 144577 */ GIM_Try, /*On fail goto*//*Label 3170*/ GIMT_Encode4(144794),
51242 /* 144582 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
51243 /* 144585 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
51244 /* 144588 */ GIM_Try, /*On fail goto*//*Label 3171*/ GIMT_Encode4(144650), // Rule ID 2631 //
51245 /* 144593 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51246 /* 144596 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51247 /* 144600 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51248 /* 144604 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51249 /* 144608 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51250 /* 144612 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51251 /* 144615 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51252 /* 144619 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51253 /* 144623 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51254 /* 144625 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51255 /* 144632 */ // (usubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51256 /* 144632 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWrm),
51257 /* 144635 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51258 /* 144637 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51259 /* 144639 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51260 /* 144643 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51261 /* 144648 */ GIR_RootConstrainSelectedInstOperands,
51262 /* 144649 */ // GIR_Coverage, 2631,
51263 /* 144649 */ GIR_EraseRootFromParent_Done,
51264 /* 144650 */ // Label 3171: @144650
51265 /* 144650 */ GIM_Try, /*On fail goto*//*Label 3172*/ GIMT_Encode4(144712), // Rule ID 4940 //
51266 /* 144655 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51267 /* 144658 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51268 /* 144662 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51269 /* 144666 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51270 /* 144670 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51271 /* 144674 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51272 /* 144677 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51273 /* 144681 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51274 /* 144685 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51275 /* 144687 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51276 /* 144694 */ // (usubsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51277 /* 144694 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZ128rm),
51278 /* 144697 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51279 /* 144699 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51280 /* 144701 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51281 /* 144705 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51282 /* 144710 */ GIR_RootConstrainSelectedInstOperands,
51283 /* 144711 */ // GIR_Coverage, 4940,
51284 /* 144711 */ GIR_EraseRootFromParent_Done,
51285 /* 144712 */ // Label 3172: @144712
51286 /* 144712 */ GIM_Try, /*On fail goto*//*Label 3173*/ GIMT_Encode4(144739), // Rule ID 2630 //
51287 /* 144717 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51288 /* 144720 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51289 /* 144724 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51290 /* 144728 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51291 /* 144732 */ // (usubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPSUBUSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
51292 /* 144732 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWrr),
51293 /* 144737 */ GIR_RootConstrainSelectedInstOperands,
51294 /* 144738 */ // GIR_Coverage, 2630,
51295 /* 144738 */ GIR_Done,
51296 /* 144739 */ // Label 3173: @144739
51297 /* 144739 */ GIM_Try, /*On fail goto*//*Label 3174*/ GIMT_Encode4(144766), // Rule ID 2632 //
51298 /* 144744 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
51299 /* 144747 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51300 /* 144751 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51301 /* 144755 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51302 /* 144759 */ // (usubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PSUBUSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
51303 /* 144759 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBUSWrr),
51304 /* 144764 */ GIR_RootConstrainSelectedInstOperands,
51305 /* 144765 */ // GIR_Coverage, 2632,
51306 /* 144765 */ GIR_Done,
51307 /* 144766 */ // Label 3174: @144766
51308 /* 144766 */ GIM_Try, /*On fail goto*//*Label 3175*/ GIMT_Encode4(144793), // Rule ID 4937 //
51309 /* 144771 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51310 /* 144774 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51311 /* 144778 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51312 /* 144782 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51313 /* 144786 */ // (usubsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPSUBUSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
51314 /* 144786 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZ128rr),
51315 /* 144791 */ GIR_RootConstrainSelectedInstOperands,
51316 /* 144792 */ // GIR_Coverage, 4937,
51317 /* 144792 */ GIR_Done,
51318 /* 144793 */ // Label 3175: @144793
51319 /* 144793 */ GIM_Reject,
51320 /* 144794 */ // Label 3170: @144794
51321 /* 144794 */ GIM_Reject,
51322 /* 144795 */ // Label 3164: @144795
51323 /* 144795 */ GIM_Try, /*On fail goto*//*Label 3176*/ GIMT_Encode4(145012),
51324 /* 144800 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
51325 /* 144803 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
51326 /* 144806 */ GIM_Try, /*On fail goto*//*Label 3177*/ GIMT_Encode4(144868), // Rule ID 2625 //
51327 /* 144811 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51328 /* 144814 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51329 /* 144818 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51330 /* 144822 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51331 /* 144826 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51332 /* 144830 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51333 /* 144833 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51334 /* 144837 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51335 /* 144841 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51336 /* 144843 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51337 /* 144850 */ // (usubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51338 /* 144850 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBrm),
51339 /* 144853 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51340 /* 144855 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51341 /* 144857 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51342 /* 144861 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51343 /* 144866 */ GIR_RootConstrainSelectedInstOperands,
51344 /* 144867 */ // GIR_Coverage, 2625,
51345 /* 144867 */ GIR_EraseRootFromParent_Done,
51346 /* 144868 */ // Label 3177: @144868
51347 /* 144868 */ GIM_Try, /*On fail goto*//*Label 3178*/ GIMT_Encode4(144930), // Rule ID 4958 //
51348 /* 144873 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51349 /* 144876 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51350 /* 144880 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51351 /* 144884 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51352 /* 144888 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51353 /* 144892 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51354 /* 144895 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51355 /* 144899 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51356 /* 144903 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51357 /* 144905 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51358 /* 144912 */ // (usubsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51359 /* 144912 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZ128rm),
51360 /* 144915 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51361 /* 144917 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51362 /* 144919 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51363 /* 144923 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51364 /* 144928 */ GIR_RootConstrainSelectedInstOperands,
51365 /* 144929 */ // GIR_Coverage, 4958,
51366 /* 144929 */ GIR_EraseRootFromParent_Done,
51367 /* 144930 */ // Label 3178: @144930
51368 /* 144930 */ GIM_Try, /*On fail goto*//*Label 3179*/ GIMT_Encode4(144957), // Rule ID 2624 //
51369 /* 144935 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51370 /* 144938 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51371 /* 144942 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51372 /* 144946 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51373 /* 144950 */ // (usubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPSUBUSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
51374 /* 144950 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBrr),
51375 /* 144955 */ GIR_RootConstrainSelectedInstOperands,
51376 /* 144956 */ // GIR_Coverage, 2624,
51377 /* 144956 */ GIR_Done,
51378 /* 144957 */ // Label 3179: @144957
51379 /* 144957 */ GIM_Try, /*On fail goto*//*Label 3180*/ GIMT_Encode4(144984), // Rule ID 2626 //
51380 /* 144962 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
51381 /* 144965 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51382 /* 144969 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51383 /* 144973 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51384 /* 144977 */ // (usubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PSUBUSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
51385 /* 144977 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBUSBrr),
51386 /* 144982 */ GIR_RootConstrainSelectedInstOperands,
51387 /* 144983 */ // GIR_Coverage, 2626,
51388 /* 144983 */ GIR_Done,
51389 /* 144984 */ // Label 3180: @144984
51390 /* 144984 */ GIM_Try, /*On fail goto*//*Label 3181*/ GIMT_Encode4(145011), // Rule ID 4955 //
51391 /* 144989 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51392 /* 144992 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51393 /* 144996 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51394 /* 145000 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51395 /* 145004 */ // (usubsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPSUBUSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
51396 /* 145004 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZ128rr),
51397 /* 145009 */ GIR_RootConstrainSelectedInstOperands,
51398 /* 145010 */ // GIR_Coverage, 4955,
51399 /* 145010 */ GIR_Done,
51400 /* 145011 */ // Label 3181: @145011
51401 /* 145011 */ GIM_Reject,
51402 /* 145012 */ // Label 3176: @145012
51403 /* 145012 */ GIM_Reject,
51404 /* 145013 */ // Label 3165: @145013
51405 /* 145013 */ GIM_Try, /*On fail goto*//*Label 3182*/ GIMT_Encode4(145203),
51406 /* 145018 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
51407 /* 145021 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
51408 /* 145024 */ GIM_Try, /*On fail goto*//*Label 3183*/ GIMT_Encode4(145086), // Rule ID 2635 //
51409 /* 145029 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51410 /* 145032 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51411 /* 145036 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51412 /* 145040 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51413 /* 145044 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51414 /* 145048 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51415 /* 145051 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51416 /* 145055 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51417 /* 145059 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51418 /* 145061 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51419 /* 145068 */ // (usubsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51420 /* 145068 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWYrm),
51421 /* 145071 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51422 /* 145073 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51423 /* 145075 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51424 /* 145079 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51425 /* 145084 */ GIR_RootConstrainSelectedInstOperands,
51426 /* 145085 */ // GIR_Coverage, 2635,
51427 /* 145085 */ GIR_EraseRootFromParent_Done,
51428 /* 145086 */ // Label 3183: @145086
51429 /* 145086 */ GIM_Try, /*On fail goto*//*Label 3184*/ GIMT_Encode4(145148), // Rule ID 4934 //
51430 /* 145091 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51431 /* 145094 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51432 /* 145098 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51433 /* 145102 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51434 /* 145106 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51435 /* 145110 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51436 /* 145113 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51437 /* 145117 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51438 /* 145121 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51439 /* 145123 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51440 /* 145130 */ // (usubsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51441 /* 145130 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZ256rm),
51442 /* 145133 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51443 /* 145135 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51444 /* 145137 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51445 /* 145141 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51446 /* 145146 */ GIR_RootConstrainSelectedInstOperands,
51447 /* 145147 */ // GIR_Coverage, 4934,
51448 /* 145147 */ GIR_EraseRootFromParent_Done,
51449 /* 145148 */ // Label 3184: @145148
51450 /* 145148 */ GIM_Try, /*On fail goto*//*Label 3185*/ GIMT_Encode4(145175), // Rule ID 2634 //
51451 /* 145153 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51452 /* 145156 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51453 /* 145160 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51454 /* 145164 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51455 /* 145168 */ // (usubsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPSUBUSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
51456 /* 145168 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWYrr),
51457 /* 145173 */ GIR_RootConstrainSelectedInstOperands,
51458 /* 145174 */ // GIR_Coverage, 2634,
51459 /* 145174 */ GIR_Done,
51460 /* 145175 */ // Label 3185: @145175
51461 /* 145175 */ GIM_Try, /*On fail goto*//*Label 3186*/ GIMT_Encode4(145202), // Rule ID 4931 //
51462 /* 145180 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51463 /* 145183 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51464 /* 145187 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51465 /* 145191 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51466 /* 145195 */ // (usubsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPSUBUSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
51467 /* 145195 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZ256rr),
51468 /* 145200 */ GIR_RootConstrainSelectedInstOperands,
51469 /* 145201 */ // GIR_Coverage, 4931,
51470 /* 145201 */ GIR_Done,
51471 /* 145202 */ // Label 3186: @145202
51472 /* 145202 */ GIM_Reject,
51473 /* 145203 */ // Label 3182: @145203
51474 /* 145203 */ GIM_Reject,
51475 /* 145204 */ // Label 3166: @145204
51476 /* 145204 */ GIM_Try, /*On fail goto*//*Label 3187*/ GIMT_Encode4(145394),
51477 /* 145209 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
51478 /* 145212 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
51479 /* 145215 */ GIM_Try, /*On fail goto*//*Label 3188*/ GIMT_Encode4(145277), // Rule ID 2629 //
51480 /* 145220 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51481 /* 145223 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51482 /* 145227 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51483 /* 145231 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51484 /* 145235 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51485 /* 145239 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51486 /* 145242 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51487 /* 145246 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51488 /* 145250 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51489 /* 145252 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51490 /* 145259 */ // (usubsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51491 /* 145259 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBYrm),
51492 /* 145262 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51493 /* 145264 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51494 /* 145266 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51495 /* 145270 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51496 /* 145275 */ GIR_RootConstrainSelectedInstOperands,
51497 /* 145276 */ // GIR_Coverage, 2629,
51498 /* 145276 */ GIR_EraseRootFromParent_Done,
51499 /* 145277 */ // Label 3188: @145277
51500 /* 145277 */ GIM_Try, /*On fail goto*//*Label 3189*/ GIMT_Encode4(145339), // Rule ID 4952 //
51501 /* 145282 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51502 /* 145285 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51503 /* 145289 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51504 /* 145293 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51505 /* 145297 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51506 /* 145301 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51507 /* 145304 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51508 /* 145308 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51509 /* 145312 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51510 /* 145314 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51511 /* 145321 */ // (usubsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51512 /* 145321 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZ256rm),
51513 /* 145324 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51514 /* 145326 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51515 /* 145328 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51516 /* 145332 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51517 /* 145337 */ GIR_RootConstrainSelectedInstOperands,
51518 /* 145338 */ // GIR_Coverage, 4952,
51519 /* 145338 */ GIR_EraseRootFromParent_Done,
51520 /* 145339 */ // Label 3189: @145339
51521 /* 145339 */ GIM_Try, /*On fail goto*//*Label 3190*/ GIMT_Encode4(145366), // Rule ID 2628 //
51522 /* 145344 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51523 /* 145347 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51524 /* 145351 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51525 /* 145355 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51526 /* 145359 */ // (usubsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPSUBUSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
51527 /* 145359 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBYrr),
51528 /* 145364 */ GIR_RootConstrainSelectedInstOperands,
51529 /* 145365 */ // GIR_Coverage, 2628,
51530 /* 145365 */ GIR_Done,
51531 /* 145366 */ // Label 3190: @145366
51532 /* 145366 */ GIM_Try, /*On fail goto*//*Label 3191*/ GIMT_Encode4(145393), // Rule ID 4949 //
51533 /* 145371 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51534 /* 145374 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51535 /* 145378 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51536 /* 145382 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51537 /* 145386 */ // (usubsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPSUBUSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
51538 /* 145386 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZ256rr),
51539 /* 145391 */ GIR_RootConstrainSelectedInstOperands,
51540 /* 145392 */ // GIR_Coverage, 4949,
51541 /* 145392 */ GIR_Done,
51542 /* 145393 */ // Label 3191: @145393
51543 /* 145393 */ GIM_Reject,
51544 /* 145394 */ // Label 3187: @145394
51545 /* 145394 */ GIM_Reject,
51546 /* 145395 */ // Label 3167: @145395
51547 /* 145395 */ GIM_Try, /*On fail goto*//*Label 3192*/ GIMT_Encode4(145488),
51548 /* 145400 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
51549 /* 145403 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
51550 /* 145406 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51551 /* 145410 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51552 /* 145414 */ GIM_Try, /*On fail goto*//*Label 3193*/ GIMT_Encode4(145468), // Rule ID 4928 //
51553 /* 145419 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51554 /* 145422 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51555 /* 145426 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51556 /* 145430 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51557 /* 145433 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51558 /* 145437 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51559 /* 145441 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51560 /* 145443 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51561 /* 145450 */ // (usubsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51562 /* 145450 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZrm),
51563 /* 145453 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51564 /* 145455 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51565 /* 145457 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51566 /* 145461 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51567 /* 145466 */ GIR_RootConstrainSelectedInstOperands,
51568 /* 145467 */ // GIR_Coverage, 4928,
51569 /* 145467 */ GIR_EraseRootFromParent_Done,
51570 /* 145468 */ // Label 3193: @145468
51571 /* 145468 */ GIM_Try, /*On fail goto*//*Label 3194*/ GIMT_Encode4(145487), // Rule ID 4925 //
51572 /* 145473 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51573 /* 145476 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51574 /* 145480 */ // (usubsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPSUBUSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
51575 /* 145480 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZrr),
51576 /* 145485 */ GIR_RootConstrainSelectedInstOperands,
51577 /* 145486 */ // GIR_Coverage, 4925,
51578 /* 145486 */ GIR_Done,
51579 /* 145487 */ // Label 3194: @145487
51580 /* 145487 */ GIM_Reject,
51581 /* 145488 */ // Label 3192: @145488
51582 /* 145488 */ GIM_Reject,
51583 /* 145489 */ // Label 3168: @145489
51584 /* 145489 */ GIM_Try, /*On fail goto*//*Label 3195*/ GIMT_Encode4(145582),
51585 /* 145494 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
51586 /* 145497 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
51587 /* 145500 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51588 /* 145504 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51589 /* 145508 */ GIM_Try, /*On fail goto*//*Label 3196*/ GIMT_Encode4(145562), // Rule ID 4946 //
51590 /* 145513 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51591 /* 145516 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51592 /* 145520 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51593 /* 145524 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51594 /* 145527 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51595 /* 145531 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51596 /* 145535 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51597 /* 145537 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51598 /* 145544 */ // (usubsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51599 /* 145544 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZrm),
51600 /* 145547 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51601 /* 145549 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51602 /* 145551 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51603 /* 145555 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51604 /* 145560 */ GIR_RootConstrainSelectedInstOperands,
51605 /* 145561 */ // GIR_Coverage, 4946,
51606 /* 145561 */ GIR_EraseRootFromParent_Done,
51607 /* 145562 */ // Label 3196: @145562
51608 /* 145562 */ GIM_Try, /*On fail goto*//*Label 3197*/ GIMT_Encode4(145581), // Rule ID 4943 //
51609 /* 145567 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51610 /* 145570 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51611 /* 145574 */ // (usubsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPSUBUSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
51612 /* 145574 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZrr),
51613 /* 145579 */ GIR_RootConstrainSelectedInstOperands,
51614 /* 145580 */ // GIR_Coverage, 4943,
51615 /* 145580 */ GIR_Done,
51616 /* 145581 */ // Label 3197: @145581
51617 /* 145581 */ GIM_Reject,
51618 /* 145582 */ // Label 3195: @145582
51619 /* 145582 */ GIM_Reject,
51620 /* 145583 */ // Label 3169: @145583
51621 /* 145583 */ GIM_Reject,
51622 /* 145584 */ // Label 41: @145584
51623 /* 145584 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 3204*/ GIMT_Encode4(146649),
51624 /* 145595 */ /*GILLT_v8s16*//*Label 3198*/ GIMT_Encode4(145643), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
51625 /* 145611 */ /*GILLT_v16s8*//*Label 3199*/ GIMT_Encode4(145861),
51626 /* 145615 */ /*GILLT_v16s16*//*Label 3200*/ GIMT_Encode4(146079), GIMT_Encode4(0), GIMT_Encode4(0),
51627 /* 145627 */ /*GILLT_v32s8*//*Label 3201*/ GIMT_Encode4(146270),
51628 /* 145631 */ /*GILLT_v32s16*//*Label 3202*/ GIMT_Encode4(146461), GIMT_Encode4(0),
51629 /* 145639 */ /*GILLT_v64s8*//*Label 3203*/ GIMT_Encode4(146555),
51630 /* 145643 */ // Label 3198: @145643
51631 /* 145643 */ GIM_Try, /*On fail goto*//*Label 3205*/ GIMT_Encode4(145860),
51632 /* 145648 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
51633 /* 145651 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
51634 /* 145654 */ GIM_Try, /*On fail goto*//*Label 3206*/ GIMT_Encode4(145716), // Rule ID 2619 //
51635 /* 145659 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51636 /* 145662 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51637 /* 145666 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51638 /* 145670 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51639 /* 145674 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51640 /* 145678 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51641 /* 145681 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51642 /* 145685 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51643 /* 145689 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51644 /* 145691 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51645 /* 145698 */ // (ssubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51646 /* 145698 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWrm),
51647 /* 145701 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51648 /* 145703 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51649 /* 145705 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51650 /* 145709 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51651 /* 145714 */ GIR_RootConstrainSelectedInstOperands,
51652 /* 145715 */ // GIR_Coverage, 2619,
51653 /* 145715 */ GIR_EraseRootFromParent_Done,
51654 /* 145716 */ // Label 3206: @145716
51655 /* 145716 */ GIM_Try, /*On fail goto*//*Label 3207*/ GIMT_Encode4(145778), // Rule ID 4868 //
51656 /* 145721 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51657 /* 145724 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51658 /* 145728 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51659 /* 145732 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51660 /* 145736 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51661 /* 145740 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51662 /* 145743 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51663 /* 145747 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51664 /* 145751 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51665 /* 145753 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51666 /* 145760 */ // (ssubsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51667 /* 145760 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZ128rm),
51668 /* 145763 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51669 /* 145765 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51670 /* 145767 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51671 /* 145771 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51672 /* 145776 */ GIR_RootConstrainSelectedInstOperands,
51673 /* 145777 */ // GIR_Coverage, 4868,
51674 /* 145777 */ GIR_EraseRootFromParent_Done,
51675 /* 145778 */ // Label 3207: @145778
51676 /* 145778 */ GIM_Try, /*On fail goto*//*Label 3208*/ GIMT_Encode4(145805), // Rule ID 2618 //
51677 /* 145783 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51678 /* 145786 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51679 /* 145790 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51680 /* 145794 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51681 /* 145798 */ // (ssubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPSUBSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
51682 /* 145798 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWrr),
51683 /* 145803 */ GIR_RootConstrainSelectedInstOperands,
51684 /* 145804 */ // GIR_Coverage, 2618,
51685 /* 145804 */ GIR_Done,
51686 /* 145805 */ // Label 3208: @145805
51687 /* 145805 */ GIM_Try, /*On fail goto*//*Label 3209*/ GIMT_Encode4(145832), // Rule ID 2620 //
51688 /* 145810 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
51689 /* 145813 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51690 /* 145817 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51691 /* 145821 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51692 /* 145825 */ // (ssubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PSUBSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
51693 /* 145825 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBSWrr),
51694 /* 145830 */ GIR_RootConstrainSelectedInstOperands,
51695 /* 145831 */ // GIR_Coverage, 2620,
51696 /* 145831 */ GIR_Done,
51697 /* 145832 */ // Label 3209: @145832
51698 /* 145832 */ GIM_Try, /*On fail goto*//*Label 3210*/ GIMT_Encode4(145859), // Rule ID 4865 //
51699 /* 145837 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51700 /* 145840 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51701 /* 145844 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51702 /* 145848 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51703 /* 145852 */ // (ssubsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPSUBSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
51704 /* 145852 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZ128rr),
51705 /* 145857 */ GIR_RootConstrainSelectedInstOperands,
51706 /* 145858 */ // GIR_Coverage, 4865,
51707 /* 145858 */ GIR_Done,
51708 /* 145859 */ // Label 3210: @145859
51709 /* 145859 */ GIM_Reject,
51710 /* 145860 */ // Label 3205: @145860
51711 /* 145860 */ GIM_Reject,
51712 /* 145861 */ // Label 3199: @145861
51713 /* 145861 */ GIM_Try, /*On fail goto*//*Label 3211*/ GIMT_Encode4(146078),
51714 /* 145866 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
51715 /* 145869 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
51716 /* 145872 */ GIM_Try, /*On fail goto*//*Label 3212*/ GIMT_Encode4(145934), // Rule ID 2613 //
51717 /* 145877 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51718 /* 145880 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51719 /* 145884 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51720 /* 145888 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51721 /* 145892 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51722 /* 145896 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51723 /* 145899 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51724 /* 145903 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51725 /* 145907 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51726 /* 145909 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51727 /* 145916 */ // (ssubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51728 /* 145916 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBrm),
51729 /* 145919 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51730 /* 145921 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51731 /* 145923 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51732 /* 145927 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51733 /* 145932 */ GIR_RootConstrainSelectedInstOperands,
51734 /* 145933 */ // GIR_Coverage, 2613,
51735 /* 145933 */ GIR_EraseRootFromParent_Done,
51736 /* 145934 */ // Label 3212: @145934
51737 /* 145934 */ GIM_Try, /*On fail goto*//*Label 3213*/ GIMT_Encode4(145996), // Rule ID 4886 //
51738 /* 145939 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51739 /* 145942 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51740 /* 145946 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51741 /* 145950 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51742 /* 145954 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51743 /* 145958 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51744 /* 145961 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51745 /* 145965 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51746 /* 145969 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51747 /* 145971 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51748 /* 145978 */ // (ssubsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51749 /* 145978 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZ128rm),
51750 /* 145981 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51751 /* 145983 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51752 /* 145985 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51753 /* 145989 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51754 /* 145994 */ GIR_RootConstrainSelectedInstOperands,
51755 /* 145995 */ // GIR_Coverage, 4886,
51756 /* 145995 */ GIR_EraseRootFromParent_Done,
51757 /* 145996 */ // Label 3213: @145996
51758 /* 145996 */ GIM_Try, /*On fail goto*//*Label 3214*/ GIMT_Encode4(146023), // Rule ID 2612 //
51759 /* 146001 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51760 /* 146004 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51761 /* 146008 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51762 /* 146012 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51763 /* 146016 */ // (ssubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPSUBSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
51764 /* 146016 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBrr),
51765 /* 146021 */ GIR_RootConstrainSelectedInstOperands,
51766 /* 146022 */ // GIR_Coverage, 2612,
51767 /* 146022 */ GIR_Done,
51768 /* 146023 */ // Label 3214: @146023
51769 /* 146023 */ GIM_Try, /*On fail goto*//*Label 3215*/ GIMT_Encode4(146050), // Rule ID 2614 //
51770 /* 146028 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
51771 /* 146031 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51772 /* 146035 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51773 /* 146039 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51774 /* 146043 */ // (ssubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PSUBSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
51775 /* 146043 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBSBrr),
51776 /* 146048 */ GIR_RootConstrainSelectedInstOperands,
51777 /* 146049 */ // GIR_Coverage, 2614,
51778 /* 146049 */ GIR_Done,
51779 /* 146050 */ // Label 3215: @146050
51780 /* 146050 */ GIM_Try, /*On fail goto*//*Label 3216*/ GIMT_Encode4(146077), // Rule ID 4883 //
51781 /* 146055 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51782 /* 146058 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51783 /* 146062 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51784 /* 146066 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51785 /* 146070 */ // (ssubsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPSUBSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
51786 /* 146070 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZ128rr),
51787 /* 146075 */ GIR_RootConstrainSelectedInstOperands,
51788 /* 146076 */ // GIR_Coverage, 4883,
51789 /* 146076 */ GIR_Done,
51790 /* 146077 */ // Label 3216: @146077
51791 /* 146077 */ GIM_Reject,
51792 /* 146078 */ // Label 3211: @146078
51793 /* 146078 */ GIM_Reject,
51794 /* 146079 */ // Label 3200: @146079
51795 /* 146079 */ GIM_Try, /*On fail goto*//*Label 3217*/ GIMT_Encode4(146269),
51796 /* 146084 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
51797 /* 146087 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
51798 /* 146090 */ GIM_Try, /*On fail goto*//*Label 3218*/ GIMT_Encode4(146152), // Rule ID 2623 //
51799 /* 146095 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51800 /* 146098 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51801 /* 146102 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51802 /* 146106 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51803 /* 146110 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51804 /* 146114 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51805 /* 146117 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51806 /* 146121 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51807 /* 146125 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51808 /* 146127 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51809 /* 146134 */ // (ssubsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51810 /* 146134 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWYrm),
51811 /* 146137 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51812 /* 146139 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51813 /* 146141 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51814 /* 146145 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51815 /* 146150 */ GIR_RootConstrainSelectedInstOperands,
51816 /* 146151 */ // GIR_Coverage, 2623,
51817 /* 146151 */ GIR_EraseRootFromParent_Done,
51818 /* 146152 */ // Label 3218: @146152
51819 /* 146152 */ GIM_Try, /*On fail goto*//*Label 3219*/ GIMT_Encode4(146214), // Rule ID 4862 //
51820 /* 146157 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51821 /* 146160 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51822 /* 146164 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51823 /* 146168 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51824 /* 146172 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51825 /* 146176 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51826 /* 146179 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51827 /* 146183 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51828 /* 146187 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51829 /* 146189 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51830 /* 146196 */ // (ssubsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51831 /* 146196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZ256rm),
51832 /* 146199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51833 /* 146201 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51834 /* 146203 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51835 /* 146207 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51836 /* 146212 */ GIR_RootConstrainSelectedInstOperands,
51837 /* 146213 */ // GIR_Coverage, 4862,
51838 /* 146213 */ GIR_EraseRootFromParent_Done,
51839 /* 146214 */ // Label 3219: @146214
51840 /* 146214 */ GIM_Try, /*On fail goto*//*Label 3220*/ GIMT_Encode4(146241), // Rule ID 2622 //
51841 /* 146219 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51842 /* 146222 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51843 /* 146226 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51844 /* 146230 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51845 /* 146234 */ // (ssubsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPSUBSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
51846 /* 146234 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWYrr),
51847 /* 146239 */ GIR_RootConstrainSelectedInstOperands,
51848 /* 146240 */ // GIR_Coverage, 2622,
51849 /* 146240 */ GIR_Done,
51850 /* 146241 */ // Label 3220: @146241
51851 /* 146241 */ GIM_Try, /*On fail goto*//*Label 3221*/ GIMT_Encode4(146268), // Rule ID 4859 //
51852 /* 146246 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51853 /* 146249 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51854 /* 146253 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51855 /* 146257 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51856 /* 146261 */ // (ssubsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPSUBSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
51857 /* 146261 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZ256rr),
51858 /* 146266 */ GIR_RootConstrainSelectedInstOperands,
51859 /* 146267 */ // GIR_Coverage, 4859,
51860 /* 146267 */ GIR_Done,
51861 /* 146268 */ // Label 3221: @146268
51862 /* 146268 */ GIM_Reject,
51863 /* 146269 */ // Label 3217: @146269
51864 /* 146269 */ GIM_Reject,
51865 /* 146270 */ // Label 3201: @146270
51866 /* 146270 */ GIM_Try, /*On fail goto*//*Label 3222*/ GIMT_Encode4(146460),
51867 /* 146275 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
51868 /* 146278 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
51869 /* 146281 */ GIM_Try, /*On fail goto*//*Label 3223*/ GIMT_Encode4(146343), // Rule ID 2617 //
51870 /* 146286 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51871 /* 146289 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51872 /* 146293 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51873 /* 146297 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51874 /* 146301 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51875 /* 146305 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51876 /* 146308 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51877 /* 146312 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51878 /* 146316 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51879 /* 146318 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51880 /* 146325 */ // (ssubsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51881 /* 146325 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBYrm),
51882 /* 146328 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51883 /* 146330 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51884 /* 146332 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51885 /* 146336 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51886 /* 146341 */ GIR_RootConstrainSelectedInstOperands,
51887 /* 146342 */ // GIR_Coverage, 2617,
51888 /* 146342 */ GIR_EraseRootFromParent_Done,
51889 /* 146343 */ // Label 3223: @146343
51890 /* 146343 */ GIM_Try, /*On fail goto*//*Label 3224*/ GIMT_Encode4(146405), // Rule ID 4880 //
51891 /* 146348 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51892 /* 146351 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51893 /* 146355 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51894 /* 146359 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51895 /* 146363 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51896 /* 146367 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51897 /* 146370 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51898 /* 146374 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51899 /* 146378 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51900 /* 146380 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51901 /* 146387 */ // (ssubsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51902 /* 146387 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZ256rm),
51903 /* 146390 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51904 /* 146392 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51905 /* 146394 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51906 /* 146398 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51907 /* 146403 */ GIR_RootConstrainSelectedInstOperands,
51908 /* 146404 */ // GIR_Coverage, 4880,
51909 /* 146404 */ GIR_EraseRootFromParent_Done,
51910 /* 146405 */ // Label 3224: @146405
51911 /* 146405 */ GIM_Try, /*On fail goto*//*Label 3225*/ GIMT_Encode4(146432), // Rule ID 2616 //
51912 /* 146410 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51913 /* 146413 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51914 /* 146417 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51915 /* 146421 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51916 /* 146425 */ // (ssubsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPSUBSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
51917 /* 146425 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBYrr),
51918 /* 146430 */ GIR_RootConstrainSelectedInstOperands,
51919 /* 146431 */ // GIR_Coverage, 2616,
51920 /* 146431 */ GIR_Done,
51921 /* 146432 */ // Label 3225: @146432
51922 /* 146432 */ GIM_Try, /*On fail goto*//*Label 3226*/ GIMT_Encode4(146459), // Rule ID 4877 //
51923 /* 146437 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51924 /* 146440 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51925 /* 146444 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51926 /* 146448 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51927 /* 146452 */ // (ssubsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPSUBSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
51928 /* 146452 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZ256rr),
51929 /* 146457 */ GIR_RootConstrainSelectedInstOperands,
51930 /* 146458 */ // GIR_Coverage, 4877,
51931 /* 146458 */ GIR_Done,
51932 /* 146459 */ // Label 3226: @146459
51933 /* 146459 */ GIM_Reject,
51934 /* 146460 */ // Label 3222: @146460
51935 /* 146460 */ GIM_Reject,
51936 /* 146461 */ // Label 3202: @146461
51937 /* 146461 */ GIM_Try, /*On fail goto*//*Label 3227*/ GIMT_Encode4(146554),
51938 /* 146466 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
51939 /* 146469 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
51940 /* 146472 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51941 /* 146476 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51942 /* 146480 */ GIM_Try, /*On fail goto*//*Label 3228*/ GIMT_Encode4(146534), // Rule ID 4856 //
51943 /* 146485 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51944 /* 146488 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51945 /* 146492 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51946 /* 146496 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51947 /* 146499 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51948 /* 146503 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51949 /* 146507 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51950 /* 146509 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51951 /* 146516 */ // (ssubsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51952 /* 146516 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZrm),
51953 /* 146519 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51954 /* 146521 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51955 /* 146523 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51956 /* 146527 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51957 /* 146532 */ GIR_RootConstrainSelectedInstOperands,
51958 /* 146533 */ // GIR_Coverage, 4856,
51959 /* 146533 */ GIR_EraseRootFromParent_Done,
51960 /* 146534 */ // Label 3228: @146534
51961 /* 146534 */ GIM_Try, /*On fail goto*//*Label 3229*/ GIMT_Encode4(146553), // Rule ID 4853 //
51962 /* 146539 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51963 /* 146542 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51964 /* 146546 */ // (ssubsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPSUBSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
51965 /* 146546 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZrr),
51966 /* 146551 */ GIR_RootConstrainSelectedInstOperands,
51967 /* 146552 */ // GIR_Coverage, 4853,
51968 /* 146552 */ GIR_Done,
51969 /* 146553 */ // Label 3229: @146553
51970 /* 146553 */ GIM_Reject,
51971 /* 146554 */ // Label 3227: @146554
51972 /* 146554 */ GIM_Reject,
51973 /* 146555 */ // Label 3203: @146555
51974 /* 146555 */ GIM_Try, /*On fail goto*//*Label 3230*/ GIMT_Encode4(146648),
51975 /* 146560 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
51976 /* 146563 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
51977 /* 146566 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51978 /* 146570 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51979 /* 146574 */ GIM_Try, /*On fail goto*//*Label 3231*/ GIMT_Encode4(146628), // Rule ID 4874 //
51980 /* 146579 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51981 /* 146582 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51982 /* 146586 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51983 /* 146590 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51984 /* 146593 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51985 /* 146597 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51986 /* 146601 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51987 /* 146603 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51988 /* 146610 */ // (ssubsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51989 /* 146610 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZrm),
51990 /* 146613 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51991 /* 146615 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51992 /* 146617 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51993 /* 146621 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51994 /* 146626 */ GIR_RootConstrainSelectedInstOperands,
51995 /* 146627 */ // GIR_Coverage, 4874,
51996 /* 146627 */ GIR_EraseRootFromParent_Done,
51997 /* 146628 */ // Label 3231: @146628
51998 /* 146628 */ GIM_Try, /*On fail goto*//*Label 3232*/ GIMT_Encode4(146647), // Rule ID 4871 //
51999 /* 146633 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
52000 /* 146636 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52001 /* 146640 */ // (ssubsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPSUBSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
52002 /* 146640 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZrr),
52003 /* 146645 */ GIR_RootConstrainSelectedInstOperands,
52004 /* 146646 */ // GIR_Coverage, 4871,
52005 /* 146646 */ GIR_Done,
52006 /* 146647 */ // Label 3232: @146647
52007 /* 146647 */ GIM_Reject,
52008 /* 146648 */ // Label 3230: @146648
52009 /* 146648 */ GIM_Reject,
52010 /* 146649 */ // Label 3204: @146649
52011 /* 146649 */ GIM_Reject,
52012 /* 146650 */ // Label 42: @146650
52013 /* 146650 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 3246*/ GIMT_Encode4(152563),
52014 /* 146661 */ /*GILLT_s16*//*Label 3233*/ GIMT_Encode4(146745),
52015 /* 146665 */ /*GILLT_s32*//*Label 3234*/ GIMT_Encode4(146905),
52016 /* 146669 */ /*GILLT_s64*//*Label 3235*/ GIMT_Encode4(148302),
52017 /* 146673 */ /*GILLT_s80*//*Label 3236*/ GIMT_Encode4(149843), GIMT_Encode4(0), GIMT_Encode4(0),
52018 /* 146685 */ /*GILLT_v2s64*//*Label 3237*/ GIMT_Encode4(150409), GIMT_Encode4(0),
52019 /* 146693 */ /*GILLT_v4s32*//*Label 3238*/ GIMT_Encode4(150763),
52020 /* 146697 */ /*GILLT_v4s64*//*Label 3239*/ GIMT_Encode4(151117), GIMT_Encode4(0),
52021 /* 146705 */ /*GILLT_v8s16*//*Label 3240*/ GIMT_Encode4(151440),
52022 /* 146709 */ /*GILLT_v8s32*//*Label 3241*/ GIMT_Encode4(151600),
52023 /* 146713 */ /*GILLT_v8s64*//*Label 3242*/ GIMT_Encode4(151923), GIMT_Encode4(0), GIMT_Encode4(0),
52024 /* 146725 */ /*GILLT_v16s16*//*Label 3243*/ GIMT_Encode4(152083),
52025 /* 146729 */ /*GILLT_v16s32*//*Label 3244*/ GIMT_Encode4(152243), GIMT_Encode4(0), GIMT_Encode4(0),
52026 /* 146741 */ /*GILLT_v32s16*//*Label 3245*/ GIMT_Encode4(152403),
52027 /* 146745 */ // Label 3233: @146745
52028 /* 146745 */ GIM_Try, /*On fail goto*//*Label 3247*/ GIMT_Encode4(146904),
52029 /* 146750 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
52030 /* 146753 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
52031 /* 146756 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
52032 /* 146760 */ GIM_Try, /*On fail goto*//*Label 3248*/ GIMT_Encode4(146818), // Rule ID 24332 //
52033 /* 146765 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
52034 /* 146768 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52035 /* 146772 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52036 /* 146776 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52037 /* 146779 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52038 /* 146783 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52039 /* 146787 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
52040 /* 146791 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52041 /* 146793 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52042 /* 146800 */ // (fadd:{ *:[f16] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR16X:{ *:[f16] }:$src1) => (VADDSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
52043 /* 146800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSHZrm),
52044 /* 146803 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52045 /* 146805 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52046 /* 146807 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52047 /* 146811 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52048 /* 146816 */ GIR_RootConstrainSelectedInstOperands,
52049 /* 146817 */ // GIR_Coverage, 24332,
52050 /* 146817 */ GIR_EraseRootFromParent_Done,
52051 /* 146818 */ // Label 3248: @146818
52052 /* 146818 */ GIM_Try, /*On fail goto*//*Label 3249*/ GIMT_Encode4(146876), // Rule ID 5959 //
52053 /* 146823 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
52054 /* 146826 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
52055 /* 146830 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52056 /* 146834 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52057 /* 146838 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52058 /* 146841 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52059 /* 146845 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52060 /* 146849 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52061 /* 146851 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52062 /* 146858 */ // (fadd:{ *:[f16] } FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
52063 /* 146858 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSHZrm),
52064 /* 146861 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52065 /* 146863 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52066 /* 146865 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52067 /* 146869 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52068 /* 146874 */ GIR_RootConstrainSelectedInstOperands,
52069 /* 146875 */ // GIR_Coverage, 5959,
52070 /* 146875 */ GIR_EraseRootFromParent_Done,
52071 /* 146876 */ // Label 3249: @146876
52072 /* 146876 */ GIM_Try, /*On fail goto*//*Label 3250*/ GIMT_Encode4(146903), // Rule ID 5957 //
52073 /* 146881 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
52074 /* 146884 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
52075 /* 146888 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
52076 /* 146892 */ // (fadd:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VADDSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
52077 /* 146892 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSHZrr),
52078 /* 146897 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52079 /* 146901 */ GIR_RootConstrainSelectedInstOperands,
52080 /* 146902 */ // GIR_Coverage, 5957,
52081 /* 146902 */ GIR_Done,
52082 /* 146903 */ // Label 3250: @146903
52083 /* 146903 */ GIM_Reject,
52084 /* 146904 */ // Label 3247: @146904
52085 /* 146904 */ GIM_Reject,
52086 /* 146905 */ // Label 3234: @146905
52087 /* 146905 */ GIM_Try, /*On fail goto*//*Label 3251*/ GIMT_Encode4(148301),
52088 /* 146910 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
52089 /* 146913 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
52090 /* 146916 */ GIM_Try, /*On fail goto*//*Label 3252*/ GIMT_Encode4(146998), // Rule ID 26100 //
52091 /* 146921 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
52092 /* 146924 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52093 /* 146928 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52094 /* 146932 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52095 /* 146936 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
52096 /* 146940 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52097 /* 146944 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52098 /* 146948 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52099 /* 146951 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52100 /* 146955 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52101 /* 146962 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52102 /* 146966 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52103 /* 146970 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52104 /* 146972 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52105 /* 146979 */ // (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)
52106 /* 146979 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
52107 /* 146982 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52108 /* 146984 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52109 /* 146986 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52110 /* 146990 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52111 /* 146996 */ GIR_RootConstrainSelectedInstOperands,
52112 /* 146997 */ // GIR_Coverage, 26100,
52113 /* 146997 */ GIR_EraseRootFromParent_Done,
52114 /* 146998 */ // Label 3252: @146998
52115 /* 146998 */ GIM_Try, /*On fail goto*//*Label 3253*/ GIMT_Encode4(147080), // Rule ID 26101 //
52116 /* 147003 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
52117 /* 147006 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52118 /* 147010 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52119 /* 147014 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52120 /* 147018 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
52121 /* 147022 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52122 /* 147026 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52123 /* 147030 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52124 /* 147033 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52125 /* 147037 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52126 /* 147044 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52127 /* 147048 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52128 /* 147052 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52129 /* 147054 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52130 /* 147061 */ // (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)
52131 /* 147061 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
52132 /* 147064 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52133 /* 147066 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52134 /* 147068 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52135 /* 147072 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52136 /* 147078 */ GIR_RootConstrainSelectedInstOperands,
52137 /* 147079 */ // GIR_Coverage, 26101,
52138 /* 147079 */ GIR_EraseRootFromParent_Done,
52139 /* 147080 */ // Label 3253: @147080
52140 /* 147080 */ GIM_Try, /*On fail goto*//*Label 3254*/ GIMT_Encode4(147162), // Rule ID 26102 //
52141 /* 147085 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
52142 /* 147088 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52143 /* 147092 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52144 /* 147096 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52145 /* 147100 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
52146 /* 147104 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52147 /* 147108 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52148 /* 147112 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52149 /* 147115 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52150 /* 147119 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52151 /* 147126 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52152 /* 147130 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52153 /* 147134 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52154 /* 147136 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52155 /* 147143 */ // (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)
52156 /* 147143 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
52157 /* 147146 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52158 /* 147148 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52159 /* 147150 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52160 /* 147154 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52161 /* 147160 */ GIR_RootConstrainSelectedInstOperands,
52162 /* 147161 */ // GIR_Coverage, 26102,
52163 /* 147161 */ GIR_EraseRootFromParent_Done,
52164 /* 147162 */ // Label 3254: @147162
52165 /* 147162 */ GIM_Try, /*On fail goto*//*Label 3255*/ GIMT_Encode4(147244), // Rule ID 22528 //
52166 /* 147167 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
52167 /* 147170 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52168 /* 147174 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52169 /* 147178 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52170 /* 147182 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52171 /* 147186 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
52172 /* 147190 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52173 /* 147194 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52174 /* 147198 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52175 /* 147201 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52176 /* 147205 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52177 /* 147212 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52178 /* 147216 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52179 /* 147218 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52180 /* 147225 */ // (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)
52181 /* 147225 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
52182 /* 147228 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52183 /* 147230 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52184 /* 147232 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52185 /* 147236 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52186 /* 147242 */ GIR_RootConstrainSelectedInstOperands,
52187 /* 147243 */ // GIR_Coverage, 22528,
52188 /* 147243 */ GIR_EraseRootFromParent_Done,
52189 /* 147244 */ // Label 3255: @147244
52190 /* 147244 */ GIM_Try, /*On fail goto*//*Label 3256*/ GIMT_Encode4(147326), // Rule ID 22529 //
52191 /* 147249 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
52192 /* 147252 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52193 /* 147256 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52194 /* 147260 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52195 /* 147264 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52196 /* 147268 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
52197 /* 147272 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52198 /* 147276 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52199 /* 147280 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52200 /* 147283 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52201 /* 147287 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52202 /* 147294 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52203 /* 147298 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52204 /* 147300 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52205 /* 147307 */ // (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)
52206 /* 147307 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
52207 /* 147310 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52208 /* 147312 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52209 /* 147314 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52210 /* 147318 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52211 /* 147324 */ GIR_RootConstrainSelectedInstOperands,
52212 /* 147325 */ // GIR_Coverage, 22529,
52213 /* 147325 */ GIR_EraseRootFromParent_Done,
52214 /* 147326 */ // Label 3256: @147326
52215 /* 147326 */ GIM_Try, /*On fail goto*//*Label 3257*/ GIMT_Encode4(147408), // Rule ID 22530 //
52216 /* 147331 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
52217 /* 147334 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52218 /* 147338 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52219 /* 147342 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52220 /* 147346 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52221 /* 147350 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
52222 /* 147354 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52223 /* 147358 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52224 /* 147362 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52225 /* 147365 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52226 /* 147369 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52227 /* 147376 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52228 /* 147380 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52229 /* 147382 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52230 /* 147389 */ // (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)
52231 /* 147389 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
52232 /* 147392 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52233 /* 147394 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52234 /* 147396 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52235 /* 147400 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52236 /* 147406 */ GIR_RootConstrainSelectedInstOperands,
52237 /* 147407 */ // GIR_Coverage, 22530,
52238 /* 147407 */ GIR_EraseRootFromParent_Done,
52239 /* 147408 */ // Label 3257: @147408
52240 /* 147408 */ GIM_Try, /*On fail goto*//*Label 3258*/ GIMT_Encode4(147473), // Rule ID 23329 //
52241 /* 147413 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
52242 /* 147416 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52243 /* 147420 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52244 /* 147424 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
52245 /* 147428 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
52246 /* 147435 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52247 /* 147439 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52248 /* 147443 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52249 /* 147445 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52250 /* 147452 */ // (fadd:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (ADD_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52251 /* 147452 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m32),
52252 /* 147455 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52253 /* 147457 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52254 /* 147459 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52255 /* 147463 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52256 /* 147466 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52257 /* 147471 */ GIR_RootConstrainSelectedInstOperands,
52258 /* 147472 */ // GIR_Coverage, 23329,
52259 /* 147472 */ GIR_EraseRootFromParent_Done,
52260 /* 147473 */ // Label 3258: @147473
52261 /* 147473 */ GIM_Try, /*On fail goto*//*Label 3259*/ GIMT_Encode4(147538), // Rule ID 23331 //
52262 /* 147478 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
52263 /* 147481 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52264 /* 147485 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52265 /* 147489 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
52266 /* 147493 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52267 /* 147500 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52268 /* 147504 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52269 /* 147508 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52270 /* 147510 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52271 /* 147517 */ // (fadd:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (ADD_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52272 /* 147517 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m32),
52273 /* 147520 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52274 /* 147522 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52275 /* 147524 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52276 /* 147528 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52277 /* 147531 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52278 /* 147536 */ GIR_RootConstrainSelectedInstOperands,
52279 /* 147537 */ // GIR_Coverage, 23331,
52280 /* 147537 */ GIR_EraseRootFromParent_Done,
52281 /* 147538 */ // Label 3259: @147538
52282 /* 147538 */ GIM_Try, /*On fail goto*//*Label 3260*/ GIMT_Encode4(147603), // Rule ID 23319 //
52283 /* 147543 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
52284 /* 147546 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52285 /* 147550 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52286 /* 147554 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52287 /* 147558 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52288 /* 147561 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52289 /* 147565 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52290 /* 147569 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52291 /* 147573 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52292 /* 147575 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52293 /* 147582 */ // (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)
52294 /* 147582 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32m),
52295 /* 147585 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52296 /* 147587 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52297 /* 147589 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52298 /* 147593 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52299 /* 147596 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52300 /* 147601 */ GIR_RootConstrainSelectedInstOperands,
52301 /* 147602 */ // GIR_Coverage, 23319,
52302 /* 147602 */ GIR_EraseRootFromParent_Done,
52303 /* 147603 */ // Label 3260: @147603
52304 /* 147603 */ GIM_Try, /*On fail goto*//*Label 3261*/ GIMT_Encode4(147665), // Rule ID 23464 //
52305 /* 147608 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
52306 /* 147611 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52307 /* 147615 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52308 /* 147619 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52309 /* 147623 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52310 /* 147626 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52311 /* 147630 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52312 /* 147634 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52313 /* 147638 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52314 /* 147640 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52315 /* 147647 */ // (fadd:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (VADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52316 /* 147647 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
52317 /* 147650 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52318 /* 147652 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52319 /* 147654 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52320 /* 147658 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52321 /* 147663 */ GIR_RootConstrainSelectedInstOperands,
52322 /* 147664 */ // GIR_Coverage, 23464,
52323 /* 147664 */ GIR_EraseRootFromParent_Done,
52324 /* 147665 */ // Label 3261: @147665
52325 /* 147665 */ GIM_Try, /*On fail goto*//*Label 3262*/ GIMT_Encode4(147727), // Rule ID 23468 //
52326 /* 147670 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
52327 /* 147673 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52328 /* 147677 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52329 /* 147681 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52330 /* 147685 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52331 /* 147688 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52332 /* 147692 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52333 /* 147696 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52334 /* 147700 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52335 /* 147702 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52336 /* 147709 */ // (fadd:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (ADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52337 /* 147709 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
52338 /* 147712 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52339 /* 147714 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52340 /* 147716 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52341 /* 147720 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52342 /* 147725 */ GIR_RootConstrainSelectedInstOperands,
52343 /* 147726 */ // GIR_Coverage, 23468,
52344 /* 147726 */ GIR_EraseRootFromParent_Done,
52345 /* 147727 */ // Label 3262: @147727
52346 /* 147727 */ GIM_Try, /*On fail goto*//*Label 3263*/ GIMT_Encode4(147789), // Rule ID 24328 //
52347 /* 147732 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
52348 /* 147735 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52349 /* 147739 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52350 /* 147743 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52351 /* 147747 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52352 /* 147750 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52353 /* 147754 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52354 /* 147758 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52355 /* 147762 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52356 /* 147764 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52357 /* 147771 */ // (fadd:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32X:{ *:[f32] }:$src1) => (VADDSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52358 /* 147771 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
52359 /* 147774 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52360 /* 147776 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52361 /* 147778 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52362 /* 147782 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52363 /* 147787 */ GIR_RootConstrainSelectedInstOperands,
52364 /* 147788 */ // GIR_Coverage, 24328,
52365 /* 147788 */ GIR_EraseRootFromParent_Done,
52366 /* 147789 */ // Label 3263: @147789
52367 /* 147789 */ GIM_Try, /*On fail goto*//*Label 3264*/ GIMT_Encode4(147854), // Rule ID 921 //
52368 /* 147794 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
52369 /* 147797 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52370 /* 147801 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52371 /* 147805 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52372 /* 147809 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
52373 /* 147813 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
52374 /* 147820 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52375 /* 147824 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52376 /* 147826 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52377 /* 147833 */ // (fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52378 /* 147833 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m32),
52379 /* 147836 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52380 /* 147838 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52381 /* 147840 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52382 /* 147844 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52383 /* 147847 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52384 /* 147852 */ GIR_RootConstrainSelectedInstOperands,
52385 /* 147853 */ // GIR_Coverage, 921,
52386 /* 147853 */ GIR_EraseRootFromParent_Done,
52387 /* 147854 */ // Label 3264: @147854
52388 /* 147854 */ GIM_Try, /*On fail goto*//*Label 3265*/ GIMT_Encode4(147919), // Rule ID 923 //
52389 /* 147859 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
52390 /* 147862 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52391 /* 147866 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52392 /* 147870 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52393 /* 147874 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
52394 /* 147878 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52395 /* 147885 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52396 /* 147889 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52397 /* 147891 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52398 /* 147898 */ // (fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52399 /* 147898 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m32),
52400 /* 147901 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52401 /* 147903 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52402 /* 147905 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52403 /* 147909 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52404 /* 147912 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52405 /* 147917 */ GIR_RootConstrainSelectedInstOperands,
52406 /* 147918 */ // GIR_Coverage, 923,
52407 /* 147918 */ GIR_EraseRootFromParent_Done,
52408 /* 147919 */ // Label 3265: @147919
52409 /* 147919 */ GIM_Try, /*On fail goto*//*Label 3266*/ GIMT_Encode4(147984), // Rule ID 911 //
52410 /* 147924 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
52411 /* 147927 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52412 /* 147931 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52413 /* 147935 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52414 /* 147939 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52415 /* 147943 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52416 /* 147946 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52417 /* 147950 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52418 /* 147954 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52419 /* 147956 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52420 /* 147963 */ // (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)
52421 /* 147963 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32m),
52422 /* 147966 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52423 /* 147968 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52424 /* 147970 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52425 /* 147974 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52426 /* 147977 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52427 /* 147982 */ GIR_RootConstrainSelectedInstOperands,
52428 /* 147983 */ // GIR_Coverage, 911,
52429 /* 147983 */ GIR_EraseRootFromParent_Done,
52430 /* 147984 */ // Label 3266: @147984
52431 /* 147984 */ GIM_Try, /*On fail goto*//*Label 3267*/ GIMT_Encode4(148046), // Rule ID 2161 //
52432 /* 147989 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
52433 /* 147992 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52434 /* 147996 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52435 /* 148000 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52436 /* 148004 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52437 /* 148008 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52438 /* 148011 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52439 /* 148015 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52440 /* 148019 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52441 /* 148021 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52442 /* 148028 */ // (fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52443 /* 148028 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
52444 /* 148031 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52445 /* 148033 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52446 /* 148035 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52447 /* 148039 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52448 /* 148044 */ GIR_RootConstrainSelectedInstOperands,
52449 /* 148045 */ // GIR_Coverage, 2161,
52450 /* 148045 */ GIR_EraseRootFromParent_Done,
52451 /* 148046 */ // Label 3267: @148046
52452 /* 148046 */ GIM_Try, /*On fail goto*//*Label 3268*/ GIMT_Encode4(148108), // Rule ID 2169 //
52453 /* 148051 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
52454 /* 148054 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52455 /* 148058 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52456 /* 148062 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52457 /* 148066 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52458 /* 148070 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52459 /* 148073 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52460 /* 148077 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52461 /* 148081 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52462 /* 148083 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52463 /* 148090 */ // (fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (ADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52464 /* 148090 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
52465 /* 148093 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52466 /* 148095 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52467 /* 148097 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52468 /* 148101 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52469 /* 148106 */ GIR_RootConstrainSelectedInstOperands,
52470 /* 148107 */ // GIR_Coverage, 2169,
52471 /* 148107 */ GIR_EraseRootFromParent_Done,
52472 /* 148108 */ // Label 3268: @148108
52473 /* 148108 */ GIM_Try, /*On fail goto*//*Label 3269*/ GIMT_Encode4(148170), // Rule ID 5921 //
52474 /* 148113 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
52475 /* 148116 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52476 /* 148120 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52477 /* 148124 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52478 /* 148128 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52479 /* 148132 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52480 /* 148135 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52481 /* 148139 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52482 /* 148143 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52483 /* 148145 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52484 /* 148152 */ // (fadd:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52485 /* 148152 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
52486 /* 148155 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52487 /* 148157 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52488 /* 148159 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52489 /* 148163 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52490 /* 148168 */ GIR_RootConstrainSelectedInstOperands,
52491 /* 148169 */ // GIR_Coverage, 5921,
52492 /* 148169 */ GIR_EraseRootFromParent_Done,
52493 /* 148170 */ // Label 3269: @148170
52494 /* 148170 */ GIM_Try, /*On fail goto*//*Label 3270*/ GIMT_Encode4(148207), // Rule ID 887 //
52495 /* 148175 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
52496 /* 148178 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52497 /* 148182 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52498 /* 148186 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52499 /* 148190 */ // (fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (ADD_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
52500 /* 148190 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32),
52501 /* 148195 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
52502 /* 148201 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
52503 /* 148205 */ GIR_RootConstrainSelectedInstOperands,
52504 /* 148206 */ // GIR_Coverage, 887,
52505 /* 148206 */ GIR_Done,
52506 /* 148207 */ // Label 3270: @148207
52507 /* 148207 */ GIM_Try, /*On fail goto*//*Label 3271*/ GIMT_Encode4(148238), // Rule ID 2159 //
52508 /* 148212 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
52509 /* 148215 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52510 /* 148219 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52511 /* 148223 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52512 /* 148227 */ // (fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VADDSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
52513 /* 148227 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSSrr),
52514 /* 148232 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52515 /* 148236 */ GIR_RootConstrainSelectedInstOperands,
52516 /* 148237 */ // GIR_Coverage, 2159,
52517 /* 148237 */ GIR_Done,
52518 /* 148238 */ // Label 3271: @148238
52519 /* 148238 */ GIM_Try, /*On fail goto*//*Label 3272*/ GIMT_Encode4(148269), // Rule ID 2167 //
52520 /* 148243 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
52521 /* 148246 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52522 /* 148250 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52523 /* 148254 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52524 /* 148258 */ // (fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (ADDSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
52525 /* 148258 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDSSrr),
52526 /* 148263 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52527 /* 148267 */ GIR_RootConstrainSelectedInstOperands,
52528 /* 148268 */ // GIR_Coverage, 2167,
52529 /* 148268 */ GIR_Done,
52530 /* 148269 */ // Label 3272: @148269
52531 /* 148269 */ GIM_Try, /*On fail goto*//*Label 3273*/ GIMT_Encode4(148300), // Rule ID 5919 //
52532 /* 148274 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
52533 /* 148277 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52534 /* 148281 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52535 /* 148285 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52536 /* 148289 */ // (fadd:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VADDSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
52537 /* 148289 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSSZrr),
52538 /* 148294 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52539 /* 148298 */ GIR_RootConstrainSelectedInstOperands,
52540 /* 148299 */ // GIR_Coverage, 5919,
52541 /* 148299 */ GIR_Done,
52542 /* 148300 */ // Label 3273: @148300
52543 /* 148300 */ GIM_Reject,
52544 /* 148301 */ // Label 3251: @148301
52545 /* 148301 */ GIM_Reject,
52546 /* 148302 */ // Label 3235: @148302
52547 /* 148302 */ GIM_Try, /*On fail goto*//*Label 3274*/ GIMT_Encode4(149842),
52548 /* 148307 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
52549 /* 148310 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
52550 /* 148313 */ GIM_Try, /*On fail goto*//*Label 3275*/ GIMT_Encode4(148395), // Rule ID 26103 //
52551 /* 148318 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
52552 /* 148321 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52553 /* 148325 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52554 /* 148329 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52555 /* 148333 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
52556 /* 148337 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52557 /* 148341 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52558 /* 148345 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52559 /* 148348 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52560 /* 148352 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
52561 /* 148359 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52562 /* 148363 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52563 /* 148367 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52564 /* 148369 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52565 /* 148376 */ // (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)
52566 /* 148376 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
52567 /* 148379 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52568 /* 148381 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52569 /* 148383 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52570 /* 148387 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52571 /* 148393 */ GIR_RootConstrainSelectedInstOperands,
52572 /* 148394 */ // GIR_Coverage, 26103,
52573 /* 148394 */ GIR_EraseRootFromParent_Done,
52574 /* 148395 */ // Label 3275: @148395
52575 /* 148395 */ GIM_Try, /*On fail goto*//*Label 3276*/ GIMT_Encode4(148477), // Rule ID 26104 //
52576 /* 148400 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
52577 /* 148403 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52578 /* 148407 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52579 /* 148411 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52580 /* 148415 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
52581 /* 148419 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52582 /* 148423 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52583 /* 148427 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52584 /* 148430 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52585 /* 148434 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
52586 /* 148441 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52587 /* 148445 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52588 /* 148449 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52589 /* 148451 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52590 /* 148458 */ // (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)
52591 /* 148458 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
52592 /* 148461 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52593 /* 148463 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52594 /* 148465 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52595 /* 148469 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52596 /* 148475 */ GIR_RootConstrainSelectedInstOperands,
52597 /* 148476 */ // GIR_Coverage, 26104,
52598 /* 148476 */ GIR_EraseRootFromParent_Done,
52599 /* 148477 */ // Label 3276: @148477
52600 /* 148477 */ GIM_Try, /*On fail goto*//*Label 3277*/ GIMT_Encode4(148559), // Rule ID 26105 //
52601 /* 148482 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
52602 /* 148485 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
52603 /* 148489 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52604 /* 148493 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52605 /* 148497 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
52606 /* 148501 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52607 /* 148505 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52608 /* 148509 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52609 /* 148512 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52610 /* 148516 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
52611 /* 148523 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52612 /* 148527 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
52613 /* 148531 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52614 /* 148533 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52615 /* 148540 */ // (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)
52616 /* 148540 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
52617 /* 148543 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52618 /* 148545 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52619 /* 148547 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52620 /* 148551 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52621 /* 148557 */ GIR_RootConstrainSelectedInstOperands,
52622 /* 148558 */ // GIR_Coverage, 26105,
52623 /* 148558 */ GIR_EraseRootFromParent_Done,
52624 /* 148559 */ // Label 3277: @148559
52625 /* 148559 */ GIM_Try, /*On fail goto*//*Label 3278*/ GIMT_Encode4(148641), // Rule ID 22531 //
52626 /* 148564 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
52627 /* 148567 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52628 /* 148571 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52629 /* 148575 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52630 /* 148579 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52631 /* 148583 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
52632 /* 148587 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52633 /* 148591 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52634 /* 148595 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52635 /* 148598 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52636 /* 148602 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
52637 /* 148609 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52638 /* 148613 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52639 /* 148615 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52640 /* 148622 */ // (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)
52641 /* 148622 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
52642 /* 148625 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52643 /* 148627 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52644 /* 148629 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52645 /* 148633 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52646 /* 148639 */ GIR_RootConstrainSelectedInstOperands,
52647 /* 148640 */ // GIR_Coverage, 22531,
52648 /* 148640 */ GIR_EraseRootFromParent_Done,
52649 /* 148641 */ // Label 3278: @148641
52650 /* 148641 */ GIM_Try, /*On fail goto*//*Label 3279*/ GIMT_Encode4(148723), // Rule ID 22532 //
52651 /* 148646 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
52652 /* 148649 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52653 /* 148653 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52654 /* 148657 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52655 /* 148661 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52656 /* 148665 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
52657 /* 148669 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52658 /* 148673 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52659 /* 148677 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52660 /* 148680 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52661 /* 148684 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
52662 /* 148691 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52663 /* 148695 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52664 /* 148697 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52665 /* 148704 */ // (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)
52666 /* 148704 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
52667 /* 148707 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52668 /* 148709 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52669 /* 148711 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52670 /* 148715 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52671 /* 148721 */ GIR_RootConstrainSelectedInstOperands,
52672 /* 148722 */ // GIR_Coverage, 22532,
52673 /* 148722 */ GIR_EraseRootFromParent_Done,
52674 /* 148723 */ // Label 3279: @148723
52675 /* 148723 */ GIM_Try, /*On fail goto*//*Label 3280*/ GIMT_Encode4(148805), // Rule ID 22533 //
52676 /* 148728 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
52677 /* 148731 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
52678 /* 148735 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
52679 /* 148739 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52680 /* 148743 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52681 /* 148747 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
52682 /* 148751 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52683 /* 148755 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52684 /* 148759 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52685 /* 148762 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52686 /* 148766 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
52687 /* 148773 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52688 /* 148777 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52689 /* 148779 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52690 /* 148786 */ // (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)
52691 /* 148786 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
52692 /* 148789 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52693 /* 148791 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52694 /* 148793 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52695 /* 148797 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52696 /* 148803 */ GIR_RootConstrainSelectedInstOperands,
52697 /* 148804 */ // GIR_Coverage, 22533,
52698 /* 148804 */ GIR_EraseRootFromParent_Done,
52699 /* 148805 */ // Label 3280: @148805
52700 /* 148805 */ GIM_Try, /*On fail goto*//*Label 3281*/ GIMT_Encode4(148870), // Rule ID 23333 //
52701 /* 148810 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
52702 /* 148813 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
52703 /* 148817 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52704 /* 148821 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
52705 /* 148825 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
52706 /* 148832 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52707 /* 148836 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
52708 /* 148840 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52709 /* 148842 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52710 /* 148849 */ // (fadd:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (ADD_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52711 /* 148849 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m64),
52712 /* 148852 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52713 /* 148854 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52714 /* 148856 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52715 /* 148860 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52716 /* 148863 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52717 /* 148868 */ GIR_RootConstrainSelectedInstOperands,
52718 /* 148869 */ // GIR_Coverage, 23333,
52719 /* 148869 */ GIR_EraseRootFromParent_Done,
52720 /* 148870 */ // Label 3281: @148870
52721 /* 148870 */ GIM_Try, /*On fail goto*//*Label 3282*/ GIMT_Encode4(148935), // Rule ID 23335 //
52722 /* 148875 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
52723 /* 148878 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
52724 /* 148882 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52725 /* 148886 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
52726 /* 148890 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52727 /* 148897 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52728 /* 148901 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
52729 /* 148905 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52730 /* 148907 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52731 /* 148914 */ // (fadd:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (ADD_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52732 /* 148914 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m64),
52733 /* 148917 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52734 /* 148919 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52735 /* 148921 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52736 /* 148925 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52737 /* 148928 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52738 /* 148933 */ GIR_RootConstrainSelectedInstOperands,
52739 /* 148934 */ // GIR_Coverage, 23335,
52740 /* 148934 */ GIR_EraseRootFromParent_Done,
52741 /* 148935 */ // Label 3282: @148935
52742 /* 148935 */ GIM_Try, /*On fail goto*//*Label 3283*/ GIMT_Encode4(149000), // Rule ID 23321 //
52743 /* 148940 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
52744 /* 148943 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
52745 /* 148947 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52746 /* 148951 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52747 /* 148955 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52748 /* 148958 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52749 /* 148962 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52750 /* 148966 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
52751 /* 148970 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52752 /* 148972 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52753 /* 148979 */ // (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)
52754 /* 148979 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m),
52755 /* 148982 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52756 /* 148984 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52757 /* 148986 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52758 /* 148990 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52759 /* 148993 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52760 /* 148998 */ GIR_RootConstrainSelectedInstOperands,
52761 /* 148999 */ // GIR_Coverage, 23321,
52762 /* 148999 */ GIR_EraseRootFromParent_Done,
52763 /* 149000 */ // Label 3283: @149000
52764 /* 149000 */ GIM_Try, /*On fail goto*//*Label 3284*/ GIMT_Encode4(149072), // Rule ID 23323 //
52765 /* 149005 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
52766 /* 149008 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
52767 /* 149012 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52768 /* 149016 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52769 /* 149020 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52770 /* 149023 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52771 /* 149027 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52772 /* 149034 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52773 /* 149038 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
52774 /* 149042 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52775 /* 149044 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52776 /* 149051 */ // (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)
52777 /* 149051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m32),
52778 /* 149054 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52779 /* 149056 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52780 /* 149058 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52781 /* 149062 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52782 /* 149065 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52783 /* 149070 */ GIR_RootConstrainSelectedInstOperands,
52784 /* 149071 */ // GIR_Coverage, 23323,
52785 /* 149071 */ GIR_EraseRootFromParent_Done,
52786 /* 149072 */ // Label 3284: @149072
52787 /* 149072 */ GIM_Try, /*On fail goto*//*Label 3285*/ GIMT_Encode4(149134), // Rule ID 23466 //
52788 /* 149077 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
52789 /* 149080 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52790 /* 149084 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52791 /* 149088 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52792 /* 149092 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52793 /* 149095 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52794 /* 149099 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52795 /* 149103 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52796 /* 149107 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52797 /* 149109 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52798 /* 149116 */ // (fadd:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (VADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52799 /* 149116 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
52800 /* 149119 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52801 /* 149121 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52802 /* 149123 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52803 /* 149127 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52804 /* 149132 */ GIR_RootConstrainSelectedInstOperands,
52805 /* 149133 */ // GIR_Coverage, 23466,
52806 /* 149133 */ GIR_EraseRootFromParent_Done,
52807 /* 149134 */ // Label 3285: @149134
52808 /* 149134 */ GIM_Try, /*On fail goto*//*Label 3286*/ GIMT_Encode4(149196), // Rule ID 23470 //
52809 /* 149139 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
52810 /* 149142 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52811 /* 149146 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52812 /* 149150 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52813 /* 149154 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52814 /* 149157 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52815 /* 149161 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52816 /* 149165 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52817 /* 149169 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52818 /* 149171 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52819 /* 149178 */ // (fadd:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (ADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52820 /* 149178 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
52821 /* 149181 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52822 /* 149183 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52823 /* 149185 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52824 /* 149189 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52825 /* 149194 */ GIR_RootConstrainSelectedInstOperands,
52826 /* 149195 */ // GIR_Coverage, 23470,
52827 /* 149195 */ GIR_EraseRootFromParent_Done,
52828 /* 149196 */ // Label 3286: @149196
52829 /* 149196 */ GIM_Try, /*On fail goto*//*Label 3287*/ GIMT_Encode4(149258), // Rule ID 24330 //
52830 /* 149201 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
52831 /* 149204 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
52832 /* 149208 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52833 /* 149212 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52834 /* 149216 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52835 /* 149219 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52836 /* 149223 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52837 /* 149227 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
52838 /* 149231 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52839 /* 149233 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52840 /* 149240 */ // (fadd:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64X:{ *:[f64] }:$src1) => (VADDSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52841 /* 149240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
52842 /* 149243 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52843 /* 149245 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52844 /* 149247 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52845 /* 149251 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52846 /* 149256 */ GIR_RootConstrainSelectedInstOperands,
52847 /* 149257 */ // GIR_Coverage, 24330,
52848 /* 149257 */ GIR_EraseRootFromParent_Done,
52849 /* 149258 */ // Label 3287: @149258
52850 /* 149258 */ GIM_Try, /*On fail goto*//*Label 3288*/ GIMT_Encode4(149323), // Rule ID 925 //
52851 /* 149263 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
52852 /* 149266 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
52853 /* 149270 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
52854 /* 149274 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52855 /* 149278 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
52856 /* 149282 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
52857 /* 149289 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52858 /* 149293 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52859 /* 149295 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52860 /* 149302 */ // (fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52861 /* 149302 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m64),
52862 /* 149305 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52863 /* 149307 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52864 /* 149309 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52865 /* 149313 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52866 /* 149316 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52867 /* 149321 */ GIR_RootConstrainSelectedInstOperands,
52868 /* 149322 */ // GIR_Coverage, 925,
52869 /* 149322 */ GIR_EraseRootFromParent_Done,
52870 /* 149323 */ // Label 3288: @149323
52871 /* 149323 */ GIM_Try, /*On fail goto*//*Label 3289*/ GIMT_Encode4(149388), // Rule ID 927 //
52872 /* 149328 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
52873 /* 149331 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
52874 /* 149335 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
52875 /* 149339 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52876 /* 149343 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
52877 /* 149347 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52878 /* 149354 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52879 /* 149358 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52880 /* 149360 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52881 /* 149367 */ // (fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52882 /* 149367 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m64),
52883 /* 149370 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52884 /* 149372 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52885 /* 149374 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52886 /* 149378 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52887 /* 149381 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52888 /* 149386 */ GIR_RootConstrainSelectedInstOperands,
52889 /* 149387 */ // GIR_Coverage, 927,
52890 /* 149387 */ GIR_EraseRootFromParent_Done,
52891 /* 149388 */ // Label 3289: @149388
52892 /* 149388 */ GIM_Try, /*On fail goto*//*Label 3290*/ GIMT_Encode4(149453), // Rule ID 913 //
52893 /* 149393 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
52894 /* 149396 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
52895 /* 149400 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
52896 /* 149404 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52897 /* 149408 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52898 /* 149412 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52899 /* 149415 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52900 /* 149419 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52901 /* 149423 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52902 /* 149425 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52903 /* 149432 */ // (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)
52904 /* 149432 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m),
52905 /* 149435 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52906 /* 149437 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52907 /* 149439 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52908 /* 149443 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52909 /* 149446 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52910 /* 149451 */ GIR_RootConstrainSelectedInstOperands,
52911 /* 149452 */ // GIR_Coverage, 913,
52912 /* 149452 */ GIR_EraseRootFromParent_Done,
52913 /* 149453 */ // Label 3290: @149453
52914 /* 149453 */ GIM_Try, /*On fail goto*//*Label 3291*/ GIMT_Encode4(149525), // Rule ID 915 //
52915 /* 149458 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
52916 /* 149461 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
52917 /* 149465 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
52918 /* 149469 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52919 /* 149473 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52920 /* 149477 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52921 /* 149480 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52922 /* 149484 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52923 /* 149491 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52924 /* 149495 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52925 /* 149497 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52926 /* 149504 */ // (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)
52927 /* 149504 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m32),
52928 /* 149507 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52929 /* 149509 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52930 /* 149511 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52931 /* 149515 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52932 /* 149518 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52933 /* 149523 */ GIR_RootConstrainSelectedInstOperands,
52934 /* 149524 */ // GIR_Coverage, 915,
52935 /* 149524 */ GIR_EraseRootFromParent_Done,
52936 /* 149525 */ // Label 3291: @149525
52937 /* 149525 */ GIM_Try, /*On fail goto*//*Label 3292*/ GIMT_Encode4(149587), // Rule ID 2165 //
52938 /* 149530 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
52939 /* 149533 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52940 /* 149537 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52941 /* 149541 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52942 /* 149545 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52943 /* 149549 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52944 /* 149552 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52945 /* 149556 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52946 /* 149560 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52947 /* 149562 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52948 /* 149569 */ // (fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52949 /* 149569 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
52950 /* 149572 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52951 /* 149574 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52952 /* 149576 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52953 /* 149580 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52954 /* 149585 */ GIR_RootConstrainSelectedInstOperands,
52955 /* 149586 */ // GIR_Coverage, 2165,
52956 /* 149586 */ GIR_EraseRootFromParent_Done,
52957 /* 149587 */ // Label 3292: @149587
52958 /* 149587 */ GIM_Try, /*On fail goto*//*Label 3293*/ GIMT_Encode4(149649), // Rule ID 2173 //
52959 /* 149592 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
52960 /* 149595 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52961 /* 149599 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52962 /* 149603 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52963 /* 149607 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52964 /* 149611 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52965 /* 149614 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52966 /* 149618 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52967 /* 149622 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52968 /* 149624 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52969 /* 149631 */ // (fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (ADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52970 /* 149631 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
52971 /* 149634 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52972 /* 149636 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52973 /* 149638 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52974 /* 149642 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52975 /* 149647 */ GIR_RootConstrainSelectedInstOperands,
52976 /* 149648 */ // GIR_Coverage, 2173,
52977 /* 149648 */ GIR_EraseRootFromParent_Done,
52978 /* 149649 */ // Label 3293: @149649
52979 /* 149649 */ GIM_Try, /*On fail goto*//*Label 3294*/ GIMT_Encode4(149711), // Rule ID 5940 //
52980 /* 149654 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
52981 /* 149657 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
52982 /* 149661 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
52983 /* 149665 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52984 /* 149669 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52985 /* 149673 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52986 /* 149676 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52987 /* 149680 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52988 /* 149684 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52989 /* 149686 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52990 /* 149693 */ // (fadd:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52991 /* 149693 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
52992 /* 149696 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52993 /* 149698 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52994 /* 149700 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52995 /* 149704 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52996 /* 149709 */ GIR_RootConstrainSelectedInstOperands,
52997 /* 149710 */ // GIR_Coverage, 5940,
52998 /* 149710 */ GIR_EraseRootFromParent_Done,
52999 /* 149711 */ // Label 3294: @149711
53000 /* 149711 */ GIM_Try, /*On fail goto*//*Label 3295*/ GIMT_Encode4(149748), // Rule ID 889 //
53001 /* 149716 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
53002 /* 149719 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53003 /* 149723 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53004 /* 149727 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53005 /* 149731 */ // (fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (ADD_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
53006 /* 149731 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64),
53007 /* 149736 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
53008 /* 149742 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
53009 /* 149746 */ GIR_RootConstrainSelectedInstOperands,
53010 /* 149747 */ // GIR_Coverage, 889,
53011 /* 149747 */ GIR_Done,
53012 /* 149748 */ // Label 3295: @149748
53013 /* 149748 */ GIM_Try, /*On fail goto*//*Label 3296*/ GIMT_Encode4(149779), // Rule ID 2163 //
53014 /* 149753 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
53015 /* 149756 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53016 /* 149760 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53017 /* 149764 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53018 /* 149768 */ // (fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VADDSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
53019 /* 149768 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSDrr),
53020 /* 149773 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53021 /* 149777 */ GIR_RootConstrainSelectedInstOperands,
53022 /* 149778 */ // GIR_Coverage, 2163,
53023 /* 149778 */ GIR_Done,
53024 /* 149779 */ // Label 3296: @149779
53025 /* 149779 */ GIM_Try, /*On fail goto*//*Label 3297*/ GIMT_Encode4(149810), // Rule ID 2171 //
53026 /* 149784 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
53027 /* 149787 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53028 /* 149791 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53029 /* 149795 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53030 /* 149799 */ // (fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (ADDSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
53031 /* 149799 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDSDrr),
53032 /* 149804 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53033 /* 149808 */ GIR_RootConstrainSelectedInstOperands,
53034 /* 149809 */ // GIR_Coverage, 2171,
53035 /* 149809 */ GIR_Done,
53036 /* 149810 */ // Label 3297: @149810
53037 /* 149810 */ GIM_Try, /*On fail goto*//*Label 3298*/ GIMT_Encode4(149841), // Rule ID 5938 //
53038 /* 149815 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
53039 /* 149818 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53040 /* 149822 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53041 /* 149826 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53042 /* 149830 */ // (fadd:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VADDSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
53043 /* 149830 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSDZrr),
53044 /* 149835 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53045 /* 149839 */ GIR_RootConstrainSelectedInstOperands,
53046 /* 149840 */ // GIR_Coverage, 5938,
53047 /* 149840 */ GIR_Done,
53048 /* 149841 */ // Label 3298: @149841
53049 /* 149841 */ GIM_Reject,
53050 /* 149842 */ // Label 3274: @149842
53051 /* 149842 */ GIM_Reject,
53052 /* 149843 */ // Label 3236: @149843
53053 /* 149843 */ GIM_Try, /*On fail goto*//*Label 3299*/ GIMT_Encode4(150408),
53054 /* 149848 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
53055 /* 149851 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
53056 /* 149854 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53057 /* 149858 */ GIM_Try, /*On fail goto*//*Label 3300*/ GIMT_Encode4(149919), // Rule ID 23337 //
53058 /* 149863 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
53059 /* 149866 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53060 /* 149870 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53061 /* 149874 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
53062 /* 149881 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53063 /* 149885 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53064 /* 149889 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53065 /* 149891 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53066 /* 149898 */ // (fadd:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (ADD_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
53067 /* 149898 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m80),
53068 /* 149901 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53069 /* 149903 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53070 /* 149905 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53071 /* 149909 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53072 /* 149912 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53073 /* 149917 */ GIR_RootConstrainSelectedInstOperands,
53074 /* 149918 */ // GIR_Coverage, 23337,
53075 /* 149918 */ GIR_EraseRootFromParent_Done,
53076 /* 149919 */ // Label 3300: @149919
53077 /* 149919 */ GIM_Try, /*On fail goto*//*Label 3301*/ GIMT_Encode4(149980), // Rule ID 23339 //
53078 /* 149924 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
53079 /* 149927 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53080 /* 149931 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53081 /* 149935 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53082 /* 149942 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53083 /* 149946 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53084 /* 149950 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53085 /* 149952 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53086 /* 149959 */ // (fadd:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (ADD_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
53087 /* 149959 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m80),
53088 /* 149962 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53089 /* 149964 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53090 /* 149966 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53091 /* 149970 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53092 /* 149973 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53093 /* 149978 */ GIR_RootConstrainSelectedInstOperands,
53094 /* 149979 */ // GIR_Coverage, 23339,
53095 /* 149979 */ GIR_EraseRootFromParent_Done,
53096 /* 149980 */ // Label 3301: @149980
53097 /* 149980 */ GIM_Try, /*On fail goto*//*Label 3302*/ GIMT_Encode4(150048), // Rule ID 23325 //
53098 /* 149985 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
53099 /* 149988 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53100 /* 149992 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53101 /* 149996 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53102 /* 149999 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53103 /* 150003 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53104 /* 150010 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53105 /* 150014 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53106 /* 150018 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53107 /* 150020 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53108 /* 150027 */ // (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)
53109 /* 150027 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m32),
53110 /* 150030 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53111 /* 150032 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53112 /* 150034 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53113 /* 150038 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53114 /* 150041 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53115 /* 150046 */ GIR_RootConstrainSelectedInstOperands,
53116 /* 150047 */ // GIR_Coverage, 23325,
53117 /* 150047 */ GIR_EraseRootFromParent_Done,
53118 /* 150048 */ // Label 3302: @150048
53119 /* 150048 */ GIM_Try, /*On fail goto*//*Label 3303*/ GIMT_Encode4(150116), // Rule ID 23327 //
53120 /* 150053 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
53121 /* 150056 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53122 /* 150060 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53123 /* 150064 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53124 /* 150067 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53125 /* 150071 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
53126 /* 150078 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53127 /* 150082 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53128 /* 150086 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53129 /* 150088 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53130 /* 150095 */ // (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)
53131 /* 150095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m64),
53132 /* 150098 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53133 /* 150100 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53134 /* 150102 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53135 /* 150106 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53136 /* 150109 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53137 /* 150114 */ GIR_RootConstrainSelectedInstOperands,
53138 /* 150115 */ // GIR_Coverage, 23327,
53139 /* 150115 */ GIR_EraseRootFromParent_Done,
53140 /* 150116 */ // Label 3303: @150116
53141 /* 150116 */ GIM_Try, /*On fail goto*//*Label 3304*/ GIMT_Encode4(150177), // Rule ID 929 //
53142 /* 150121 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
53143 /* 150124 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53144 /* 150128 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53145 /* 150132 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53146 /* 150136 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
53147 /* 150143 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53148 /* 150147 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53149 /* 150149 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53150 /* 150156 */ // (fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
53151 /* 150156 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m80),
53152 /* 150159 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53153 /* 150161 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53154 /* 150163 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53155 /* 150167 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53156 /* 150170 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53157 /* 150175 */ GIR_RootConstrainSelectedInstOperands,
53158 /* 150176 */ // GIR_Coverage, 929,
53159 /* 150176 */ GIR_EraseRootFromParent_Done,
53160 /* 150177 */ // Label 3304: @150177
53161 /* 150177 */ GIM_Try, /*On fail goto*//*Label 3305*/ GIMT_Encode4(150238), // Rule ID 931 //
53162 /* 150182 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
53163 /* 150185 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53164 /* 150189 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53165 /* 150193 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53166 /* 150197 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53167 /* 150204 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53168 /* 150208 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53169 /* 150210 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53170 /* 150217 */ // (fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
53171 /* 150217 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m80),
53172 /* 150220 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53173 /* 150222 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53174 /* 150224 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53175 /* 150228 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53176 /* 150231 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53177 /* 150236 */ GIR_RootConstrainSelectedInstOperands,
53178 /* 150237 */ // GIR_Coverage, 931,
53179 /* 150237 */ GIR_EraseRootFromParent_Done,
53180 /* 150238 */ // Label 3305: @150238
53181 /* 150238 */ GIM_Try, /*On fail goto*//*Label 3306*/ GIMT_Encode4(150306), // Rule ID 917 //
53182 /* 150243 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
53183 /* 150246 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53184 /* 150250 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53185 /* 150254 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53186 /* 150258 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53187 /* 150261 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53188 /* 150265 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53189 /* 150272 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53190 /* 150276 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53191 /* 150278 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53192 /* 150285 */ // (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)
53193 /* 150285 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m32),
53194 /* 150288 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53195 /* 150290 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53196 /* 150292 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53197 /* 150296 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53198 /* 150299 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53199 /* 150304 */ GIR_RootConstrainSelectedInstOperands,
53200 /* 150305 */ // GIR_Coverage, 917,
53201 /* 150305 */ GIR_EraseRootFromParent_Done,
53202 /* 150306 */ // Label 3306: @150306
53203 /* 150306 */ GIM_Try, /*On fail goto*//*Label 3307*/ GIMT_Encode4(150374), // Rule ID 919 //
53204 /* 150311 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
53205 /* 150314 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53206 /* 150318 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53207 /* 150322 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53208 /* 150326 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53209 /* 150329 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53210 /* 150333 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
53211 /* 150340 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53212 /* 150344 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53213 /* 150346 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53214 /* 150353 */ // (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)
53215 /* 150353 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m64),
53216 /* 150356 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53217 /* 150358 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53218 /* 150360 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53219 /* 150364 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53220 /* 150367 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53221 /* 150372 */ GIR_RootConstrainSelectedInstOperands,
53222 /* 150373 */ // GIR_Coverage, 919,
53223 /* 150373 */ GIR_EraseRootFromParent_Done,
53224 /* 150374 */ // Label 3307: @150374
53225 /* 150374 */ GIM_Try, /*On fail goto*//*Label 3308*/ GIMT_Encode4(150407), // Rule ID 891 //
53226 /* 150379 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
53227 /* 150382 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53228 /* 150386 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53229 /* 150390 */ // (fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (ADD_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
53230 /* 150390 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80),
53231 /* 150395 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
53232 /* 150401 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
53233 /* 150405 */ GIR_RootConstrainSelectedInstOperands,
53234 /* 150406 */ // GIR_Coverage, 891,
53235 /* 150406 */ GIR_Done,
53236 /* 150407 */ // Label 3308: @150407
53237 /* 150407 */ GIM_Reject,
53238 /* 150408 */ // Label 3299: @150408
53239 /* 150408 */ GIM_Reject,
53240 /* 150409 */ // Label 3237: @150409
53241 /* 150409 */ GIM_Try, /*On fail goto*//*Label 3309*/ GIMT_Encode4(150762),
53242 /* 150414 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
53243 /* 150417 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
53244 /* 150420 */ GIM_Try, /*On fail goto*//*Label 3310*/ GIMT_Encode4(150482), // Rule ID 23454 //
53245 /* 150425 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
53246 /* 150428 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53247 /* 150432 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53248 /* 150436 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53249 /* 150440 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53250 /* 150443 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53251 /* 150447 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53252 /* 150451 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53253 /* 150455 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53254 /* 150457 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53255 /* 150464 */ // (fadd:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2f64] }:$src1) => (VADDPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53256 /* 150464 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDrm),
53257 /* 150467 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53258 /* 150469 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53259 /* 150471 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53260 /* 150475 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53261 /* 150480 */ GIR_RootConstrainSelectedInstOperands,
53262 /* 150481 */ // GIR_Coverage, 23454,
53263 /* 150481 */ GIR_EraseRootFromParent_Done,
53264 /* 150482 */ // Label 3310: @150482
53265 /* 150482 */ GIM_Try, /*On fail goto*//*Label 3311*/ GIMT_Encode4(150544), // Rule ID 24378 //
53266 /* 150487 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
53267 /* 150490 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53268 /* 150494 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53269 /* 150498 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53270 /* 150502 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53271 /* 150505 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53272 /* 150509 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53273 /* 150513 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53274 /* 150517 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53275 /* 150519 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53276 /* 150526 */ // (fadd:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2f64] }:$src1) => (VADDPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53277 /* 150526 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rm),
53278 /* 150529 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53279 /* 150531 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53280 /* 150533 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53281 /* 150537 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53282 /* 150542 */ GIR_RootConstrainSelectedInstOperands,
53283 /* 150543 */ // GIR_Coverage, 24378,
53284 /* 150543 */ GIR_EraseRootFromParent_Done,
53285 /* 150544 */ // Label 3311: @150544
53286 /* 150544 */ GIM_Try, /*On fail goto*//*Label 3312*/ GIMT_Encode4(150606), // Rule ID 2141 //
53287 /* 150549 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
53288 /* 150552 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53289 /* 150556 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53290 /* 150560 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53291 /* 150564 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53292 /* 150568 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53293 /* 150571 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53294 /* 150575 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53295 /* 150579 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53296 /* 150581 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53297 /* 150588 */ // (fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53298 /* 150588 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDrm),
53299 /* 150591 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53300 /* 150593 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53301 /* 150595 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53302 /* 150599 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53303 /* 150604 */ GIR_RootConstrainSelectedInstOperands,
53304 /* 150605 */ // GIR_Coverage, 2141,
53305 /* 150605 */ GIR_EraseRootFromParent_Done,
53306 /* 150606 */ // Label 3312: @150606
53307 /* 150606 */ GIM_Try, /*On fail goto*//*Label 3313*/ GIMT_Encode4(150668), // Rule ID 6313 //
53308 /* 150611 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
53309 /* 150614 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53310 /* 150618 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53311 /* 150622 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53312 /* 150626 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53313 /* 150630 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53314 /* 150633 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53315 /* 150637 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53316 /* 150641 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53317 /* 150643 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53318 /* 150650 */ // (fadd:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53319 /* 150650 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rm),
53320 /* 150653 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53321 /* 150655 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53322 /* 150657 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53323 /* 150661 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53324 /* 150666 */ GIR_RootConstrainSelectedInstOperands,
53325 /* 150667 */ // GIR_Coverage, 6313,
53326 /* 150667 */ GIR_EraseRootFromParent_Done,
53327 /* 150668 */ // Label 3313: @150668
53328 /* 150668 */ GIM_Try, /*On fail goto*//*Label 3314*/ GIMT_Encode4(150699), // Rule ID 2139 //
53329 /* 150673 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
53330 /* 150676 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53331 /* 150680 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53332 /* 150684 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53333 /* 150688 */ // (fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VADDPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
53334 /* 150688 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDrr),
53335 /* 150693 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53336 /* 150697 */ GIR_RootConstrainSelectedInstOperands,
53337 /* 150698 */ // GIR_Coverage, 2139,
53338 /* 150698 */ GIR_Done,
53339 /* 150699 */ // Label 3314: @150699
53340 /* 150699 */ GIM_Try, /*On fail goto*//*Label 3315*/ GIMT_Encode4(150730), // Rule ID 2155 //
53341 /* 150704 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
53342 /* 150707 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53343 /* 150711 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53344 /* 150715 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53345 /* 150719 */ // (fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (ADDPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
53346 /* 150719 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDPDrr),
53347 /* 150724 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53348 /* 150728 */ GIR_RootConstrainSelectedInstOperands,
53349 /* 150729 */ // GIR_Coverage, 2155,
53350 /* 150729 */ GIR_Done,
53351 /* 150730 */ // Label 3315: @150730
53352 /* 150730 */ GIM_Try, /*On fail goto*//*Label 3316*/ GIMT_Encode4(150761), // Rule ID 6309 //
53353 /* 150735 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
53354 /* 150738 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53355 /* 150742 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53356 /* 150746 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53357 /* 150750 */ // (fadd:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VADDPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
53358 /* 150750 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rr),
53359 /* 150755 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53360 /* 150759 */ GIR_RootConstrainSelectedInstOperands,
53361 /* 150760 */ // GIR_Coverage, 6309,
53362 /* 150760 */ GIR_Done,
53363 /* 150761 */ // Label 3316: @150761
53364 /* 150761 */ GIM_Reject,
53365 /* 150762 */ // Label 3309: @150762
53366 /* 150762 */ GIM_Reject,
53367 /* 150763 */ // Label 3238: @150763
53368 /* 150763 */ GIM_Try, /*On fail goto*//*Label 3317*/ GIMT_Encode4(151116),
53369 /* 150768 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
53370 /* 150771 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
53371 /* 150774 */ GIM_Try, /*On fail goto*//*Label 3318*/ GIMT_Encode4(150836), // Rule ID 23452 //
53372 /* 150779 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
53373 /* 150782 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53374 /* 150786 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53375 /* 150790 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53376 /* 150794 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53377 /* 150797 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53378 /* 150801 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53379 /* 150805 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53380 /* 150809 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53381 /* 150811 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53382 /* 150818 */ // (fadd:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4f32] }:$src1) => (VADDPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53383 /* 150818 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSrm),
53384 /* 150821 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53385 /* 150823 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53386 /* 150825 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53387 /* 150829 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53388 /* 150834 */ GIR_RootConstrainSelectedInstOperands,
53389 /* 150835 */ // GIR_Coverage, 23452,
53390 /* 150835 */ GIR_EraseRootFromParent_Done,
53391 /* 150836 */ // Label 3318: @150836
53392 /* 150836 */ GIM_Try, /*On fail goto*//*Label 3319*/ GIMT_Encode4(150898), // Rule ID 24362 //
53393 /* 150841 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
53394 /* 150844 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53395 /* 150848 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53396 /* 150852 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53397 /* 150856 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53398 /* 150859 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53399 /* 150863 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53400 /* 150867 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53401 /* 150871 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53402 /* 150873 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53403 /* 150880 */ // (fadd:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4f32] }:$src1) => (VADDPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53404 /* 150880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rm),
53405 /* 150883 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53406 /* 150885 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53407 /* 150887 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53408 /* 150891 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53409 /* 150896 */ GIR_RootConstrainSelectedInstOperands,
53410 /* 150897 */ // GIR_Coverage, 24362,
53411 /* 150897 */ GIR_EraseRootFromParent_Done,
53412 /* 150898 */ // Label 3319: @150898
53413 /* 150898 */ GIM_Try, /*On fail goto*//*Label 3320*/ GIMT_Encode4(150960), // Rule ID 2137 //
53414 /* 150903 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
53415 /* 150906 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53416 /* 150910 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53417 /* 150914 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53418 /* 150918 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53419 /* 150922 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53420 /* 150925 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53421 /* 150929 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53422 /* 150933 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53423 /* 150935 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53424 /* 150942 */ // (fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53425 /* 150942 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSrm),
53426 /* 150945 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53427 /* 150947 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53428 /* 150949 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53429 /* 150953 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53430 /* 150958 */ GIR_RootConstrainSelectedInstOperands,
53431 /* 150959 */ // GIR_Coverage, 2137,
53432 /* 150959 */ GIR_EraseRootFromParent_Done,
53433 /* 150960 */ // Label 3320: @150960
53434 /* 150960 */ GIM_Try, /*On fail goto*//*Label 3321*/ GIMT_Encode4(151022), // Rule ID 6289 //
53435 /* 150965 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
53436 /* 150968 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53437 /* 150972 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53438 /* 150976 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53439 /* 150980 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53440 /* 150984 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53441 /* 150987 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53442 /* 150991 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53443 /* 150995 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53444 /* 150997 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53445 /* 151004 */ // (fadd:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53446 /* 151004 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rm),
53447 /* 151007 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53448 /* 151009 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53449 /* 151011 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53450 /* 151015 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53451 /* 151020 */ GIR_RootConstrainSelectedInstOperands,
53452 /* 151021 */ // GIR_Coverage, 6289,
53453 /* 151021 */ GIR_EraseRootFromParent_Done,
53454 /* 151022 */ // Label 3321: @151022
53455 /* 151022 */ GIM_Try, /*On fail goto*//*Label 3322*/ GIMT_Encode4(151053), // Rule ID 2135 //
53456 /* 151027 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
53457 /* 151030 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53458 /* 151034 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53459 /* 151038 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53460 /* 151042 */ // (fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VADDPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
53461 /* 151042 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSrr),
53462 /* 151047 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53463 /* 151051 */ GIR_RootConstrainSelectedInstOperands,
53464 /* 151052 */ // GIR_Coverage, 2135,
53465 /* 151052 */ GIR_Done,
53466 /* 151053 */ // Label 3322: @151053
53467 /* 151053 */ GIM_Try, /*On fail goto*//*Label 3323*/ GIMT_Encode4(151084), // Rule ID 2151 //
53468 /* 151058 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
53469 /* 151061 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53470 /* 151065 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53471 /* 151069 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53472 /* 151073 */ // (fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (ADDPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
53473 /* 151073 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDPSrr),
53474 /* 151078 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53475 /* 151082 */ GIR_RootConstrainSelectedInstOperands,
53476 /* 151083 */ // GIR_Coverage, 2151,
53477 /* 151083 */ GIR_Done,
53478 /* 151084 */ // Label 3323: @151084
53479 /* 151084 */ GIM_Try, /*On fail goto*//*Label 3324*/ GIMT_Encode4(151115), // Rule ID 6285 //
53480 /* 151089 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
53481 /* 151092 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53482 /* 151096 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53483 /* 151100 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53484 /* 151104 */ // (fadd:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VADDPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
53485 /* 151104 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rr),
53486 /* 151109 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53487 /* 151113 */ GIR_RootConstrainSelectedInstOperands,
53488 /* 151114 */ // GIR_Coverage, 6285,
53489 /* 151114 */ GIR_Done,
53490 /* 151115 */ // Label 3324: @151115
53491 /* 151115 */ GIM_Reject,
53492 /* 151116 */ // Label 3317: @151116
53493 /* 151116 */ GIM_Reject,
53494 /* 151117 */ // Label 3239: @151117
53495 /* 151117 */ GIM_Try, /*On fail goto*//*Label 3325*/ GIMT_Encode4(151439),
53496 /* 151122 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
53497 /* 151125 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
53498 /* 151128 */ GIM_Try, /*On fail goto*//*Label 3326*/ GIMT_Encode4(151190), // Rule ID 23458 //
53499 /* 151133 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
53500 /* 151136 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53501 /* 151140 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53502 /* 151144 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53503 /* 151148 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53504 /* 151151 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53505 /* 151155 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53506 /* 151159 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53507 /* 151163 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53508 /* 151165 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53509 /* 151172 */ // (fadd:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4f64] }:$src1) => (VADDPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53510 /* 151172 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDYrm),
53511 /* 151175 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53512 /* 151177 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53513 /* 151179 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53514 /* 151183 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53515 /* 151188 */ GIR_RootConstrainSelectedInstOperands,
53516 /* 151189 */ // GIR_Coverage, 23458,
53517 /* 151189 */ GIR_EraseRootFromParent_Done,
53518 /* 151190 */ // Label 3326: @151190
53519 /* 151190 */ GIM_Try, /*On fail goto*//*Label 3327*/ GIMT_Encode4(151252), // Rule ID 24386 //
53520 /* 151195 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
53521 /* 151198 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53522 /* 151202 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53523 /* 151206 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53524 /* 151210 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53525 /* 151213 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53526 /* 151217 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53527 /* 151221 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53528 /* 151225 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53529 /* 151227 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53530 /* 151234 */ // (fadd:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4f64] }:$src1) => (VADDPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53531 /* 151234 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rm),
53532 /* 151237 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53533 /* 151239 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53534 /* 151241 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53535 /* 151245 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53536 /* 151250 */ GIR_RootConstrainSelectedInstOperands,
53537 /* 151251 */ // GIR_Coverage, 24386,
53538 /* 151251 */ GIR_EraseRootFromParent_Done,
53539 /* 151252 */ // Label 3327: @151252
53540 /* 151252 */ GIM_Try, /*On fail goto*//*Label 3328*/ GIMT_Encode4(151314), // Rule ID 2149 //
53541 /* 151257 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
53542 /* 151260 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53543 /* 151264 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53544 /* 151268 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53545 /* 151272 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53546 /* 151276 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53547 /* 151279 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53548 /* 151283 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53549 /* 151287 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53550 /* 151289 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53551 /* 151296 */ // (fadd:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53552 /* 151296 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDYrm),
53553 /* 151299 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53554 /* 151301 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53555 /* 151303 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53556 /* 151307 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53557 /* 151312 */ GIR_RootConstrainSelectedInstOperands,
53558 /* 151313 */ // GIR_Coverage, 2149,
53559 /* 151313 */ GIR_EraseRootFromParent_Done,
53560 /* 151314 */ // Label 3328: @151314
53561 /* 151314 */ GIM_Try, /*On fail goto*//*Label 3329*/ GIMT_Encode4(151376), // Rule ID 6325 //
53562 /* 151319 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
53563 /* 151322 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53564 /* 151326 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53565 /* 151330 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53566 /* 151334 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53567 /* 151338 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53568 /* 151341 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53569 /* 151345 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53570 /* 151349 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53571 /* 151351 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53572 /* 151358 */ // (fadd:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53573 /* 151358 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rm),
53574 /* 151361 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53575 /* 151363 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53576 /* 151365 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53577 /* 151369 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53578 /* 151374 */ GIR_RootConstrainSelectedInstOperands,
53579 /* 151375 */ // GIR_Coverage, 6325,
53580 /* 151375 */ GIR_EraseRootFromParent_Done,
53581 /* 151376 */ // Label 3329: @151376
53582 /* 151376 */ GIM_Try, /*On fail goto*//*Label 3330*/ GIMT_Encode4(151407), // Rule ID 2147 //
53583 /* 151381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
53584 /* 151384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53585 /* 151388 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53586 /* 151392 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53587 /* 151396 */ // (fadd:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VADDPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
53588 /* 151396 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDYrr),
53589 /* 151401 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53590 /* 151405 */ GIR_RootConstrainSelectedInstOperands,
53591 /* 151406 */ // GIR_Coverage, 2147,
53592 /* 151406 */ GIR_Done,
53593 /* 151407 */ // Label 3330: @151407
53594 /* 151407 */ GIM_Try, /*On fail goto*//*Label 3331*/ GIMT_Encode4(151438), // Rule ID 6321 //
53595 /* 151412 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
53596 /* 151415 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53597 /* 151419 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53598 /* 151423 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53599 /* 151427 */ // (fadd:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VADDPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
53600 /* 151427 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rr),
53601 /* 151432 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53602 /* 151436 */ GIR_RootConstrainSelectedInstOperands,
53603 /* 151437 */ // GIR_Coverage, 6321,
53604 /* 151437 */ GIR_Done,
53605 /* 151438 */ // Label 3331: @151438
53606 /* 151438 */ GIM_Reject,
53607 /* 151439 */ // Label 3325: @151439
53608 /* 151439 */ GIM_Reject,
53609 /* 151440 */ // Label 3240: @151440
53610 /* 151440 */ GIM_Try, /*On fail goto*//*Label 3332*/ GIMT_Encode4(151599),
53611 /* 151445 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
53612 /* 151448 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
53613 /* 151451 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53614 /* 151455 */ GIM_Try, /*On fail goto*//*Label 3333*/ GIMT_Encode4(151513), // Rule ID 24402 //
53615 /* 151460 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
53616 /* 151463 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53617 /* 151467 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53618 /* 151471 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53619 /* 151474 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53620 /* 151478 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53621 /* 151482 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53622 /* 151486 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53623 /* 151488 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53624 /* 151495 */ // (fadd:{ *:[v8f16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8f16] }:$src1) => (VADDPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
53625 /* 151495 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rm),
53626 /* 151498 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53627 /* 151500 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53628 /* 151502 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53629 /* 151506 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53630 /* 151511 */ GIR_RootConstrainSelectedInstOperands,
53631 /* 151512 */ // GIR_Coverage, 24402,
53632 /* 151512 */ GIR_EraseRootFromParent_Done,
53633 /* 151513 */ // Label 3333: @151513
53634 /* 151513 */ GIM_Try, /*On fail goto*//*Label 3334*/ GIMT_Encode4(151571), // Rule ID 6349 //
53635 /* 151518 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
53636 /* 151521 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53637 /* 151525 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53638 /* 151529 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53639 /* 151533 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53640 /* 151536 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53641 /* 151540 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53642 /* 151544 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53643 /* 151546 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53644 /* 151553 */ // (fadd:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
53645 /* 151553 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rm),
53646 /* 151556 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53647 /* 151558 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53648 /* 151560 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53649 /* 151564 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53650 /* 151569 */ GIR_RootConstrainSelectedInstOperands,
53651 /* 151570 */ // GIR_Coverage, 6349,
53652 /* 151570 */ GIR_EraseRootFromParent_Done,
53653 /* 151571 */ // Label 3334: @151571
53654 /* 151571 */ GIM_Try, /*On fail goto*//*Label 3335*/ GIMT_Encode4(151598), // Rule ID 6345 //
53655 /* 151576 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
53656 /* 151579 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53657 /* 151583 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53658 /* 151587 */ // (fadd:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VADDPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
53659 /* 151587 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rr),
53660 /* 151592 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53661 /* 151596 */ GIR_RootConstrainSelectedInstOperands,
53662 /* 151597 */ // GIR_Coverage, 6345,
53663 /* 151597 */ GIR_Done,
53664 /* 151598 */ // Label 3335: @151598
53665 /* 151598 */ GIM_Reject,
53666 /* 151599 */ // Label 3332: @151599
53667 /* 151599 */ GIM_Reject,
53668 /* 151600 */ // Label 3241: @151600
53669 /* 151600 */ GIM_Try, /*On fail goto*//*Label 3336*/ GIMT_Encode4(151922),
53670 /* 151605 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
53671 /* 151608 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
53672 /* 151611 */ GIM_Try, /*On fail goto*//*Label 3337*/ GIMT_Encode4(151673), // Rule ID 23456 //
53673 /* 151616 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
53674 /* 151619 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53675 /* 151623 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53676 /* 151627 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53677 /* 151631 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53678 /* 151634 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53679 /* 151638 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53680 /* 151642 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53681 /* 151646 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53682 /* 151648 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53683 /* 151655 */ // (fadd:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8f32] }:$src1) => (VADDPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53684 /* 151655 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSYrm),
53685 /* 151658 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53686 /* 151660 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53687 /* 151662 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53688 /* 151666 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53689 /* 151671 */ GIR_RootConstrainSelectedInstOperands,
53690 /* 151672 */ // GIR_Coverage, 23456,
53691 /* 151672 */ GIR_EraseRootFromParent_Done,
53692 /* 151673 */ // Label 3337: @151673
53693 /* 151673 */ GIM_Try, /*On fail goto*//*Label 3338*/ GIMT_Encode4(151735), // Rule ID 24370 //
53694 /* 151678 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
53695 /* 151681 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53696 /* 151685 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53697 /* 151689 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53698 /* 151693 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53699 /* 151696 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53700 /* 151700 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53701 /* 151704 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53702 /* 151708 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53703 /* 151710 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53704 /* 151717 */ // (fadd:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8f32] }:$src1) => (VADDPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53705 /* 151717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rm),
53706 /* 151720 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53707 /* 151722 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53708 /* 151724 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53709 /* 151728 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53710 /* 151733 */ GIR_RootConstrainSelectedInstOperands,
53711 /* 151734 */ // GIR_Coverage, 24370,
53712 /* 151734 */ GIR_EraseRootFromParent_Done,
53713 /* 151735 */ // Label 3338: @151735
53714 /* 151735 */ GIM_Try, /*On fail goto*//*Label 3339*/ GIMT_Encode4(151797), // Rule ID 2145 //
53715 /* 151740 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
53716 /* 151743 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53717 /* 151747 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53718 /* 151751 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53719 /* 151755 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53720 /* 151759 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53721 /* 151762 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53722 /* 151766 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53723 /* 151770 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53724 /* 151772 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53725 /* 151779 */ // (fadd:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53726 /* 151779 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSYrm),
53727 /* 151782 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53728 /* 151784 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53729 /* 151786 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53730 /* 151790 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53731 /* 151795 */ GIR_RootConstrainSelectedInstOperands,
53732 /* 151796 */ // GIR_Coverage, 2145,
53733 /* 151796 */ GIR_EraseRootFromParent_Done,
53734 /* 151797 */ // Label 3339: @151797
53735 /* 151797 */ GIM_Try, /*On fail goto*//*Label 3340*/ GIMT_Encode4(151859), // Rule ID 6301 //
53736 /* 151802 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
53737 /* 151805 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53738 /* 151809 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53739 /* 151813 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53740 /* 151817 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53741 /* 151821 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53742 /* 151824 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53743 /* 151828 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53744 /* 151832 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53745 /* 151834 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53746 /* 151841 */ // (fadd:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53747 /* 151841 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rm),
53748 /* 151844 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53749 /* 151846 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53750 /* 151848 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53751 /* 151852 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53752 /* 151857 */ GIR_RootConstrainSelectedInstOperands,
53753 /* 151858 */ // GIR_Coverage, 6301,
53754 /* 151858 */ GIR_EraseRootFromParent_Done,
53755 /* 151859 */ // Label 3340: @151859
53756 /* 151859 */ GIM_Try, /*On fail goto*//*Label 3341*/ GIMT_Encode4(151890), // Rule ID 2143 //
53757 /* 151864 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
53758 /* 151867 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53759 /* 151871 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53760 /* 151875 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53761 /* 151879 */ // (fadd:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VADDPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
53762 /* 151879 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSYrr),
53763 /* 151884 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53764 /* 151888 */ GIR_RootConstrainSelectedInstOperands,
53765 /* 151889 */ // GIR_Coverage, 2143,
53766 /* 151889 */ GIR_Done,
53767 /* 151890 */ // Label 3341: @151890
53768 /* 151890 */ GIM_Try, /*On fail goto*//*Label 3342*/ GIMT_Encode4(151921), // Rule ID 6297 //
53769 /* 151895 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
53770 /* 151898 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53771 /* 151902 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53772 /* 151906 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53773 /* 151910 */ // (fadd:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VADDPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
53774 /* 151910 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rr),
53775 /* 151915 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53776 /* 151919 */ GIR_RootConstrainSelectedInstOperands,
53777 /* 151920 */ // GIR_Coverage, 6297,
53778 /* 151920 */ GIR_Done,
53779 /* 151921 */ // Label 3342: @151921
53780 /* 151921 */ GIM_Reject,
53781 /* 151922 */ // Label 3336: @151922
53782 /* 151922 */ GIM_Reject,
53783 /* 151923 */ // Label 3242: @151923
53784 /* 151923 */ GIM_Try, /*On fail goto*//*Label 3343*/ GIMT_Encode4(152082),
53785 /* 151928 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
53786 /* 151931 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
53787 /* 151934 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53788 /* 151938 */ GIM_Try, /*On fail goto*//*Label 3344*/ GIMT_Encode4(151996), // Rule ID 24354 //
53789 /* 151943 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
53790 /* 151946 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53791 /* 151950 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53792 /* 151954 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53793 /* 151957 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53794 /* 151961 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53795 /* 151965 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53796 /* 151969 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53797 /* 151971 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53798 /* 151978 */ // (fadd:{ *:[v8f64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8f64] }:$src1) => (VADDPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53799 /* 151978 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZrm),
53800 /* 151981 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53801 /* 151983 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53802 /* 151985 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53803 /* 151989 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53804 /* 151994 */ GIR_RootConstrainSelectedInstOperands,
53805 /* 151995 */ // GIR_Coverage, 24354,
53806 /* 151995 */ GIR_EraseRootFromParent_Done,
53807 /* 151996 */ // Label 3344: @151996
53808 /* 151996 */ GIM_Try, /*On fail goto*//*Label 3345*/ GIMT_Encode4(152054), // Rule ID 6277 //
53809 /* 152001 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
53810 /* 152004 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53811 /* 152008 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53812 /* 152012 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53813 /* 152016 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53814 /* 152019 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53815 /* 152023 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53816 /* 152027 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53817 /* 152029 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53818 /* 152036 */ // (fadd:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53819 /* 152036 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZrm),
53820 /* 152039 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53821 /* 152041 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53822 /* 152043 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53823 /* 152047 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53824 /* 152052 */ GIR_RootConstrainSelectedInstOperands,
53825 /* 152053 */ // GIR_Coverage, 6277,
53826 /* 152053 */ GIR_EraseRootFromParent_Done,
53827 /* 152054 */ // Label 3345: @152054
53828 /* 152054 */ GIM_Try, /*On fail goto*//*Label 3346*/ GIMT_Encode4(152081), // Rule ID 6273 //
53829 /* 152059 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
53830 /* 152062 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53831 /* 152066 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53832 /* 152070 */ // (fadd:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VADDPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
53833 /* 152070 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZrr),
53834 /* 152075 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53835 /* 152079 */ GIR_RootConstrainSelectedInstOperands,
53836 /* 152080 */ // GIR_Coverage, 6273,
53837 /* 152080 */ GIR_Done,
53838 /* 152081 */ // Label 3346: @152081
53839 /* 152081 */ GIM_Reject,
53840 /* 152082 */ // Label 3343: @152082
53841 /* 152082 */ GIM_Reject,
53842 /* 152083 */ // Label 3243: @152083
53843 /* 152083 */ GIM_Try, /*On fail goto*//*Label 3347*/ GIMT_Encode4(152242),
53844 /* 152088 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
53845 /* 152091 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
53846 /* 152094 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53847 /* 152098 */ GIM_Try, /*On fail goto*//*Label 3348*/ GIMT_Encode4(152156), // Rule ID 24410 //
53848 /* 152103 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
53849 /* 152106 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53850 /* 152110 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53851 /* 152114 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53852 /* 152117 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53853 /* 152121 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53854 /* 152125 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53855 /* 152129 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53856 /* 152131 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53857 /* 152138 */ // (fadd:{ *:[v16f16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16f16] }:$src1) => (VADDPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
53858 /* 152138 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rm),
53859 /* 152141 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53860 /* 152143 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53861 /* 152145 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53862 /* 152149 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53863 /* 152154 */ GIR_RootConstrainSelectedInstOperands,
53864 /* 152155 */ // GIR_Coverage, 24410,
53865 /* 152155 */ GIR_EraseRootFromParent_Done,
53866 /* 152156 */ // Label 3348: @152156
53867 /* 152156 */ GIM_Try, /*On fail goto*//*Label 3349*/ GIMT_Encode4(152214), // Rule ID 6361 //
53868 /* 152161 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
53869 /* 152164 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53870 /* 152168 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53871 /* 152172 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53872 /* 152176 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53873 /* 152179 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53874 /* 152183 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53875 /* 152187 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53876 /* 152189 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53877 /* 152196 */ // (fadd:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
53878 /* 152196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rm),
53879 /* 152199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53880 /* 152201 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53881 /* 152203 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53882 /* 152207 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53883 /* 152212 */ GIR_RootConstrainSelectedInstOperands,
53884 /* 152213 */ // GIR_Coverage, 6361,
53885 /* 152213 */ GIR_EraseRootFromParent_Done,
53886 /* 152214 */ // Label 3349: @152214
53887 /* 152214 */ GIM_Try, /*On fail goto*//*Label 3350*/ GIMT_Encode4(152241), // Rule ID 6357 //
53888 /* 152219 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
53889 /* 152222 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53890 /* 152226 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53891 /* 152230 */ // (fadd:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VADDPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
53892 /* 152230 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rr),
53893 /* 152235 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53894 /* 152239 */ GIR_RootConstrainSelectedInstOperands,
53895 /* 152240 */ // GIR_Coverage, 6357,
53896 /* 152240 */ GIR_Done,
53897 /* 152241 */ // Label 3350: @152241
53898 /* 152241 */ GIM_Reject,
53899 /* 152242 */ // Label 3347: @152242
53900 /* 152242 */ GIM_Reject,
53901 /* 152243 */ // Label 3244: @152243
53902 /* 152243 */ GIM_Try, /*On fail goto*//*Label 3351*/ GIMT_Encode4(152402),
53903 /* 152248 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
53904 /* 152251 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
53905 /* 152254 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53906 /* 152258 */ GIM_Try, /*On fail goto*//*Label 3352*/ GIMT_Encode4(152316), // Rule ID 24346 //
53907 /* 152263 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
53908 /* 152266 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53909 /* 152270 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53910 /* 152274 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53911 /* 152277 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53912 /* 152281 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53913 /* 152285 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53914 /* 152289 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53915 /* 152291 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53916 /* 152298 */ // (fadd:{ *:[v16f32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16f32] }:$src1) => (VADDPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53917 /* 152298 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZrm),
53918 /* 152301 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53919 /* 152303 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53920 /* 152305 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53921 /* 152309 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53922 /* 152314 */ GIR_RootConstrainSelectedInstOperands,
53923 /* 152315 */ // GIR_Coverage, 24346,
53924 /* 152315 */ GIR_EraseRootFromParent_Done,
53925 /* 152316 */ // Label 3352: @152316
53926 /* 152316 */ GIM_Try, /*On fail goto*//*Label 3353*/ GIMT_Encode4(152374), // Rule ID 6265 //
53927 /* 152321 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
53928 /* 152324 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53929 /* 152328 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53930 /* 152332 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53931 /* 152336 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53932 /* 152339 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53933 /* 152343 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53934 /* 152347 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53935 /* 152349 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53936 /* 152356 */ // (fadd:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53937 /* 152356 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZrm),
53938 /* 152359 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53939 /* 152361 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53940 /* 152363 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53941 /* 152367 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53942 /* 152372 */ GIR_RootConstrainSelectedInstOperands,
53943 /* 152373 */ // GIR_Coverage, 6265,
53944 /* 152373 */ GIR_EraseRootFromParent_Done,
53945 /* 152374 */ // Label 3353: @152374
53946 /* 152374 */ GIM_Try, /*On fail goto*//*Label 3354*/ GIMT_Encode4(152401), // Rule ID 6261 //
53947 /* 152379 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
53948 /* 152382 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53949 /* 152386 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53950 /* 152390 */ // (fadd:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VADDPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
53951 /* 152390 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZrr),
53952 /* 152395 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53953 /* 152399 */ GIR_RootConstrainSelectedInstOperands,
53954 /* 152400 */ // GIR_Coverage, 6261,
53955 /* 152400 */ GIR_Done,
53956 /* 152401 */ // Label 3354: @152401
53957 /* 152401 */ GIM_Reject,
53958 /* 152402 */ // Label 3351: @152402
53959 /* 152402 */ GIM_Reject,
53960 /* 152403 */ // Label 3245: @152403
53961 /* 152403 */ GIM_Try, /*On fail goto*//*Label 3355*/ GIMT_Encode4(152562),
53962 /* 152408 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
53963 /* 152411 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
53964 /* 152414 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53965 /* 152418 */ GIM_Try, /*On fail goto*//*Label 3356*/ GIMT_Encode4(152476), // Rule ID 24394 //
53966 /* 152423 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
53967 /* 152426 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53968 /* 152430 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53969 /* 152434 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53970 /* 152437 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53971 /* 152441 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53972 /* 152445 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53973 /* 152449 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53974 /* 152451 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53975 /* 152458 */ // (fadd:{ *:[v32f16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32f16] }:$src1) => (VADDPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
53976 /* 152458 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZrm),
53977 /* 152461 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53978 /* 152463 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53979 /* 152465 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53980 /* 152469 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53981 /* 152474 */ GIR_RootConstrainSelectedInstOperands,
53982 /* 152475 */ // GIR_Coverage, 24394,
53983 /* 152475 */ GIR_EraseRootFromParent_Done,
53984 /* 152476 */ // Label 3356: @152476
53985 /* 152476 */ GIM_Try, /*On fail goto*//*Label 3357*/ GIMT_Encode4(152534), // Rule ID 6337 //
53986 /* 152481 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
53987 /* 152484 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53988 /* 152488 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53989 /* 152492 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53990 /* 152496 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53991 /* 152499 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53992 /* 152503 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53993 /* 152507 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53994 /* 152509 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53995 /* 152516 */ // (fadd:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
53996 /* 152516 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZrm),
53997 /* 152519 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53998 /* 152521 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53999 /* 152523 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54000 /* 152527 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54001 /* 152532 */ GIR_RootConstrainSelectedInstOperands,
54002 /* 152533 */ // GIR_Coverage, 6337,
54003 /* 152533 */ GIR_EraseRootFromParent_Done,
54004 /* 152534 */ // Label 3357: @152534
54005 /* 152534 */ GIM_Try, /*On fail goto*//*Label 3358*/ GIMT_Encode4(152561), // Rule ID 6333 //
54006 /* 152539 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
54007 /* 152542 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54008 /* 152546 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54009 /* 152550 */ // (fadd:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VADDPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
54010 /* 152550 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZrr),
54011 /* 152555 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54012 /* 152559 */ GIR_RootConstrainSelectedInstOperands,
54013 /* 152560 */ // GIR_Coverage, 6333,
54014 /* 152560 */ GIR_Done,
54015 /* 152561 */ // Label 3358: @152561
54016 /* 152561 */ GIM_Reject,
54017 /* 152562 */ // Label 3355: @152562
54018 /* 152562 */ GIM_Reject,
54019 /* 152563 */ // Label 3246: @152563
54020 /* 152563 */ GIM_Reject,
54021 /* 152564 */ // Label 43: @152564
54022 /* 152564 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 3372*/ GIMT_Encode4(156745),
54023 /* 152575 */ /*GILLT_s16*//*Label 3359*/ GIMT_Encode4(152659),
54024 /* 152579 */ /*GILLT_s32*//*Label 3360*/ GIMT_Encode4(152757),
54025 /* 152583 */ /*GILLT_s64*//*Label 3361*/ GIMT_Encode4(153722),
54026 /* 152587 */ /*GILLT_s80*//*Label 3362*/ GIMT_Encode4(154831), GIMT_Encode4(0), GIMT_Encode4(0),
54027 /* 152599 */ /*GILLT_v2s64*//*Label 3363*/ GIMT_Encode4(155397), GIMT_Encode4(0),
54028 /* 152607 */ /*GILLT_v4s32*//*Label 3364*/ GIMT_Encode4(155627),
54029 /* 152611 */ /*GILLT_v4s64*//*Label 3365*/ GIMT_Encode4(155857), GIMT_Encode4(0),
54030 /* 152619 */ /*GILLT_v8s16*//*Label 3366*/ GIMT_Encode4(156056),
54031 /* 152623 */ /*GILLT_v8s32*//*Label 3367*/ GIMT_Encode4(156154),
54032 /* 152627 */ /*GILLT_v8s64*//*Label 3368*/ GIMT_Encode4(156353), GIMT_Encode4(0), GIMT_Encode4(0),
54033 /* 152639 */ /*GILLT_v16s16*//*Label 3369*/ GIMT_Encode4(156451),
54034 /* 152643 */ /*GILLT_v16s32*//*Label 3370*/ GIMT_Encode4(156549), GIMT_Encode4(0), GIMT_Encode4(0),
54035 /* 152655 */ /*GILLT_v32s16*//*Label 3371*/ GIMT_Encode4(156647),
54036 /* 152659 */ // Label 3359: @152659
54037 /* 152659 */ GIM_Try, /*On fail goto*//*Label 3373*/ GIMT_Encode4(152756),
54038 /* 152664 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
54039 /* 152667 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
54040 /* 152670 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
54041 /* 152674 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
54042 /* 152678 */ GIM_Try, /*On fail goto*//*Label 3374*/ GIMT_Encode4(152732), // Rule ID 6073 //
54043 /* 152683 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
54044 /* 152686 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54045 /* 152690 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54046 /* 152694 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54047 /* 152697 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54048 /* 152701 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54049 /* 152705 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54050 /* 152707 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54051 /* 152714 */ // (fsub:{ *:[f16] } FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
54052 /* 152714 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSHZrm),
54053 /* 152717 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54054 /* 152719 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54055 /* 152721 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54056 /* 152725 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54057 /* 152730 */ GIR_RootConstrainSelectedInstOperands,
54058 /* 152731 */ // GIR_Coverage, 6073,
54059 /* 152731 */ GIR_EraseRootFromParent_Done,
54060 /* 152732 */ // Label 3374: @152732
54061 /* 152732 */ GIM_Try, /*On fail goto*//*Label 3375*/ GIMT_Encode4(152755), // Rule ID 6071 //
54062 /* 152737 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
54063 /* 152740 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
54064 /* 152744 */ // (fsub:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VSUBSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
54065 /* 152744 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSHZrr),
54066 /* 152749 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54067 /* 152753 */ GIR_RootConstrainSelectedInstOperands,
54068 /* 152754 */ // GIR_Coverage, 6071,
54069 /* 152754 */ GIR_Done,
54070 /* 152755 */ // Label 3375: @152755
54071 /* 152755 */ GIM_Reject,
54072 /* 152756 */ // Label 3373: @152756
54073 /* 152756 */ GIM_Reject,
54074 /* 152757 */ // Label 3360: @152757
54075 /* 152757 */ GIM_Try, /*On fail goto*//*Label 3376*/ GIMT_Encode4(153721),
54076 /* 152762 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
54077 /* 152765 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
54078 /* 152768 */ GIM_Try, /*On fail goto*//*Label 3377*/ GIMT_Encode4(152850), // Rule ID 22534 //
54079 /* 152773 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
54080 /* 152776 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54081 /* 152780 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54082 /* 152784 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54083 /* 152788 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54084 /* 152792 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
54085 /* 152796 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54086 /* 152800 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54087 /* 152804 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54088 /* 152807 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54089 /* 152811 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54090 /* 152818 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54091 /* 152822 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54092 /* 152824 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54093 /* 152831 */ // (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)
54094 /* 152831 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSSrm),
54095 /* 152834 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54096 /* 152836 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54097 /* 152838 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54098 /* 152842 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54099 /* 152848 */ GIR_RootConstrainSelectedInstOperands,
54100 /* 152849 */ // GIR_Coverage, 22534,
54101 /* 152849 */ GIR_EraseRootFromParent_Done,
54102 /* 152850 */ // Label 3377: @152850
54103 /* 152850 */ GIM_Try, /*On fail goto*//*Label 3378*/ GIMT_Encode4(152932), // Rule ID 22535 //
54104 /* 152855 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
54105 /* 152858 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54106 /* 152862 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54107 /* 152866 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54108 /* 152870 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54109 /* 152874 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
54110 /* 152878 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54111 /* 152882 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54112 /* 152886 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54113 /* 152889 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54114 /* 152893 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54115 /* 152900 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54116 /* 152904 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54117 /* 152906 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54118 /* 152913 */ // (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)
54119 /* 152913 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSrm),
54120 /* 152916 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54121 /* 152918 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54122 /* 152920 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54123 /* 152924 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54124 /* 152930 */ GIR_RootConstrainSelectedInstOperands,
54125 /* 152931 */ // GIR_Coverage, 22535,
54126 /* 152931 */ GIR_EraseRootFromParent_Done,
54127 /* 152932 */ // Label 3378: @152932
54128 /* 152932 */ GIM_Try, /*On fail goto*//*Label 3379*/ GIMT_Encode4(153014), // Rule ID 22536 //
54129 /* 152937 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
54130 /* 152940 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54131 /* 152944 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54132 /* 152948 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54133 /* 152952 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54134 /* 152956 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
54135 /* 152960 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54136 /* 152964 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54137 /* 152968 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54138 /* 152971 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54139 /* 152975 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54140 /* 152982 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54141 /* 152986 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54142 /* 152988 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54143 /* 152995 */ // (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)
54144 /* 152995 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrm),
54145 /* 152998 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54146 /* 153000 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54147 /* 153002 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54148 /* 153006 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54149 /* 153012 */ GIR_RootConstrainSelectedInstOperands,
54150 /* 153013 */ // GIR_Coverage, 22536,
54151 /* 153013 */ GIR_EraseRootFromParent_Done,
54152 /* 153014 */ // Label 3379: @153014
54153 /* 153014 */ GIM_Try, /*On fail goto*//*Label 3380*/ GIMT_Encode4(153079), // Rule ID 965 //
54154 /* 153019 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
54155 /* 153022 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54156 /* 153026 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54157 /* 153030 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54158 /* 153034 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
54159 /* 153041 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54160 /* 153045 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54161 /* 153049 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54162 /* 153051 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54163 /* 153058 */ // (fsub:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (SUBR_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54164 /* 153058 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m32),
54165 /* 153061 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54166 /* 153063 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54167 /* 153065 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54168 /* 153069 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54169 /* 153072 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54170 /* 153077 */ GIR_RootConstrainSelectedInstOperands,
54171 /* 153078 */ // GIR_Coverage, 965,
54172 /* 153078 */ GIR_EraseRootFromParent_Done,
54173 /* 153079 */ // Label 3380: @153079
54174 /* 153079 */ GIM_Try, /*On fail goto*//*Label 3381*/ GIMT_Encode4(153144), // Rule ID 967 //
54175 /* 153084 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
54176 /* 153087 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54177 /* 153091 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54178 /* 153095 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54179 /* 153099 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54180 /* 153106 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54181 /* 153110 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54182 /* 153114 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54183 /* 153116 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54184 /* 153123 */ // (fsub:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (SUBR_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54185 /* 153123 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m32),
54186 /* 153126 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54187 /* 153128 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54188 /* 153130 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54189 /* 153134 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54190 /* 153137 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54191 /* 153142 */ GIR_RootConstrainSelectedInstOperands,
54192 /* 153143 */ // GIR_Coverage, 967,
54193 /* 153143 */ GIR_EraseRootFromParent_Done,
54194 /* 153144 */ // Label 3381: @153144
54195 /* 153144 */ GIM_Try, /*On fail goto*//*Label 3382*/ GIMT_Encode4(153209), // Rule ID 955 //
54196 /* 153149 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
54197 /* 153152 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54198 /* 153156 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54199 /* 153160 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54200 /* 153164 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54201 /* 153167 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54202 /* 153171 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54203 /* 153175 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54204 /* 153179 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54205 /* 153181 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54206 /* 153188 */ // (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)
54207 /* 153188 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp32m),
54208 /* 153191 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54209 /* 153193 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54210 /* 153195 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54211 /* 153199 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54212 /* 153202 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54213 /* 153207 */ GIR_RootConstrainSelectedInstOperands,
54214 /* 153208 */ // GIR_Coverage, 955,
54215 /* 153208 */ GIR_EraseRootFromParent_Done,
54216 /* 153209 */ // Label 3382: @153209
54217 /* 153209 */ GIM_Try, /*On fail goto*//*Label 3383*/ GIMT_Encode4(153274), // Rule ID 943 //
54218 /* 153214 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
54219 /* 153217 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54220 /* 153221 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54221 /* 153225 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54222 /* 153229 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54223 /* 153233 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
54224 /* 153240 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54225 /* 153244 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54226 /* 153246 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54227 /* 153253 */ // (fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54228 /* 153253 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m32),
54229 /* 153256 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54230 /* 153258 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54231 /* 153260 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54232 /* 153264 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54233 /* 153267 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54234 /* 153272 */ GIR_RootConstrainSelectedInstOperands,
54235 /* 153273 */ // GIR_Coverage, 943,
54236 /* 153273 */ GIR_EraseRootFromParent_Done,
54237 /* 153274 */ // Label 3383: @153274
54238 /* 153274 */ GIM_Try, /*On fail goto*//*Label 3384*/ GIMT_Encode4(153339), // Rule ID 945 //
54239 /* 153279 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
54240 /* 153282 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54241 /* 153286 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54242 /* 153290 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54243 /* 153294 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54244 /* 153298 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54245 /* 153305 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54246 /* 153309 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54247 /* 153311 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54248 /* 153318 */ // (fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54249 /* 153318 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m32),
54250 /* 153321 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54251 /* 153323 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54252 /* 153325 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54253 /* 153329 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54254 /* 153332 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54255 /* 153337 */ GIR_RootConstrainSelectedInstOperands,
54256 /* 153338 */ // GIR_Coverage, 945,
54257 /* 153338 */ GIR_EraseRootFromParent_Done,
54258 /* 153339 */ // Label 3384: @153339
54259 /* 153339 */ GIM_Try, /*On fail goto*//*Label 3385*/ GIMT_Encode4(153404), // Rule ID 933 //
54260 /* 153344 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
54261 /* 153347 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54262 /* 153351 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54263 /* 153355 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54264 /* 153359 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54265 /* 153363 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54266 /* 153366 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54267 /* 153370 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54268 /* 153374 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54269 /* 153376 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54270 /* 153383 */ // (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)
54271 /* 153383 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp32m),
54272 /* 153386 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54273 /* 153388 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54274 /* 153390 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54275 /* 153394 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54276 /* 153397 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54277 /* 153402 */ GIR_RootConstrainSelectedInstOperands,
54278 /* 153403 */ // GIR_Coverage, 933,
54279 /* 153403 */ GIR_EraseRootFromParent_Done,
54280 /* 153404 */ // Label 3385: @153404
54281 /* 153404 */ GIM_Try, /*On fail goto*//*Label 3386*/ GIMT_Encode4(153466), // Rule ID 2241 //
54282 /* 153409 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
54283 /* 153412 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54284 /* 153416 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54285 /* 153420 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54286 /* 153424 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54287 /* 153428 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54288 /* 153431 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54289 /* 153435 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54290 /* 153439 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54291 /* 153441 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54292 /* 153448 */ // (fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54293 /* 153448 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSrm),
54294 /* 153451 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54295 /* 153453 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54296 /* 153455 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54297 /* 153459 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54298 /* 153464 */ GIR_RootConstrainSelectedInstOperands,
54299 /* 153465 */ // GIR_Coverage, 2241,
54300 /* 153465 */ GIR_EraseRootFromParent_Done,
54301 /* 153466 */ // Label 3386: @153466
54302 /* 153466 */ GIM_Try, /*On fail goto*//*Label 3387*/ GIMT_Encode4(153528), // Rule ID 2249 //
54303 /* 153471 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
54304 /* 153474 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54305 /* 153478 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54306 /* 153482 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54307 /* 153486 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54308 /* 153490 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54309 /* 153493 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54310 /* 153497 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54311 /* 153501 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54312 /* 153503 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54313 /* 153510 */ // (fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SUBSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54314 /* 153510 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSSrm),
54315 /* 153513 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54316 /* 153515 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54317 /* 153517 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54318 /* 153521 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54319 /* 153526 */ GIR_RootConstrainSelectedInstOperands,
54320 /* 153527 */ // GIR_Coverage, 2249,
54321 /* 153527 */ GIR_EraseRootFromParent_Done,
54322 /* 153528 */ // Label 3387: @153528
54323 /* 153528 */ GIM_Try, /*On fail goto*//*Label 3388*/ GIMT_Encode4(153590), // Rule ID 6035 //
54324 /* 153533 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
54325 /* 153536 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54326 /* 153540 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54327 /* 153544 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54328 /* 153548 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54329 /* 153552 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54330 /* 153555 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54331 /* 153559 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54332 /* 153563 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54333 /* 153565 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54334 /* 153572 */ // (fsub:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54335 /* 153572 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrm),
54336 /* 153575 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54337 /* 153577 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54338 /* 153579 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54339 /* 153583 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54340 /* 153588 */ GIR_RootConstrainSelectedInstOperands,
54341 /* 153589 */ // GIR_Coverage, 6035,
54342 /* 153589 */ GIR_EraseRootFromParent_Done,
54343 /* 153590 */ // Label 3388: @153590
54344 /* 153590 */ GIM_Try, /*On fail goto*//*Label 3389*/ GIMT_Encode4(153627), // Rule ID 893 //
54345 /* 153595 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
54346 /* 153598 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54347 /* 153602 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54348 /* 153606 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54349 /* 153610 */ // (fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (SUB_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
54350 /* 153610 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp32),
54351 /* 153615 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
54352 /* 153621 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
54353 /* 153625 */ GIR_RootConstrainSelectedInstOperands,
54354 /* 153626 */ // GIR_Coverage, 893,
54355 /* 153626 */ GIR_Done,
54356 /* 153627 */ // Label 3389: @153627
54357 /* 153627 */ GIM_Try, /*On fail goto*//*Label 3390*/ GIMT_Encode4(153658), // Rule ID 2239 //
54358 /* 153632 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
54359 /* 153635 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54360 /* 153639 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54361 /* 153643 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54362 /* 153647 */ // (fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VSUBSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
54363 /* 153647 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSSrr),
54364 /* 153652 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54365 /* 153656 */ GIR_RootConstrainSelectedInstOperands,
54366 /* 153657 */ // GIR_Coverage, 2239,
54367 /* 153657 */ GIR_Done,
54368 /* 153658 */ // Label 3390: @153658
54369 /* 153658 */ GIM_Try, /*On fail goto*//*Label 3391*/ GIMT_Encode4(153689), // Rule ID 2247 //
54370 /* 153663 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
54371 /* 153666 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54372 /* 153670 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54373 /* 153674 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54374 /* 153678 */ // (fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (SUBSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
54375 /* 153678 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBSSrr),
54376 /* 153683 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54377 /* 153687 */ GIR_RootConstrainSelectedInstOperands,
54378 /* 153688 */ // GIR_Coverage, 2247,
54379 /* 153688 */ GIR_Done,
54380 /* 153689 */ // Label 3391: @153689
54381 /* 153689 */ GIM_Try, /*On fail goto*//*Label 3392*/ GIMT_Encode4(153720), // Rule ID 6033 //
54382 /* 153694 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
54383 /* 153697 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54384 /* 153701 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54385 /* 153705 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54386 /* 153709 */ // (fsub:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VSUBSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
54387 /* 153709 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrr),
54388 /* 153714 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54389 /* 153718 */ GIR_RootConstrainSelectedInstOperands,
54390 /* 153719 */ // GIR_Coverage, 6033,
54391 /* 153719 */ GIR_Done,
54392 /* 153720 */ // Label 3392: @153720
54393 /* 153720 */ GIM_Reject,
54394 /* 153721 */ // Label 3376: @153721
54395 /* 153721 */ GIM_Reject,
54396 /* 153722 */ // Label 3361: @153722
54397 /* 153722 */ GIM_Try, /*On fail goto*//*Label 3393*/ GIMT_Encode4(154830),
54398 /* 153727 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
54399 /* 153730 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
54400 /* 153733 */ GIM_Try, /*On fail goto*//*Label 3394*/ GIMT_Encode4(153815), // Rule ID 22537 //
54401 /* 153738 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
54402 /* 153741 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54403 /* 153745 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54404 /* 153749 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54405 /* 153753 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54406 /* 153757 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
54407 /* 153761 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54408 /* 153765 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54409 /* 153769 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54410 /* 153772 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54411 /* 153776 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
54412 /* 153783 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54413 /* 153787 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54414 /* 153789 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54415 /* 153796 */ // (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)
54416 /* 153796 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSDrm),
54417 /* 153799 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54418 /* 153801 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54419 /* 153803 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54420 /* 153807 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54421 /* 153813 */ GIR_RootConstrainSelectedInstOperands,
54422 /* 153814 */ // GIR_Coverage, 22537,
54423 /* 153814 */ GIR_EraseRootFromParent_Done,
54424 /* 153815 */ // Label 3394: @153815
54425 /* 153815 */ GIM_Try, /*On fail goto*//*Label 3395*/ GIMT_Encode4(153897), // Rule ID 22538 //
54426 /* 153820 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
54427 /* 153823 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54428 /* 153827 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54429 /* 153831 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54430 /* 153835 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54431 /* 153839 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
54432 /* 153843 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54433 /* 153847 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54434 /* 153851 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54435 /* 153854 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54436 /* 153858 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
54437 /* 153865 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54438 /* 153869 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54439 /* 153871 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54440 /* 153878 */ // (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)
54441 /* 153878 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDrm),
54442 /* 153881 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54443 /* 153883 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54444 /* 153885 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54445 /* 153889 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54446 /* 153895 */ GIR_RootConstrainSelectedInstOperands,
54447 /* 153896 */ // GIR_Coverage, 22538,
54448 /* 153896 */ GIR_EraseRootFromParent_Done,
54449 /* 153897 */ // Label 3395: @153897
54450 /* 153897 */ GIM_Try, /*On fail goto*//*Label 3396*/ GIMT_Encode4(153979), // Rule ID 22539 //
54451 /* 153902 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
54452 /* 153905 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54453 /* 153909 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54454 /* 153913 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54455 /* 153917 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54456 /* 153921 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
54457 /* 153925 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54458 /* 153929 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54459 /* 153933 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54460 /* 153936 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54461 /* 153940 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
54462 /* 153947 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54463 /* 153951 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54464 /* 153953 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54465 /* 153960 */ // (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)
54466 /* 153960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrm),
54467 /* 153963 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54468 /* 153965 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54469 /* 153967 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54470 /* 153971 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54471 /* 153977 */ GIR_RootConstrainSelectedInstOperands,
54472 /* 153978 */ // GIR_Coverage, 22539,
54473 /* 153978 */ GIR_EraseRootFromParent_Done,
54474 /* 153979 */ // Label 3396: @153979
54475 /* 153979 */ GIM_Try, /*On fail goto*//*Label 3397*/ GIMT_Encode4(154044), // Rule ID 969 //
54476 /* 153984 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54477 /* 153987 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54478 /* 153991 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54479 /* 153995 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54480 /* 153999 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
54481 /* 154006 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54482 /* 154010 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54483 /* 154014 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54484 /* 154016 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54485 /* 154023 */ // (fsub:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (SUBR_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54486 /* 154023 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m64),
54487 /* 154026 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54488 /* 154028 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54489 /* 154030 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54490 /* 154034 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54491 /* 154037 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54492 /* 154042 */ GIR_RootConstrainSelectedInstOperands,
54493 /* 154043 */ // GIR_Coverage, 969,
54494 /* 154043 */ GIR_EraseRootFromParent_Done,
54495 /* 154044 */ // Label 3397: @154044
54496 /* 154044 */ GIM_Try, /*On fail goto*//*Label 3398*/ GIMT_Encode4(154109), // Rule ID 971 //
54497 /* 154049 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54498 /* 154052 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54499 /* 154056 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54500 /* 154060 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54501 /* 154064 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54502 /* 154071 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54503 /* 154075 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54504 /* 154079 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54505 /* 154081 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54506 /* 154088 */ // (fsub:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (SUBR_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54507 /* 154088 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m64),
54508 /* 154091 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54509 /* 154093 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54510 /* 154095 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54511 /* 154099 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54512 /* 154102 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54513 /* 154107 */ GIR_RootConstrainSelectedInstOperands,
54514 /* 154108 */ // GIR_Coverage, 971,
54515 /* 154108 */ GIR_EraseRootFromParent_Done,
54516 /* 154109 */ // Label 3398: @154109
54517 /* 154109 */ GIM_Try, /*On fail goto*//*Label 3399*/ GIMT_Encode4(154174), // Rule ID 957 //
54518 /* 154114 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54519 /* 154117 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54520 /* 154121 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54521 /* 154125 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54522 /* 154129 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54523 /* 154132 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54524 /* 154136 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54525 /* 154140 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54526 /* 154144 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54527 /* 154146 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54528 /* 154153 */ // (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)
54529 /* 154153 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp64m),
54530 /* 154156 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54531 /* 154158 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54532 /* 154160 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54533 /* 154164 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54534 /* 154167 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54535 /* 154172 */ GIR_RootConstrainSelectedInstOperands,
54536 /* 154173 */ // GIR_Coverage, 957,
54537 /* 154173 */ GIR_EraseRootFromParent_Done,
54538 /* 154174 */ // Label 3399: @154174
54539 /* 154174 */ GIM_Try, /*On fail goto*//*Label 3400*/ GIMT_Encode4(154246), // Rule ID 959 //
54540 /* 154179 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54541 /* 154182 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54542 /* 154186 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54543 /* 154190 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54544 /* 154194 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54545 /* 154197 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54546 /* 154201 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54547 /* 154208 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54548 /* 154212 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54549 /* 154216 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54550 /* 154218 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54551 /* 154225 */ // (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)
54552 /* 154225 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp64m32),
54553 /* 154228 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54554 /* 154230 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54555 /* 154232 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54556 /* 154236 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54557 /* 154239 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54558 /* 154244 */ GIR_RootConstrainSelectedInstOperands,
54559 /* 154245 */ // GIR_Coverage, 959,
54560 /* 154245 */ GIR_EraseRootFromParent_Done,
54561 /* 154246 */ // Label 3400: @154246
54562 /* 154246 */ GIM_Try, /*On fail goto*//*Label 3401*/ GIMT_Encode4(154311), // Rule ID 947 //
54563 /* 154251 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54564 /* 154254 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54565 /* 154258 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54566 /* 154262 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54567 /* 154266 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54568 /* 154270 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
54569 /* 154277 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54570 /* 154281 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54571 /* 154283 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54572 /* 154290 */ // (fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54573 /* 154290 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m64),
54574 /* 154293 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54575 /* 154295 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54576 /* 154297 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54577 /* 154301 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54578 /* 154304 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54579 /* 154309 */ GIR_RootConstrainSelectedInstOperands,
54580 /* 154310 */ // GIR_Coverage, 947,
54581 /* 154310 */ GIR_EraseRootFromParent_Done,
54582 /* 154311 */ // Label 3401: @154311
54583 /* 154311 */ GIM_Try, /*On fail goto*//*Label 3402*/ GIMT_Encode4(154376), // Rule ID 949 //
54584 /* 154316 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54585 /* 154319 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54586 /* 154323 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54587 /* 154327 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54588 /* 154331 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54589 /* 154335 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54590 /* 154342 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54591 /* 154346 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54592 /* 154348 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54593 /* 154355 */ // (fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54594 /* 154355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m64),
54595 /* 154358 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54596 /* 154360 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54597 /* 154362 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54598 /* 154366 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54599 /* 154369 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54600 /* 154374 */ GIR_RootConstrainSelectedInstOperands,
54601 /* 154375 */ // GIR_Coverage, 949,
54602 /* 154375 */ GIR_EraseRootFromParent_Done,
54603 /* 154376 */ // Label 3402: @154376
54604 /* 154376 */ GIM_Try, /*On fail goto*//*Label 3403*/ GIMT_Encode4(154441), // Rule ID 935 //
54605 /* 154381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54606 /* 154384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54607 /* 154388 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54608 /* 154392 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54609 /* 154396 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54610 /* 154400 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54611 /* 154403 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54612 /* 154407 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54613 /* 154411 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54614 /* 154413 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54615 /* 154420 */ // (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)
54616 /* 154420 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64m),
54617 /* 154423 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54618 /* 154425 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54619 /* 154427 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54620 /* 154431 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54621 /* 154434 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54622 /* 154439 */ GIR_RootConstrainSelectedInstOperands,
54623 /* 154440 */ // GIR_Coverage, 935,
54624 /* 154440 */ GIR_EraseRootFromParent_Done,
54625 /* 154441 */ // Label 3403: @154441
54626 /* 154441 */ GIM_Try, /*On fail goto*//*Label 3404*/ GIMT_Encode4(154513), // Rule ID 937 //
54627 /* 154446 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54628 /* 154449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54629 /* 154453 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54630 /* 154457 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54631 /* 154461 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54632 /* 154465 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54633 /* 154468 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54634 /* 154472 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54635 /* 154479 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54636 /* 154483 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54637 /* 154485 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54638 /* 154492 */ // (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)
54639 /* 154492 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64m32),
54640 /* 154495 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54641 /* 154497 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54642 /* 154499 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54643 /* 154503 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54644 /* 154506 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54645 /* 154511 */ GIR_RootConstrainSelectedInstOperands,
54646 /* 154512 */ // GIR_Coverage, 937,
54647 /* 154512 */ GIR_EraseRootFromParent_Done,
54648 /* 154513 */ // Label 3404: @154513
54649 /* 154513 */ GIM_Try, /*On fail goto*//*Label 3405*/ GIMT_Encode4(154575), // Rule ID 2245 //
54650 /* 154518 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
54651 /* 154521 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54652 /* 154525 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54653 /* 154529 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54654 /* 154533 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54655 /* 154537 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54656 /* 154540 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54657 /* 154544 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54658 /* 154548 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54659 /* 154550 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54660 /* 154557 */ // (fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54661 /* 154557 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDrm),
54662 /* 154560 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54663 /* 154562 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54664 /* 154564 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54665 /* 154568 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54666 /* 154573 */ GIR_RootConstrainSelectedInstOperands,
54667 /* 154574 */ // GIR_Coverage, 2245,
54668 /* 154574 */ GIR_EraseRootFromParent_Done,
54669 /* 154575 */ // Label 3405: @154575
54670 /* 154575 */ GIM_Try, /*On fail goto*//*Label 3406*/ GIMT_Encode4(154637), // Rule ID 2253 //
54671 /* 154580 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
54672 /* 154583 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54673 /* 154587 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54674 /* 154591 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54675 /* 154595 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54676 /* 154599 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54677 /* 154602 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54678 /* 154606 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54679 /* 154610 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54680 /* 154612 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54681 /* 154619 */ // (fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SUBSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54682 /* 154619 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSDrm),
54683 /* 154622 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54684 /* 154624 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54685 /* 154626 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54686 /* 154630 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54687 /* 154635 */ GIR_RootConstrainSelectedInstOperands,
54688 /* 154636 */ // GIR_Coverage, 2253,
54689 /* 154636 */ GIR_EraseRootFromParent_Done,
54690 /* 154637 */ // Label 3406: @154637
54691 /* 154637 */ GIM_Try, /*On fail goto*//*Label 3407*/ GIMT_Encode4(154699), // Rule ID 6054 //
54692 /* 154642 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
54693 /* 154645 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54694 /* 154649 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54695 /* 154653 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54696 /* 154657 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54697 /* 154661 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54698 /* 154664 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54699 /* 154668 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54700 /* 154672 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54701 /* 154674 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54702 /* 154681 */ // (fsub:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54703 /* 154681 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrm),
54704 /* 154684 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54705 /* 154686 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54706 /* 154688 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54707 /* 154692 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54708 /* 154697 */ GIR_RootConstrainSelectedInstOperands,
54709 /* 154698 */ // GIR_Coverage, 6054,
54710 /* 154698 */ GIR_EraseRootFromParent_Done,
54711 /* 154699 */ // Label 3407: @154699
54712 /* 154699 */ GIM_Try, /*On fail goto*//*Label 3408*/ GIMT_Encode4(154736), // Rule ID 895 //
54713 /* 154704 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54714 /* 154707 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54715 /* 154711 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54716 /* 154715 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54717 /* 154719 */ // (fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (SUB_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
54718 /* 154719 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64),
54719 /* 154724 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
54720 /* 154730 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
54721 /* 154734 */ GIR_RootConstrainSelectedInstOperands,
54722 /* 154735 */ // GIR_Coverage, 895,
54723 /* 154735 */ GIR_Done,
54724 /* 154736 */ // Label 3408: @154736
54725 /* 154736 */ GIM_Try, /*On fail goto*//*Label 3409*/ GIMT_Encode4(154767), // Rule ID 2243 //
54726 /* 154741 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
54727 /* 154744 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54728 /* 154748 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54729 /* 154752 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54730 /* 154756 */ // (fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VSUBSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
54731 /* 154756 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSDrr),
54732 /* 154761 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54733 /* 154765 */ GIR_RootConstrainSelectedInstOperands,
54734 /* 154766 */ // GIR_Coverage, 2243,
54735 /* 154766 */ GIR_Done,
54736 /* 154767 */ // Label 3409: @154767
54737 /* 154767 */ GIM_Try, /*On fail goto*//*Label 3410*/ GIMT_Encode4(154798), // Rule ID 2251 //
54738 /* 154772 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
54739 /* 154775 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54740 /* 154779 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54741 /* 154783 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54742 /* 154787 */ // (fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (SUBSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
54743 /* 154787 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBSDrr),
54744 /* 154792 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54745 /* 154796 */ GIR_RootConstrainSelectedInstOperands,
54746 /* 154797 */ // GIR_Coverage, 2251,
54747 /* 154797 */ GIR_Done,
54748 /* 154798 */ // Label 3410: @154798
54749 /* 154798 */ GIM_Try, /*On fail goto*//*Label 3411*/ GIMT_Encode4(154829), // Rule ID 6052 //
54750 /* 154803 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
54751 /* 154806 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54752 /* 154810 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54753 /* 154814 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54754 /* 154818 */ // (fsub:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VSUBSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
54755 /* 154818 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrr),
54756 /* 154823 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54757 /* 154827 */ GIR_RootConstrainSelectedInstOperands,
54758 /* 154828 */ // GIR_Coverage, 6052,
54759 /* 154828 */ GIR_Done,
54760 /* 154829 */ // Label 3411: @154829
54761 /* 154829 */ GIM_Reject,
54762 /* 154830 */ // Label 3393: @154830
54763 /* 154830 */ GIM_Reject,
54764 /* 154831 */ // Label 3362: @154831
54765 /* 154831 */ GIM_Try, /*On fail goto*//*Label 3412*/ GIMT_Encode4(155396),
54766 /* 154836 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
54767 /* 154839 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
54768 /* 154842 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
54769 /* 154846 */ GIM_Try, /*On fail goto*//*Label 3413*/ GIMT_Encode4(154907), // Rule ID 973 //
54770 /* 154851 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
54771 /* 154854 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54772 /* 154858 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54773 /* 154862 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
54774 /* 154869 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54775 /* 154873 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
54776 /* 154877 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54777 /* 154879 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54778 /* 154886 */ // (fsub:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (SUBR_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
54779 /* 154886 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m80),
54780 /* 154889 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54781 /* 154891 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54782 /* 154893 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54783 /* 154897 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54784 /* 154900 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54785 /* 154905 */ GIR_RootConstrainSelectedInstOperands,
54786 /* 154906 */ // GIR_Coverage, 973,
54787 /* 154906 */ GIR_EraseRootFromParent_Done,
54788 /* 154907 */ // Label 3413: @154907
54789 /* 154907 */ GIM_Try, /*On fail goto*//*Label 3414*/ GIMT_Encode4(154968), // Rule ID 975 //
54790 /* 154912 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
54791 /* 154915 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54792 /* 154919 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54793 /* 154923 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54794 /* 154930 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54795 /* 154934 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
54796 /* 154938 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54797 /* 154940 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54798 /* 154947 */ // (fsub:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (SUBR_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
54799 /* 154947 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m80),
54800 /* 154950 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54801 /* 154952 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54802 /* 154954 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54803 /* 154958 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54804 /* 154961 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54805 /* 154966 */ GIR_RootConstrainSelectedInstOperands,
54806 /* 154967 */ // GIR_Coverage, 975,
54807 /* 154967 */ GIR_EraseRootFromParent_Done,
54808 /* 154968 */ // Label 3414: @154968
54809 /* 154968 */ GIM_Try, /*On fail goto*//*Label 3415*/ GIMT_Encode4(155036), // Rule ID 961 //
54810 /* 154973 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
54811 /* 154976 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54812 /* 154980 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54813 /* 154984 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54814 /* 154987 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54815 /* 154991 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54816 /* 154998 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54817 /* 155002 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
54818 /* 155006 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54819 /* 155008 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54820 /* 155015 */ // (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)
54821 /* 155015 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp80m32),
54822 /* 155018 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54823 /* 155020 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54824 /* 155022 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54825 /* 155026 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54826 /* 155029 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54827 /* 155034 */ GIR_RootConstrainSelectedInstOperands,
54828 /* 155035 */ // GIR_Coverage, 961,
54829 /* 155035 */ GIR_EraseRootFromParent_Done,
54830 /* 155036 */ // Label 3415: @155036
54831 /* 155036 */ GIM_Try, /*On fail goto*//*Label 3416*/ GIMT_Encode4(155104), // Rule ID 963 //
54832 /* 155041 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
54833 /* 155044 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54834 /* 155048 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54835 /* 155052 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54836 /* 155055 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54837 /* 155059 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
54838 /* 155066 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54839 /* 155070 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
54840 /* 155074 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54841 /* 155076 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54842 /* 155083 */ // (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)
54843 /* 155083 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp80m64),
54844 /* 155086 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54845 /* 155088 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54846 /* 155090 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54847 /* 155094 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54848 /* 155097 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54849 /* 155102 */ GIR_RootConstrainSelectedInstOperands,
54850 /* 155103 */ // GIR_Coverage, 963,
54851 /* 155103 */ GIR_EraseRootFromParent_Done,
54852 /* 155104 */ // Label 3416: @155104
54853 /* 155104 */ GIM_Try, /*On fail goto*//*Label 3417*/ GIMT_Encode4(155165), // Rule ID 951 //
54854 /* 155109 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
54855 /* 155112 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
54856 /* 155116 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54857 /* 155120 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54858 /* 155124 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
54859 /* 155131 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54860 /* 155135 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54861 /* 155137 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54862 /* 155144 */ // (fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
54863 /* 155144 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m80),
54864 /* 155147 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54865 /* 155149 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54866 /* 155151 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54867 /* 155155 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54868 /* 155158 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54869 /* 155163 */ GIR_RootConstrainSelectedInstOperands,
54870 /* 155164 */ // GIR_Coverage, 951,
54871 /* 155164 */ GIR_EraseRootFromParent_Done,
54872 /* 155165 */ // Label 3417: @155165
54873 /* 155165 */ GIM_Try, /*On fail goto*//*Label 3418*/ GIMT_Encode4(155226), // Rule ID 953 //
54874 /* 155170 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
54875 /* 155173 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
54876 /* 155177 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54877 /* 155181 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54878 /* 155185 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54879 /* 155192 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54880 /* 155196 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54881 /* 155198 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54882 /* 155205 */ // (fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
54883 /* 155205 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m80),
54884 /* 155208 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54885 /* 155210 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54886 /* 155212 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54887 /* 155216 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54888 /* 155219 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54889 /* 155224 */ GIR_RootConstrainSelectedInstOperands,
54890 /* 155225 */ // GIR_Coverage, 953,
54891 /* 155225 */ GIR_EraseRootFromParent_Done,
54892 /* 155226 */ // Label 3418: @155226
54893 /* 155226 */ GIM_Try, /*On fail goto*//*Label 3419*/ GIMT_Encode4(155294), // Rule ID 939 //
54894 /* 155231 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
54895 /* 155234 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
54896 /* 155238 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54897 /* 155242 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54898 /* 155246 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54899 /* 155249 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54900 /* 155253 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54901 /* 155260 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54902 /* 155264 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54903 /* 155266 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54904 /* 155273 */ // (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)
54905 /* 155273 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80m32),
54906 /* 155276 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54907 /* 155278 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54908 /* 155280 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54909 /* 155284 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54910 /* 155287 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54911 /* 155292 */ GIR_RootConstrainSelectedInstOperands,
54912 /* 155293 */ // GIR_Coverage, 939,
54913 /* 155293 */ GIR_EraseRootFromParent_Done,
54914 /* 155294 */ // Label 3419: @155294
54915 /* 155294 */ GIM_Try, /*On fail goto*//*Label 3420*/ GIMT_Encode4(155362), // Rule ID 941 //
54916 /* 155299 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
54917 /* 155302 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
54918 /* 155306 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54919 /* 155310 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54920 /* 155314 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54921 /* 155317 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54922 /* 155321 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
54923 /* 155328 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54924 /* 155332 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54925 /* 155334 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54926 /* 155341 */ // (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)
54927 /* 155341 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80m64),
54928 /* 155344 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54929 /* 155346 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54930 /* 155348 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54931 /* 155352 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54932 /* 155355 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54933 /* 155360 */ GIR_RootConstrainSelectedInstOperands,
54934 /* 155361 */ // GIR_Coverage, 941,
54935 /* 155361 */ GIR_EraseRootFromParent_Done,
54936 /* 155362 */ // Label 3420: @155362
54937 /* 155362 */ GIM_Try, /*On fail goto*//*Label 3421*/ GIMT_Encode4(155395), // Rule ID 897 //
54938 /* 155367 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
54939 /* 155370 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
54940 /* 155374 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
54941 /* 155378 */ // (fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (SUB_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
54942 /* 155378 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80),
54943 /* 155383 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
54944 /* 155389 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
54945 /* 155393 */ GIR_RootConstrainSelectedInstOperands,
54946 /* 155394 */ // GIR_Coverage, 897,
54947 /* 155394 */ GIR_Done,
54948 /* 155395 */ // Label 3421: @155395
54949 /* 155395 */ GIM_Reject,
54950 /* 155396 */ // Label 3412: @155396
54951 /* 155396 */ GIM_Reject,
54952 /* 155397 */ // Label 3363: @155397
54953 /* 155397 */ GIM_Try, /*On fail goto*//*Label 3422*/ GIMT_Encode4(155626),
54954 /* 155402 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
54955 /* 155405 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
54956 /* 155408 */ GIM_Try, /*On fail goto*//*Label 3423*/ GIMT_Encode4(155470), // Rule ID 2221 //
54957 /* 155413 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
54958 /* 155416 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54959 /* 155420 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54960 /* 155424 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54961 /* 155428 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54962 /* 155432 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54963 /* 155435 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54964 /* 155439 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54965 /* 155443 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54966 /* 155445 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54967 /* 155452 */ // (fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54968 /* 155452 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDrm),
54969 /* 155455 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54970 /* 155457 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54971 /* 155459 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54972 /* 155463 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54973 /* 155468 */ GIR_RootConstrainSelectedInstOperands,
54974 /* 155469 */ // GIR_Coverage, 2221,
54975 /* 155469 */ GIR_EraseRootFromParent_Done,
54976 /* 155470 */ // Label 3423: @155470
54977 /* 155470 */ GIM_Try, /*On fail goto*//*Label 3424*/ GIMT_Encode4(155532), // Rule ID 6547 //
54978 /* 155475 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
54979 /* 155478 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54980 /* 155482 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54981 /* 155486 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54982 /* 155490 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54983 /* 155494 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54984 /* 155497 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54985 /* 155501 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54986 /* 155505 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54987 /* 155507 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54988 /* 155514 */ // (fsub:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54989 /* 155514 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ128rm),
54990 /* 155517 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54991 /* 155519 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54992 /* 155521 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54993 /* 155525 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54994 /* 155530 */ GIR_RootConstrainSelectedInstOperands,
54995 /* 155531 */ // GIR_Coverage, 6547,
54996 /* 155531 */ GIR_EraseRootFromParent_Done,
54997 /* 155532 */ // Label 3424: @155532
54998 /* 155532 */ GIM_Try, /*On fail goto*//*Label 3425*/ GIMT_Encode4(155563), // Rule ID 2219 //
54999 /* 155537 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
55000 /* 155540 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55001 /* 155544 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55002 /* 155548 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55003 /* 155552 */ // (fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VSUBPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
55004 /* 155552 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDrr),
55005 /* 155557 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55006 /* 155561 */ GIR_RootConstrainSelectedInstOperands,
55007 /* 155562 */ // GIR_Coverage, 2219,
55008 /* 155562 */ GIR_Done,
55009 /* 155563 */ // Label 3425: @155563
55010 /* 155563 */ GIM_Try, /*On fail goto*//*Label 3426*/ GIMT_Encode4(155594), // Rule ID 2235 //
55011 /* 155568 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
55012 /* 155571 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55013 /* 155575 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55014 /* 155579 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55015 /* 155583 */ // (fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (SUBPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
55016 /* 155583 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBPDrr),
55017 /* 155588 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55018 /* 155592 */ GIR_RootConstrainSelectedInstOperands,
55019 /* 155593 */ // GIR_Coverage, 2235,
55020 /* 155593 */ GIR_Done,
55021 /* 155594 */ // Label 3426: @155594
55022 /* 155594 */ GIM_Try, /*On fail goto*//*Label 3427*/ GIMT_Encode4(155625), // Rule ID 6543 //
55023 /* 155599 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
55024 /* 155602 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55025 /* 155606 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55026 /* 155610 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55027 /* 155614 */ // (fsub:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VSUBPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
55028 /* 155614 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ128rr),
55029 /* 155619 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55030 /* 155623 */ GIR_RootConstrainSelectedInstOperands,
55031 /* 155624 */ // GIR_Coverage, 6543,
55032 /* 155624 */ GIR_Done,
55033 /* 155625 */ // Label 3427: @155625
55034 /* 155625 */ GIM_Reject,
55035 /* 155626 */ // Label 3422: @155626
55036 /* 155626 */ GIM_Reject,
55037 /* 155627 */ // Label 3364: @155627
55038 /* 155627 */ GIM_Try, /*On fail goto*//*Label 3428*/ GIMT_Encode4(155856),
55039 /* 155632 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
55040 /* 155635 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
55041 /* 155638 */ GIM_Try, /*On fail goto*//*Label 3429*/ GIMT_Encode4(155700), // Rule ID 2217 //
55042 /* 155643 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
55043 /* 155646 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55044 /* 155650 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55045 /* 155654 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55046 /* 155658 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55047 /* 155662 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55048 /* 155665 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55049 /* 155669 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55050 /* 155673 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55051 /* 155675 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55052 /* 155682 */ // (fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55053 /* 155682 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSrm),
55054 /* 155685 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55055 /* 155687 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55056 /* 155689 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55057 /* 155693 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55058 /* 155698 */ GIR_RootConstrainSelectedInstOperands,
55059 /* 155699 */ // GIR_Coverage, 2217,
55060 /* 155699 */ GIR_EraseRootFromParent_Done,
55061 /* 155700 */ // Label 3429: @155700
55062 /* 155700 */ GIM_Try, /*On fail goto*//*Label 3430*/ GIMT_Encode4(155762), // Rule ID 6523 //
55063 /* 155705 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
55064 /* 155708 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55065 /* 155712 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55066 /* 155716 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55067 /* 155720 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55068 /* 155724 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55069 /* 155727 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55070 /* 155731 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55071 /* 155735 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55072 /* 155737 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55073 /* 155744 */ // (fsub:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55074 /* 155744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ128rm),
55075 /* 155747 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55076 /* 155749 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55077 /* 155751 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55078 /* 155755 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55079 /* 155760 */ GIR_RootConstrainSelectedInstOperands,
55080 /* 155761 */ // GIR_Coverage, 6523,
55081 /* 155761 */ GIR_EraseRootFromParent_Done,
55082 /* 155762 */ // Label 3430: @155762
55083 /* 155762 */ GIM_Try, /*On fail goto*//*Label 3431*/ GIMT_Encode4(155793), // Rule ID 2215 //
55084 /* 155767 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
55085 /* 155770 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55086 /* 155774 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55087 /* 155778 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55088 /* 155782 */ // (fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VSUBPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
55089 /* 155782 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSrr),
55090 /* 155787 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55091 /* 155791 */ GIR_RootConstrainSelectedInstOperands,
55092 /* 155792 */ // GIR_Coverage, 2215,
55093 /* 155792 */ GIR_Done,
55094 /* 155793 */ // Label 3431: @155793
55095 /* 155793 */ GIM_Try, /*On fail goto*//*Label 3432*/ GIMT_Encode4(155824), // Rule ID 2231 //
55096 /* 155798 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
55097 /* 155801 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55098 /* 155805 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55099 /* 155809 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55100 /* 155813 */ // (fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (SUBPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
55101 /* 155813 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBPSrr),
55102 /* 155818 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55103 /* 155822 */ GIR_RootConstrainSelectedInstOperands,
55104 /* 155823 */ // GIR_Coverage, 2231,
55105 /* 155823 */ GIR_Done,
55106 /* 155824 */ // Label 3432: @155824
55107 /* 155824 */ GIM_Try, /*On fail goto*//*Label 3433*/ GIMT_Encode4(155855), // Rule ID 6519 //
55108 /* 155829 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
55109 /* 155832 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55110 /* 155836 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55111 /* 155840 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55112 /* 155844 */ // (fsub:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VSUBPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
55113 /* 155844 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ128rr),
55114 /* 155849 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55115 /* 155853 */ GIR_RootConstrainSelectedInstOperands,
55116 /* 155854 */ // GIR_Coverage, 6519,
55117 /* 155854 */ GIR_Done,
55118 /* 155855 */ // Label 3433: @155855
55119 /* 155855 */ GIM_Reject,
55120 /* 155856 */ // Label 3428: @155856
55121 /* 155856 */ GIM_Reject,
55122 /* 155857 */ // Label 3365: @155857
55123 /* 155857 */ GIM_Try, /*On fail goto*//*Label 3434*/ GIMT_Encode4(156055),
55124 /* 155862 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
55125 /* 155865 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
55126 /* 155868 */ GIM_Try, /*On fail goto*//*Label 3435*/ GIMT_Encode4(155930), // Rule ID 2229 //
55127 /* 155873 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
55128 /* 155876 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55129 /* 155880 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55130 /* 155884 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55131 /* 155888 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55132 /* 155892 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55133 /* 155895 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55134 /* 155899 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55135 /* 155903 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55136 /* 155905 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55137 /* 155912 */ // (fsub:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55138 /* 155912 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDYrm),
55139 /* 155915 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55140 /* 155917 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55141 /* 155919 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55142 /* 155923 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55143 /* 155928 */ GIR_RootConstrainSelectedInstOperands,
55144 /* 155929 */ // GIR_Coverage, 2229,
55145 /* 155929 */ GIR_EraseRootFromParent_Done,
55146 /* 155930 */ // Label 3435: @155930
55147 /* 155930 */ GIM_Try, /*On fail goto*//*Label 3436*/ GIMT_Encode4(155992), // Rule ID 6559 //
55148 /* 155935 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
55149 /* 155938 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55150 /* 155942 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55151 /* 155946 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55152 /* 155950 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55153 /* 155954 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55154 /* 155957 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55155 /* 155961 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55156 /* 155965 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55157 /* 155967 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55158 /* 155974 */ // (fsub:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55159 /* 155974 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ256rm),
55160 /* 155977 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55161 /* 155979 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55162 /* 155981 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55163 /* 155985 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55164 /* 155990 */ GIR_RootConstrainSelectedInstOperands,
55165 /* 155991 */ // GIR_Coverage, 6559,
55166 /* 155991 */ GIR_EraseRootFromParent_Done,
55167 /* 155992 */ // Label 3436: @155992
55168 /* 155992 */ GIM_Try, /*On fail goto*//*Label 3437*/ GIMT_Encode4(156023), // Rule ID 2227 //
55169 /* 155997 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
55170 /* 156000 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55171 /* 156004 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55172 /* 156008 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55173 /* 156012 */ // (fsub:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VSUBPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
55174 /* 156012 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDYrr),
55175 /* 156017 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55176 /* 156021 */ GIR_RootConstrainSelectedInstOperands,
55177 /* 156022 */ // GIR_Coverage, 2227,
55178 /* 156022 */ GIR_Done,
55179 /* 156023 */ // Label 3437: @156023
55180 /* 156023 */ GIM_Try, /*On fail goto*//*Label 3438*/ GIMT_Encode4(156054), // Rule ID 6555 //
55181 /* 156028 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
55182 /* 156031 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55183 /* 156035 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55184 /* 156039 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55185 /* 156043 */ // (fsub:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VSUBPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
55186 /* 156043 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ256rr),
55187 /* 156048 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55188 /* 156052 */ GIR_RootConstrainSelectedInstOperands,
55189 /* 156053 */ // GIR_Coverage, 6555,
55190 /* 156053 */ GIR_Done,
55191 /* 156054 */ // Label 3438: @156054
55192 /* 156054 */ GIM_Reject,
55193 /* 156055 */ // Label 3434: @156055
55194 /* 156055 */ GIM_Reject,
55195 /* 156056 */ // Label 3366: @156056
55196 /* 156056 */ GIM_Try, /*On fail goto*//*Label 3439*/ GIMT_Encode4(156153),
55197 /* 156061 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
55198 /* 156064 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
55199 /* 156067 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55200 /* 156071 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55201 /* 156075 */ GIM_Try, /*On fail goto*//*Label 3440*/ GIMT_Encode4(156129), // Rule ID 6583 //
55202 /* 156080 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
55203 /* 156083 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55204 /* 156087 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55205 /* 156091 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55206 /* 156094 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55207 /* 156098 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55208 /* 156102 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55209 /* 156104 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55210 /* 156111 */ // (fsub:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55211 /* 156111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ128rm),
55212 /* 156114 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55213 /* 156116 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55214 /* 156118 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55215 /* 156122 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55216 /* 156127 */ GIR_RootConstrainSelectedInstOperands,
55217 /* 156128 */ // GIR_Coverage, 6583,
55218 /* 156128 */ GIR_EraseRootFromParent_Done,
55219 /* 156129 */ // Label 3440: @156129
55220 /* 156129 */ GIM_Try, /*On fail goto*//*Label 3441*/ GIMT_Encode4(156152), // Rule ID 6579 //
55221 /* 156134 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
55222 /* 156137 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55223 /* 156141 */ // (fsub:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VSUBPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
55224 /* 156141 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ128rr),
55225 /* 156146 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55226 /* 156150 */ GIR_RootConstrainSelectedInstOperands,
55227 /* 156151 */ // GIR_Coverage, 6579,
55228 /* 156151 */ GIR_Done,
55229 /* 156152 */ // Label 3441: @156152
55230 /* 156152 */ GIM_Reject,
55231 /* 156153 */ // Label 3439: @156153
55232 /* 156153 */ GIM_Reject,
55233 /* 156154 */ // Label 3367: @156154
55234 /* 156154 */ GIM_Try, /*On fail goto*//*Label 3442*/ GIMT_Encode4(156352),
55235 /* 156159 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
55236 /* 156162 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
55237 /* 156165 */ GIM_Try, /*On fail goto*//*Label 3443*/ GIMT_Encode4(156227), // Rule ID 2225 //
55238 /* 156170 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
55239 /* 156173 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55240 /* 156177 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55241 /* 156181 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55242 /* 156185 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55243 /* 156189 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55244 /* 156192 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55245 /* 156196 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55246 /* 156200 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55247 /* 156202 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55248 /* 156209 */ // (fsub:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55249 /* 156209 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSYrm),
55250 /* 156212 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55251 /* 156214 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55252 /* 156216 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55253 /* 156220 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55254 /* 156225 */ GIR_RootConstrainSelectedInstOperands,
55255 /* 156226 */ // GIR_Coverage, 2225,
55256 /* 156226 */ GIR_EraseRootFromParent_Done,
55257 /* 156227 */ // Label 3443: @156227
55258 /* 156227 */ GIM_Try, /*On fail goto*//*Label 3444*/ GIMT_Encode4(156289), // Rule ID 6535 //
55259 /* 156232 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
55260 /* 156235 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55261 /* 156239 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55262 /* 156243 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55263 /* 156247 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55264 /* 156251 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55265 /* 156254 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55266 /* 156258 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55267 /* 156262 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55268 /* 156264 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55269 /* 156271 */ // (fsub:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55270 /* 156271 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ256rm),
55271 /* 156274 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55272 /* 156276 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55273 /* 156278 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55274 /* 156282 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55275 /* 156287 */ GIR_RootConstrainSelectedInstOperands,
55276 /* 156288 */ // GIR_Coverage, 6535,
55277 /* 156288 */ GIR_EraseRootFromParent_Done,
55278 /* 156289 */ // Label 3444: @156289
55279 /* 156289 */ GIM_Try, /*On fail goto*//*Label 3445*/ GIMT_Encode4(156320), // Rule ID 2223 //
55280 /* 156294 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
55281 /* 156297 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55282 /* 156301 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55283 /* 156305 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55284 /* 156309 */ // (fsub:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VSUBPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
55285 /* 156309 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSYrr),
55286 /* 156314 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55287 /* 156318 */ GIR_RootConstrainSelectedInstOperands,
55288 /* 156319 */ // GIR_Coverage, 2223,
55289 /* 156319 */ GIR_Done,
55290 /* 156320 */ // Label 3445: @156320
55291 /* 156320 */ GIM_Try, /*On fail goto*//*Label 3446*/ GIMT_Encode4(156351), // Rule ID 6531 //
55292 /* 156325 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
55293 /* 156328 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55294 /* 156332 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55295 /* 156336 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55296 /* 156340 */ // (fsub:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VSUBPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
55297 /* 156340 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ256rr),
55298 /* 156345 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55299 /* 156349 */ GIR_RootConstrainSelectedInstOperands,
55300 /* 156350 */ // GIR_Coverage, 6531,
55301 /* 156350 */ GIR_Done,
55302 /* 156351 */ // Label 3446: @156351
55303 /* 156351 */ GIM_Reject,
55304 /* 156352 */ // Label 3442: @156352
55305 /* 156352 */ GIM_Reject,
55306 /* 156353 */ // Label 3368: @156353
55307 /* 156353 */ GIM_Try, /*On fail goto*//*Label 3447*/ GIMT_Encode4(156450),
55308 /* 156358 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
55309 /* 156361 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
55310 /* 156364 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55311 /* 156368 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55312 /* 156372 */ GIM_Try, /*On fail goto*//*Label 3448*/ GIMT_Encode4(156426), // Rule ID 6511 //
55313 /* 156377 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55314 /* 156380 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55315 /* 156384 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55316 /* 156388 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55317 /* 156391 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55318 /* 156395 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55319 /* 156399 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55320 /* 156401 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55321 /* 156408 */ // (fsub:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55322 /* 156408 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZrm),
55323 /* 156411 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55324 /* 156413 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55325 /* 156415 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55326 /* 156419 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55327 /* 156424 */ GIR_RootConstrainSelectedInstOperands,
55328 /* 156425 */ // GIR_Coverage, 6511,
55329 /* 156425 */ GIR_EraseRootFromParent_Done,
55330 /* 156426 */ // Label 3448: @156426
55331 /* 156426 */ GIM_Try, /*On fail goto*//*Label 3449*/ GIMT_Encode4(156449), // Rule ID 6507 //
55332 /* 156431 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55333 /* 156434 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55334 /* 156438 */ // (fsub:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VSUBPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
55335 /* 156438 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZrr),
55336 /* 156443 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55337 /* 156447 */ GIR_RootConstrainSelectedInstOperands,
55338 /* 156448 */ // GIR_Coverage, 6507,
55339 /* 156448 */ GIR_Done,
55340 /* 156449 */ // Label 3449: @156449
55341 /* 156449 */ GIM_Reject,
55342 /* 156450 */ // Label 3447: @156450
55343 /* 156450 */ GIM_Reject,
55344 /* 156451 */ // Label 3369: @156451
55345 /* 156451 */ GIM_Try, /*On fail goto*//*Label 3450*/ GIMT_Encode4(156548),
55346 /* 156456 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
55347 /* 156459 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
55348 /* 156462 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55349 /* 156466 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55350 /* 156470 */ GIM_Try, /*On fail goto*//*Label 3451*/ GIMT_Encode4(156524), // Rule ID 6595 //
55351 /* 156475 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
55352 /* 156478 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55353 /* 156482 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55354 /* 156486 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55355 /* 156489 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55356 /* 156493 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55357 /* 156497 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55358 /* 156499 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55359 /* 156506 */ // (fsub:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55360 /* 156506 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ256rm),
55361 /* 156509 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55362 /* 156511 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55363 /* 156513 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55364 /* 156517 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55365 /* 156522 */ GIR_RootConstrainSelectedInstOperands,
55366 /* 156523 */ // GIR_Coverage, 6595,
55367 /* 156523 */ GIR_EraseRootFromParent_Done,
55368 /* 156524 */ // Label 3451: @156524
55369 /* 156524 */ GIM_Try, /*On fail goto*//*Label 3452*/ GIMT_Encode4(156547), // Rule ID 6591 //
55370 /* 156529 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
55371 /* 156532 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55372 /* 156536 */ // (fsub:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VSUBPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
55373 /* 156536 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ256rr),
55374 /* 156541 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55375 /* 156545 */ GIR_RootConstrainSelectedInstOperands,
55376 /* 156546 */ // GIR_Coverage, 6591,
55377 /* 156546 */ GIR_Done,
55378 /* 156547 */ // Label 3452: @156547
55379 /* 156547 */ GIM_Reject,
55380 /* 156548 */ // Label 3450: @156548
55381 /* 156548 */ GIM_Reject,
55382 /* 156549 */ // Label 3370: @156549
55383 /* 156549 */ GIM_Try, /*On fail goto*//*Label 3453*/ GIMT_Encode4(156646),
55384 /* 156554 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
55385 /* 156557 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
55386 /* 156560 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55387 /* 156564 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55388 /* 156568 */ GIM_Try, /*On fail goto*//*Label 3454*/ GIMT_Encode4(156622), // Rule ID 6499 //
55389 /* 156573 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55390 /* 156576 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55391 /* 156580 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55392 /* 156584 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55393 /* 156587 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55394 /* 156591 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55395 /* 156595 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55396 /* 156597 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55397 /* 156604 */ // (fsub:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55398 /* 156604 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZrm),
55399 /* 156607 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55400 /* 156609 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55401 /* 156611 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55402 /* 156615 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55403 /* 156620 */ GIR_RootConstrainSelectedInstOperands,
55404 /* 156621 */ // GIR_Coverage, 6499,
55405 /* 156621 */ GIR_EraseRootFromParent_Done,
55406 /* 156622 */ // Label 3454: @156622
55407 /* 156622 */ GIM_Try, /*On fail goto*//*Label 3455*/ GIMT_Encode4(156645), // Rule ID 6495 //
55408 /* 156627 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55409 /* 156630 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55410 /* 156634 */ // (fsub:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VSUBPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
55411 /* 156634 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZrr),
55412 /* 156639 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55413 /* 156643 */ GIR_RootConstrainSelectedInstOperands,
55414 /* 156644 */ // GIR_Coverage, 6495,
55415 /* 156644 */ GIR_Done,
55416 /* 156645 */ // Label 3455: @156645
55417 /* 156645 */ GIM_Reject,
55418 /* 156646 */ // Label 3453: @156646
55419 /* 156646 */ GIM_Reject,
55420 /* 156647 */ // Label 3371: @156647
55421 /* 156647 */ GIM_Try, /*On fail goto*//*Label 3456*/ GIMT_Encode4(156744),
55422 /* 156652 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
55423 /* 156655 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
55424 /* 156658 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55425 /* 156662 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55426 /* 156666 */ GIM_Try, /*On fail goto*//*Label 3457*/ GIMT_Encode4(156720), // Rule ID 6571 //
55427 /* 156671 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
55428 /* 156674 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55429 /* 156678 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55430 /* 156682 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55431 /* 156685 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55432 /* 156689 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55433 /* 156693 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55434 /* 156695 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55435 /* 156702 */ // (fsub:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55436 /* 156702 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZrm),
55437 /* 156705 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55438 /* 156707 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55439 /* 156709 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55440 /* 156713 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55441 /* 156718 */ GIR_RootConstrainSelectedInstOperands,
55442 /* 156719 */ // GIR_Coverage, 6571,
55443 /* 156719 */ GIR_EraseRootFromParent_Done,
55444 /* 156720 */ // Label 3457: @156720
55445 /* 156720 */ GIM_Try, /*On fail goto*//*Label 3458*/ GIMT_Encode4(156743), // Rule ID 6567 //
55446 /* 156725 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
55447 /* 156728 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55448 /* 156732 */ // (fsub:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VSUBPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
55449 /* 156732 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZrr),
55450 /* 156737 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55451 /* 156741 */ GIR_RootConstrainSelectedInstOperands,
55452 /* 156742 */ // GIR_Coverage, 6567,
55453 /* 156742 */ GIR_Done,
55454 /* 156743 */ // Label 3458: @156743
55455 /* 156743 */ GIM_Reject,
55456 /* 156744 */ // Label 3456: @156744
55457 /* 156744 */ GIM_Reject,
55458 /* 156745 */ // Label 3372: @156745
55459 /* 156745 */ GIM_Reject,
55460 /* 156746 */ // Label 44: @156746
55461 /* 156746 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 3472*/ GIMT_Encode4(162659),
55462 /* 156757 */ /*GILLT_s16*//*Label 3459*/ GIMT_Encode4(156841),
55463 /* 156761 */ /*GILLT_s32*//*Label 3460*/ GIMT_Encode4(157001),
55464 /* 156765 */ /*GILLT_s64*//*Label 3461*/ GIMT_Encode4(158398),
55465 /* 156769 */ /*GILLT_s80*//*Label 3462*/ GIMT_Encode4(159939), GIMT_Encode4(0), GIMT_Encode4(0),
55466 /* 156781 */ /*GILLT_v2s64*//*Label 3463*/ GIMT_Encode4(160505), GIMT_Encode4(0),
55467 /* 156789 */ /*GILLT_v4s32*//*Label 3464*/ GIMT_Encode4(160859),
55468 /* 156793 */ /*GILLT_v4s64*//*Label 3465*/ GIMT_Encode4(161213), GIMT_Encode4(0),
55469 /* 156801 */ /*GILLT_v8s16*//*Label 3466*/ GIMT_Encode4(161536),
55470 /* 156805 */ /*GILLT_v8s32*//*Label 3467*/ GIMT_Encode4(161696),
55471 /* 156809 */ /*GILLT_v8s64*//*Label 3468*/ GIMT_Encode4(162019), GIMT_Encode4(0), GIMT_Encode4(0),
55472 /* 156821 */ /*GILLT_v16s16*//*Label 3469*/ GIMT_Encode4(162179),
55473 /* 156825 */ /*GILLT_v16s32*//*Label 3470*/ GIMT_Encode4(162339), GIMT_Encode4(0), GIMT_Encode4(0),
55474 /* 156837 */ /*GILLT_v32s16*//*Label 3471*/ GIMT_Encode4(162499),
55475 /* 156841 */ // Label 3459: @156841
55476 /* 156841 */ GIM_Try, /*On fail goto*//*Label 3473*/ GIMT_Encode4(157000),
55477 /* 156846 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
55478 /* 156849 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
55479 /* 156852 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
55480 /* 156856 */ GIM_Try, /*On fail goto*//*Label 3474*/ GIMT_Encode4(156914), // Rule ID 24338 //
55481 /* 156861 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
55482 /* 156864 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55483 /* 156868 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55484 /* 156872 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55485 /* 156875 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55486 /* 156879 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55487 /* 156883 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
55488 /* 156887 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55489 /* 156889 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55490 /* 156896 */ // (fmul:{ *:[f16] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR16X:{ *:[f16] }:$src1) => (VMULSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55491 /* 156896 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSHZrm),
55492 /* 156899 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55493 /* 156901 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55494 /* 156903 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55495 /* 156907 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55496 /* 156912 */ GIR_RootConstrainSelectedInstOperands,
55497 /* 156913 */ // GIR_Coverage, 24338,
55498 /* 156913 */ GIR_EraseRootFromParent_Done,
55499 /* 156914 */ // Label 3474: @156914
55500 /* 156914 */ GIM_Try, /*On fail goto*//*Label 3475*/ GIMT_Encode4(156972), // Rule ID 6016 //
55501 /* 156919 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
55502 /* 156922 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
55503 /* 156926 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55504 /* 156930 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55505 /* 156934 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55506 /* 156937 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55507 /* 156941 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55508 /* 156945 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55509 /* 156947 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55510 /* 156954 */ // (fmul:{ *:[f16] } FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55511 /* 156954 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSHZrm),
55512 /* 156957 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55513 /* 156959 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55514 /* 156961 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55515 /* 156965 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55516 /* 156970 */ GIR_RootConstrainSelectedInstOperands,
55517 /* 156971 */ // GIR_Coverage, 6016,
55518 /* 156971 */ GIR_EraseRootFromParent_Done,
55519 /* 156972 */ // Label 3475: @156972
55520 /* 156972 */ GIM_Try, /*On fail goto*//*Label 3476*/ GIMT_Encode4(156999), // Rule ID 6014 //
55521 /* 156977 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
55522 /* 156980 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
55523 /* 156984 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
55524 /* 156988 */ // (fmul:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VMULSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
55525 /* 156988 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSHZrr),
55526 /* 156993 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55527 /* 156997 */ GIR_RootConstrainSelectedInstOperands,
55528 /* 156998 */ // GIR_Coverage, 6014,
55529 /* 156998 */ GIR_Done,
55530 /* 156999 */ // Label 3476: @156999
55531 /* 156999 */ GIM_Reject,
55532 /* 157000 */ // Label 3473: @157000
55533 /* 157000 */ GIM_Reject,
55534 /* 157001 */ // Label 3460: @157001
55535 /* 157001 */ GIM_Try, /*On fail goto*//*Label 3477*/ GIMT_Encode4(158397),
55536 /* 157006 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
55537 /* 157009 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
55538 /* 157012 */ GIM_Try, /*On fail goto*//*Label 3478*/ GIMT_Encode4(157094), // Rule ID 26106 //
55539 /* 157017 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
55540 /* 157020 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55541 /* 157024 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55542 /* 157028 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
55543 /* 157032 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
55544 /* 157036 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
55545 /* 157040 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
55546 /* 157044 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
55547 /* 157047 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
55548 /* 157051 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55549 /* 157058 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
55550 /* 157062 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55551 /* 157066 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
55552 /* 157068 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55553 /* 157075 */ // (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)
55554 /* 157075 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
55555 /* 157078 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55556 /* 157080 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55557 /* 157082 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55558 /* 157086 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
55559 /* 157092 */ GIR_RootConstrainSelectedInstOperands,
55560 /* 157093 */ // GIR_Coverage, 26106,
55561 /* 157093 */ GIR_EraseRootFromParent_Done,
55562 /* 157094 */ // Label 3478: @157094
55563 /* 157094 */ GIM_Try, /*On fail goto*//*Label 3479*/ GIMT_Encode4(157176), // Rule ID 26107 //
55564 /* 157099 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
55565 /* 157102 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55566 /* 157106 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55567 /* 157110 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
55568 /* 157114 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
55569 /* 157118 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
55570 /* 157122 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
55571 /* 157126 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
55572 /* 157129 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
55573 /* 157133 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55574 /* 157140 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
55575 /* 157144 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55576 /* 157148 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
55577 /* 157150 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55578 /* 157157 */ // (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)
55579 /* 157157 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
55580 /* 157160 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55581 /* 157162 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55582 /* 157164 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55583 /* 157168 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
55584 /* 157174 */ GIR_RootConstrainSelectedInstOperands,
55585 /* 157175 */ // GIR_Coverage, 26107,
55586 /* 157175 */ GIR_EraseRootFromParent_Done,
55587 /* 157176 */ // Label 3479: @157176
55588 /* 157176 */ GIM_Try, /*On fail goto*//*Label 3480*/ GIMT_Encode4(157258), // Rule ID 26108 //
55589 /* 157181 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55590 /* 157184 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
55591 /* 157188 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55592 /* 157192 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
55593 /* 157196 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
55594 /* 157200 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
55595 /* 157204 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
55596 /* 157208 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
55597 /* 157211 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
55598 /* 157215 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55599 /* 157222 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
55600 /* 157226 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
55601 /* 157230 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
55602 /* 157232 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55603 /* 157239 */ // (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)
55604 /* 157239 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
55605 /* 157242 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55606 /* 157244 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55607 /* 157246 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55608 /* 157250 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
55609 /* 157256 */ GIR_RootConstrainSelectedInstOperands,
55610 /* 157257 */ // GIR_Coverage, 26108,
55611 /* 157257 */ GIR_EraseRootFromParent_Done,
55612 /* 157258 */ // Label 3480: @157258
55613 /* 157258 */ GIM_Try, /*On fail goto*//*Label 3481*/ GIMT_Encode4(157340), // Rule ID 22540 //
55614 /* 157263 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
55615 /* 157266 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55616 /* 157270 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55617 /* 157274 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55618 /* 157278 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
55619 /* 157282 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
55620 /* 157286 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
55621 /* 157290 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
55622 /* 157294 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
55623 /* 157297 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
55624 /* 157301 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55625 /* 157308 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
55626 /* 157312 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
55627 /* 157314 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55628 /* 157321 */ // (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)
55629 /* 157321 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
55630 /* 157324 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55631 /* 157326 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55632 /* 157328 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55633 /* 157332 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
55634 /* 157338 */ GIR_RootConstrainSelectedInstOperands,
55635 /* 157339 */ // GIR_Coverage, 22540,
55636 /* 157339 */ GIR_EraseRootFromParent_Done,
55637 /* 157340 */ // Label 3481: @157340
55638 /* 157340 */ GIM_Try, /*On fail goto*//*Label 3482*/ GIMT_Encode4(157422), // Rule ID 22541 //
55639 /* 157345 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
55640 /* 157348 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55641 /* 157352 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55642 /* 157356 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55643 /* 157360 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
55644 /* 157364 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
55645 /* 157368 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
55646 /* 157372 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
55647 /* 157376 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
55648 /* 157379 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
55649 /* 157383 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55650 /* 157390 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
55651 /* 157394 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
55652 /* 157396 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55653 /* 157403 */ // (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)
55654 /* 157403 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
55655 /* 157406 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55656 /* 157408 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55657 /* 157410 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55658 /* 157414 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
55659 /* 157420 */ GIR_RootConstrainSelectedInstOperands,
55660 /* 157421 */ // GIR_Coverage, 22541,
55661 /* 157421 */ GIR_EraseRootFromParent_Done,
55662 /* 157422 */ // Label 3482: @157422
55663 /* 157422 */ GIM_Try, /*On fail goto*//*Label 3483*/ GIMT_Encode4(157504), // Rule ID 22542 //
55664 /* 157427 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55665 /* 157430 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
55666 /* 157434 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
55667 /* 157438 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55668 /* 157442 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
55669 /* 157446 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
55670 /* 157450 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
55671 /* 157454 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
55672 /* 157458 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
55673 /* 157461 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
55674 /* 157465 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55675 /* 157472 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
55676 /* 157476 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
55677 /* 157478 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55678 /* 157485 */ // (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)
55679 /* 157485 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
55680 /* 157488 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55681 /* 157490 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55682 /* 157492 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55683 /* 157496 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
55684 /* 157502 */ GIR_RootConstrainSelectedInstOperands,
55685 /* 157503 */ // GIR_Coverage, 22542,
55686 /* 157503 */ GIR_EraseRootFromParent_Done,
55687 /* 157504 */ // Label 3483: @157504
55688 /* 157504 */ GIM_Try, /*On fail goto*//*Label 3484*/ GIMT_Encode4(157569), // Rule ID 23351 //
55689 /* 157509 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
55690 /* 157512 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55691 /* 157516 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55692 /* 157520 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55693 /* 157524 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
55694 /* 157531 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55695 /* 157535 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55696 /* 157539 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55697 /* 157541 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55698 /* 157548 */ // (fmul:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (MUL_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55699 /* 157548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m32),
55700 /* 157551 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55701 /* 157553 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55702 /* 157555 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55703 /* 157559 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55704 /* 157562 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55705 /* 157567 */ GIR_RootConstrainSelectedInstOperands,
55706 /* 157568 */ // GIR_Coverage, 23351,
55707 /* 157568 */ GIR_EraseRootFromParent_Done,
55708 /* 157569 */ // Label 3484: @157569
55709 /* 157569 */ GIM_Try, /*On fail goto*//*Label 3485*/ GIMT_Encode4(157634), // Rule ID 23353 //
55710 /* 157574 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
55711 /* 157577 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55712 /* 157581 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55713 /* 157585 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55714 /* 157589 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55715 /* 157596 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55716 /* 157600 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55717 /* 157604 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55718 /* 157606 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55719 /* 157613 */ // (fmul:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (MUL_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55720 /* 157613 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m32),
55721 /* 157616 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55722 /* 157618 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55723 /* 157620 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55724 /* 157624 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55725 /* 157627 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55726 /* 157632 */ GIR_RootConstrainSelectedInstOperands,
55727 /* 157633 */ // GIR_Coverage, 23353,
55728 /* 157633 */ GIR_EraseRootFromParent_Done,
55729 /* 157634 */ // Label 3485: @157634
55730 /* 157634 */ GIM_Try, /*On fail goto*//*Label 3486*/ GIMT_Encode4(157699), // Rule ID 23341 //
55731 /* 157639 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
55732 /* 157642 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55733 /* 157646 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55734 /* 157650 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55735 /* 157654 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55736 /* 157657 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55737 /* 157661 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55738 /* 157665 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55739 /* 157669 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55740 /* 157671 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55741 /* 157678 */ // (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)
55742 /* 157678 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32m),
55743 /* 157681 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55744 /* 157683 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55745 /* 157685 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55746 /* 157689 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55747 /* 157692 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55748 /* 157697 */ GIR_RootConstrainSelectedInstOperands,
55749 /* 157698 */ // GIR_Coverage, 23341,
55750 /* 157698 */ GIR_EraseRootFromParent_Done,
55751 /* 157699 */ // Label 3486: @157699
55752 /* 157699 */ GIM_Try, /*On fail goto*//*Label 3487*/ GIMT_Encode4(157761), // Rule ID 23484 //
55753 /* 157704 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
55754 /* 157707 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55755 /* 157711 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55756 /* 157715 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55757 /* 157719 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55758 /* 157722 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55759 /* 157726 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55760 /* 157730 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55761 /* 157734 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55762 /* 157736 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55763 /* 157743 */ // (fmul:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (VMULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55764 /* 157743 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
55765 /* 157746 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55766 /* 157748 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55767 /* 157750 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55768 /* 157754 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55769 /* 157759 */ GIR_RootConstrainSelectedInstOperands,
55770 /* 157760 */ // GIR_Coverage, 23484,
55771 /* 157760 */ GIR_EraseRootFromParent_Done,
55772 /* 157761 */ // Label 3487: @157761
55773 /* 157761 */ GIM_Try, /*On fail goto*//*Label 3488*/ GIMT_Encode4(157823), // Rule ID 23488 //
55774 /* 157766 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
55775 /* 157769 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55776 /* 157773 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55777 /* 157777 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55778 /* 157781 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55779 /* 157784 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55780 /* 157788 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55781 /* 157792 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55782 /* 157796 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55783 /* 157798 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55784 /* 157805 */ // (fmul:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (MULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55785 /* 157805 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
55786 /* 157808 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55787 /* 157810 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55788 /* 157812 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55789 /* 157816 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55790 /* 157821 */ GIR_RootConstrainSelectedInstOperands,
55791 /* 157822 */ // GIR_Coverage, 23488,
55792 /* 157822 */ GIR_EraseRootFromParent_Done,
55793 /* 157823 */ // Label 3488: @157823
55794 /* 157823 */ GIM_Try, /*On fail goto*//*Label 3489*/ GIMT_Encode4(157885), // Rule ID 24334 //
55795 /* 157828 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55796 /* 157831 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
55797 /* 157835 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55798 /* 157839 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55799 /* 157843 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55800 /* 157846 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55801 /* 157850 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55802 /* 157854 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
55803 /* 157858 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55804 /* 157860 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55805 /* 157867 */ // (fmul:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32X:{ *:[f32] }:$src1) => (VMULSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55806 /* 157867 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
55807 /* 157870 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55808 /* 157872 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55809 /* 157874 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55810 /* 157878 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55811 /* 157883 */ GIR_RootConstrainSelectedInstOperands,
55812 /* 157884 */ // GIR_Coverage, 24334,
55813 /* 157884 */ GIR_EraseRootFromParent_Done,
55814 /* 157885 */ // Label 3489: @157885
55815 /* 157885 */ GIM_Try, /*On fail goto*//*Label 3490*/ GIMT_Encode4(157950), // Rule ID 987 //
55816 /* 157890 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
55817 /* 157893 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55818 /* 157897 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55819 /* 157901 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55820 /* 157905 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55821 /* 157909 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
55822 /* 157916 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55823 /* 157920 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55824 /* 157922 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55825 /* 157929 */ // (fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55826 /* 157929 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m32),
55827 /* 157932 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55828 /* 157934 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55829 /* 157936 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55830 /* 157940 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55831 /* 157943 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55832 /* 157948 */ GIR_RootConstrainSelectedInstOperands,
55833 /* 157949 */ // GIR_Coverage, 987,
55834 /* 157949 */ GIR_EraseRootFromParent_Done,
55835 /* 157950 */ // Label 3490: @157950
55836 /* 157950 */ GIM_Try, /*On fail goto*//*Label 3491*/ GIMT_Encode4(158015), // Rule ID 989 //
55837 /* 157955 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
55838 /* 157958 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55839 /* 157962 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55840 /* 157966 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55841 /* 157970 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55842 /* 157974 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55843 /* 157981 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55844 /* 157985 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55845 /* 157987 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55846 /* 157994 */ // (fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55847 /* 157994 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m32),
55848 /* 157997 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55849 /* 157999 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55850 /* 158001 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55851 /* 158005 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55852 /* 158008 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55853 /* 158013 */ GIR_RootConstrainSelectedInstOperands,
55854 /* 158014 */ // GIR_Coverage, 989,
55855 /* 158014 */ GIR_EraseRootFromParent_Done,
55856 /* 158015 */ // Label 3491: @158015
55857 /* 158015 */ GIM_Try, /*On fail goto*//*Label 3492*/ GIMT_Encode4(158080), // Rule ID 977 //
55858 /* 158020 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
55859 /* 158023 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55860 /* 158027 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55861 /* 158031 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55862 /* 158035 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55863 /* 158039 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55864 /* 158042 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55865 /* 158046 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55866 /* 158050 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55867 /* 158052 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55868 /* 158059 */ // (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)
55869 /* 158059 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32m),
55870 /* 158062 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55871 /* 158064 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55872 /* 158066 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55873 /* 158070 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55874 /* 158073 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55875 /* 158078 */ GIR_RootConstrainSelectedInstOperands,
55876 /* 158079 */ // GIR_Coverage, 977,
55877 /* 158079 */ GIR_EraseRootFromParent_Done,
55878 /* 158080 */ // Label 3492: @158080
55879 /* 158080 */ GIM_Try, /*On fail goto*//*Label 3493*/ GIMT_Encode4(158142), // Rule ID 2201 //
55880 /* 158085 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
55881 /* 158088 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55882 /* 158092 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55883 /* 158096 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55884 /* 158100 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55885 /* 158104 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55886 /* 158107 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55887 /* 158111 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55888 /* 158115 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55889 /* 158117 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55890 /* 158124 */ // (fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55891 /* 158124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
55892 /* 158127 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55893 /* 158129 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55894 /* 158131 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55895 /* 158135 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55896 /* 158140 */ GIR_RootConstrainSelectedInstOperands,
55897 /* 158141 */ // GIR_Coverage, 2201,
55898 /* 158141 */ GIR_EraseRootFromParent_Done,
55899 /* 158142 */ // Label 3493: @158142
55900 /* 158142 */ GIM_Try, /*On fail goto*//*Label 3494*/ GIMT_Encode4(158204), // Rule ID 2209 //
55901 /* 158147 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
55902 /* 158150 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55903 /* 158154 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55904 /* 158158 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55905 /* 158162 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55906 /* 158166 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55907 /* 158169 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55908 /* 158173 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55909 /* 158177 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55910 /* 158179 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55911 /* 158186 */ // (fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55912 /* 158186 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
55913 /* 158189 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55914 /* 158191 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55915 /* 158193 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55916 /* 158197 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55917 /* 158202 */ GIR_RootConstrainSelectedInstOperands,
55918 /* 158203 */ // GIR_Coverage, 2209,
55919 /* 158203 */ GIR_EraseRootFromParent_Done,
55920 /* 158204 */ // Label 3494: @158204
55921 /* 158204 */ GIM_Try, /*On fail goto*//*Label 3495*/ GIMT_Encode4(158266), // Rule ID 5978 //
55922 /* 158209 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55923 /* 158212 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
55924 /* 158216 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
55925 /* 158220 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55926 /* 158224 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55927 /* 158228 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55928 /* 158231 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55929 /* 158235 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55930 /* 158239 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55931 /* 158241 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55932 /* 158248 */ // (fmul:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55933 /* 158248 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
55934 /* 158251 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55935 /* 158253 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55936 /* 158255 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55937 /* 158259 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55938 /* 158264 */ GIR_RootConstrainSelectedInstOperands,
55939 /* 158265 */ // GIR_Coverage, 5978,
55940 /* 158265 */ GIR_EraseRootFromParent_Done,
55941 /* 158266 */ // Label 3495: @158266
55942 /* 158266 */ GIM_Try, /*On fail goto*//*Label 3496*/ GIMT_Encode4(158303), // Rule ID 899 //
55943 /* 158271 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
55944 /* 158274 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55945 /* 158278 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55946 /* 158282 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55947 /* 158286 */ // (fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (MUL_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
55948 /* 158286 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32),
55949 /* 158291 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
55950 /* 158297 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
55951 /* 158301 */ GIR_RootConstrainSelectedInstOperands,
55952 /* 158302 */ // GIR_Coverage, 899,
55953 /* 158302 */ GIR_Done,
55954 /* 158303 */ // Label 3496: @158303
55955 /* 158303 */ GIM_Try, /*On fail goto*//*Label 3497*/ GIMT_Encode4(158334), // Rule ID 2199 //
55956 /* 158308 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
55957 /* 158311 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55958 /* 158315 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55959 /* 158319 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55960 /* 158323 */ // (fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VMULSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
55961 /* 158323 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSSrr),
55962 /* 158328 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55963 /* 158332 */ GIR_RootConstrainSelectedInstOperands,
55964 /* 158333 */ // GIR_Coverage, 2199,
55965 /* 158333 */ GIR_Done,
55966 /* 158334 */ // Label 3497: @158334
55967 /* 158334 */ GIM_Try, /*On fail goto*//*Label 3498*/ GIMT_Encode4(158365), // Rule ID 2207 //
55968 /* 158339 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
55969 /* 158342 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55970 /* 158346 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55971 /* 158350 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55972 /* 158354 */ // (fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (MULSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
55973 /* 158354 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULSSrr),
55974 /* 158359 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55975 /* 158363 */ GIR_RootConstrainSelectedInstOperands,
55976 /* 158364 */ // GIR_Coverage, 2207,
55977 /* 158364 */ GIR_Done,
55978 /* 158365 */ // Label 3498: @158365
55979 /* 158365 */ GIM_Try, /*On fail goto*//*Label 3499*/ GIMT_Encode4(158396), // Rule ID 5976 //
55980 /* 158370 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55981 /* 158373 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
55982 /* 158377 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
55983 /* 158381 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
55984 /* 158385 */ // (fmul:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VMULSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
55985 /* 158385 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSSZrr),
55986 /* 158390 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55987 /* 158394 */ GIR_RootConstrainSelectedInstOperands,
55988 /* 158395 */ // GIR_Coverage, 5976,
55989 /* 158395 */ GIR_Done,
55990 /* 158396 */ // Label 3499: @158396
55991 /* 158396 */ GIM_Reject,
55992 /* 158397 */ // Label 3477: @158397
55993 /* 158397 */ GIM_Reject,
55994 /* 158398 */ // Label 3461: @158398
55995 /* 158398 */ GIM_Try, /*On fail goto*//*Label 3500*/ GIMT_Encode4(159938),
55996 /* 158403 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
55997 /* 158406 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
55998 /* 158409 */ GIM_Try, /*On fail goto*//*Label 3501*/ GIMT_Encode4(158491), // Rule ID 26109 //
55999 /* 158414 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
56000 /* 158417 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56001 /* 158421 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56002 /* 158425 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
56003 /* 158429 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
56004 /* 158433 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
56005 /* 158437 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
56006 /* 158441 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
56007 /* 158444 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
56008 /* 158448 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
56009 /* 158455 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
56010 /* 158459 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56011 /* 158463 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
56012 /* 158465 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56013 /* 158472 */ // (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)
56014 /* 158472 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
56015 /* 158475 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56016 /* 158477 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56017 /* 158479 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56018 /* 158483 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
56019 /* 158489 */ GIR_RootConstrainSelectedInstOperands,
56020 /* 158490 */ // GIR_Coverage, 26109,
56021 /* 158490 */ GIR_EraseRootFromParent_Done,
56022 /* 158491 */ // Label 3501: @158491
56023 /* 158491 */ GIM_Try, /*On fail goto*//*Label 3502*/ GIMT_Encode4(158573), // Rule ID 26110 //
56024 /* 158496 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
56025 /* 158499 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56026 /* 158503 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56027 /* 158507 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
56028 /* 158511 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
56029 /* 158515 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
56030 /* 158519 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
56031 /* 158523 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
56032 /* 158526 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
56033 /* 158530 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
56034 /* 158537 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
56035 /* 158541 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56036 /* 158545 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
56037 /* 158547 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56038 /* 158554 */ // (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)
56039 /* 158554 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
56040 /* 158557 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56041 /* 158559 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56042 /* 158561 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56043 /* 158565 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
56044 /* 158571 */ GIR_RootConstrainSelectedInstOperands,
56045 /* 158572 */ // GIR_Coverage, 26110,
56046 /* 158572 */ GIR_EraseRootFromParent_Done,
56047 /* 158573 */ // Label 3502: @158573
56048 /* 158573 */ GIM_Try, /*On fail goto*//*Label 3503*/ GIMT_Encode4(158655), // Rule ID 26111 //
56049 /* 158578 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56050 /* 158581 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56051 /* 158585 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56052 /* 158589 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
56053 /* 158593 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
56054 /* 158597 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
56055 /* 158601 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
56056 /* 158605 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
56057 /* 158608 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
56058 /* 158612 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
56059 /* 158619 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
56060 /* 158623 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56061 /* 158627 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
56062 /* 158629 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56063 /* 158636 */ // (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)
56064 /* 158636 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
56065 /* 158639 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56066 /* 158641 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56067 /* 158643 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56068 /* 158647 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
56069 /* 158653 */ GIR_RootConstrainSelectedInstOperands,
56070 /* 158654 */ // GIR_Coverage, 26111,
56071 /* 158654 */ GIR_EraseRootFromParent_Done,
56072 /* 158655 */ // Label 3503: @158655
56073 /* 158655 */ GIM_Try, /*On fail goto*//*Label 3504*/ GIMT_Encode4(158737), // Rule ID 22543 //
56074 /* 158660 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
56075 /* 158663 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56076 /* 158667 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56077 /* 158671 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56078 /* 158675 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
56079 /* 158679 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
56080 /* 158683 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
56081 /* 158687 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
56082 /* 158691 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
56083 /* 158694 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
56084 /* 158698 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
56085 /* 158705 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
56086 /* 158709 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
56087 /* 158711 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56088 /* 158718 */ // (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)
56089 /* 158718 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
56090 /* 158721 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56091 /* 158723 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56092 /* 158725 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56093 /* 158729 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
56094 /* 158735 */ GIR_RootConstrainSelectedInstOperands,
56095 /* 158736 */ // GIR_Coverage, 22543,
56096 /* 158736 */ GIR_EraseRootFromParent_Done,
56097 /* 158737 */ // Label 3504: @158737
56098 /* 158737 */ GIM_Try, /*On fail goto*//*Label 3505*/ GIMT_Encode4(158819), // Rule ID 22544 //
56099 /* 158742 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
56100 /* 158745 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56101 /* 158749 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56102 /* 158753 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56103 /* 158757 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
56104 /* 158761 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
56105 /* 158765 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
56106 /* 158769 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
56107 /* 158773 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
56108 /* 158776 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
56109 /* 158780 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
56110 /* 158787 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
56111 /* 158791 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
56112 /* 158793 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56113 /* 158800 */ // (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)
56114 /* 158800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
56115 /* 158803 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56116 /* 158805 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56117 /* 158807 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56118 /* 158811 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
56119 /* 158817 */ GIR_RootConstrainSelectedInstOperands,
56120 /* 158818 */ // GIR_Coverage, 22544,
56121 /* 158818 */ GIR_EraseRootFromParent_Done,
56122 /* 158819 */ // Label 3505: @158819
56123 /* 158819 */ GIM_Try, /*On fail goto*//*Label 3506*/ GIMT_Encode4(158901), // Rule ID 22545 //
56124 /* 158824 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56125 /* 158827 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56126 /* 158831 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56127 /* 158835 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56128 /* 158839 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
56129 /* 158843 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
56130 /* 158847 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
56131 /* 158851 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
56132 /* 158855 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
56133 /* 158858 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
56134 /* 158862 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
56135 /* 158869 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
56136 /* 158873 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
56137 /* 158875 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56138 /* 158882 */ // (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)
56139 /* 158882 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
56140 /* 158885 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56141 /* 158887 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56142 /* 158889 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56143 /* 158893 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
56144 /* 158899 */ GIR_RootConstrainSelectedInstOperands,
56145 /* 158900 */ // GIR_Coverage, 22545,
56146 /* 158900 */ GIR_EraseRootFromParent_Done,
56147 /* 158901 */ // Label 3506: @158901
56148 /* 158901 */ GIM_Try, /*On fail goto*//*Label 3507*/ GIMT_Encode4(158966), // Rule ID 23355 //
56149 /* 158906 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
56150 /* 158909 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56151 /* 158913 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56152 /* 158917 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56153 /* 158921 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
56154 /* 158928 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56155 /* 158932 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56156 /* 158936 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56157 /* 158938 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56158 /* 158945 */ // (fmul:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (MUL_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56159 /* 158945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m64),
56160 /* 158948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56161 /* 158950 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56162 /* 158952 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56163 /* 158956 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56164 /* 158959 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56165 /* 158964 */ GIR_RootConstrainSelectedInstOperands,
56166 /* 158965 */ // GIR_Coverage, 23355,
56167 /* 158965 */ GIR_EraseRootFromParent_Done,
56168 /* 158966 */ // Label 3507: @158966
56169 /* 158966 */ GIM_Try, /*On fail goto*//*Label 3508*/ GIMT_Encode4(159031), // Rule ID 23357 //
56170 /* 158971 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
56171 /* 158974 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56172 /* 158978 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56173 /* 158982 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56174 /* 158986 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56175 /* 158993 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56176 /* 158997 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56177 /* 159001 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56178 /* 159003 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56179 /* 159010 */ // (fmul:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (MUL_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56180 /* 159010 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m64),
56181 /* 159013 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56182 /* 159015 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56183 /* 159017 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56184 /* 159021 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56185 /* 159024 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56186 /* 159029 */ GIR_RootConstrainSelectedInstOperands,
56187 /* 159030 */ // GIR_Coverage, 23357,
56188 /* 159030 */ GIR_EraseRootFromParent_Done,
56189 /* 159031 */ // Label 3508: @159031
56190 /* 159031 */ GIM_Try, /*On fail goto*//*Label 3509*/ GIMT_Encode4(159096), // Rule ID 23343 //
56191 /* 159036 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
56192 /* 159039 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56193 /* 159043 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56194 /* 159047 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56195 /* 159051 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56196 /* 159054 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56197 /* 159058 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56198 /* 159062 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56199 /* 159066 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56200 /* 159068 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56201 /* 159075 */ // (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)
56202 /* 159075 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m),
56203 /* 159078 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56204 /* 159080 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56205 /* 159082 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56206 /* 159086 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56207 /* 159089 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56208 /* 159094 */ GIR_RootConstrainSelectedInstOperands,
56209 /* 159095 */ // GIR_Coverage, 23343,
56210 /* 159095 */ GIR_EraseRootFromParent_Done,
56211 /* 159096 */ // Label 3509: @159096
56212 /* 159096 */ GIM_Try, /*On fail goto*//*Label 3510*/ GIMT_Encode4(159168), // Rule ID 23345 //
56213 /* 159101 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
56214 /* 159104 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56215 /* 159108 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56216 /* 159112 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56217 /* 159116 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56218 /* 159119 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56219 /* 159123 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56220 /* 159130 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56221 /* 159134 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56222 /* 159138 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56223 /* 159140 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56224 /* 159147 */ // (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)
56225 /* 159147 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m32),
56226 /* 159150 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56227 /* 159152 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56228 /* 159154 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56229 /* 159158 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56230 /* 159161 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56231 /* 159166 */ GIR_RootConstrainSelectedInstOperands,
56232 /* 159167 */ // GIR_Coverage, 23345,
56233 /* 159167 */ GIR_EraseRootFromParent_Done,
56234 /* 159168 */ // Label 3510: @159168
56235 /* 159168 */ GIM_Try, /*On fail goto*//*Label 3511*/ GIMT_Encode4(159230), // Rule ID 23486 //
56236 /* 159173 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
56237 /* 159176 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56238 /* 159180 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56239 /* 159184 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56240 /* 159188 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56241 /* 159191 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56242 /* 159195 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56243 /* 159199 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56244 /* 159203 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56245 /* 159205 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56246 /* 159212 */ // (fmul:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (VMULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56247 /* 159212 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
56248 /* 159215 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56249 /* 159217 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56250 /* 159219 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56251 /* 159223 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56252 /* 159228 */ GIR_RootConstrainSelectedInstOperands,
56253 /* 159229 */ // GIR_Coverage, 23486,
56254 /* 159229 */ GIR_EraseRootFromParent_Done,
56255 /* 159230 */ // Label 3511: @159230
56256 /* 159230 */ GIM_Try, /*On fail goto*//*Label 3512*/ GIMT_Encode4(159292), // Rule ID 23490 //
56257 /* 159235 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
56258 /* 159238 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56259 /* 159242 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56260 /* 159246 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56261 /* 159250 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56262 /* 159253 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56263 /* 159257 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56264 /* 159261 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56265 /* 159265 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56266 /* 159267 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56267 /* 159274 */ // (fmul:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (MULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56268 /* 159274 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
56269 /* 159277 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56270 /* 159279 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56271 /* 159281 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56272 /* 159285 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56273 /* 159290 */ GIR_RootConstrainSelectedInstOperands,
56274 /* 159291 */ // GIR_Coverage, 23490,
56275 /* 159291 */ GIR_EraseRootFromParent_Done,
56276 /* 159292 */ // Label 3512: @159292
56277 /* 159292 */ GIM_Try, /*On fail goto*//*Label 3513*/ GIMT_Encode4(159354), // Rule ID 24336 //
56278 /* 159297 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56279 /* 159300 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56280 /* 159304 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56281 /* 159308 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56282 /* 159312 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56283 /* 159315 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56284 /* 159319 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56285 /* 159323 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56286 /* 159327 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56287 /* 159329 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56288 /* 159336 */ // (fmul:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64X:{ *:[f64] }:$src1) => (VMULSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56289 /* 159336 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
56290 /* 159339 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56291 /* 159341 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56292 /* 159343 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56293 /* 159347 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56294 /* 159352 */ GIR_RootConstrainSelectedInstOperands,
56295 /* 159353 */ // GIR_Coverage, 24336,
56296 /* 159353 */ GIR_EraseRootFromParent_Done,
56297 /* 159354 */ // Label 3513: @159354
56298 /* 159354 */ GIM_Try, /*On fail goto*//*Label 3514*/ GIMT_Encode4(159419), // Rule ID 991 //
56299 /* 159359 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
56300 /* 159362 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56301 /* 159366 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56302 /* 159370 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56303 /* 159374 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56304 /* 159378 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
56305 /* 159385 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56306 /* 159389 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56307 /* 159391 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56308 /* 159398 */ // (fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56309 /* 159398 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m64),
56310 /* 159401 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56311 /* 159403 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56312 /* 159405 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56313 /* 159409 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56314 /* 159412 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56315 /* 159417 */ GIR_RootConstrainSelectedInstOperands,
56316 /* 159418 */ // GIR_Coverage, 991,
56317 /* 159418 */ GIR_EraseRootFromParent_Done,
56318 /* 159419 */ // Label 3514: @159419
56319 /* 159419 */ GIM_Try, /*On fail goto*//*Label 3515*/ GIMT_Encode4(159484), // Rule ID 993 //
56320 /* 159424 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
56321 /* 159427 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56322 /* 159431 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56323 /* 159435 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56324 /* 159439 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56325 /* 159443 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56326 /* 159450 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56327 /* 159454 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56328 /* 159456 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56329 /* 159463 */ // (fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56330 /* 159463 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m64),
56331 /* 159466 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56332 /* 159468 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56333 /* 159470 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56334 /* 159474 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56335 /* 159477 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56336 /* 159482 */ GIR_RootConstrainSelectedInstOperands,
56337 /* 159483 */ // GIR_Coverage, 993,
56338 /* 159483 */ GIR_EraseRootFromParent_Done,
56339 /* 159484 */ // Label 3515: @159484
56340 /* 159484 */ GIM_Try, /*On fail goto*//*Label 3516*/ GIMT_Encode4(159549), // Rule ID 979 //
56341 /* 159489 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
56342 /* 159492 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56343 /* 159496 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56344 /* 159500 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56345 /* 159504 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56346 /* 159508 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56347 /* 159511 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56348 /* 159515 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56349 /* 159519 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56350 /* 159521 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56351 /* 159528 */ // (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)
56352 /* 159528 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m),
56353 /* 159531 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56354 /* 159533 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56355 /* 159535 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56356 /* 159539 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56357 /* 159542 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56358 /* 159547 */ GIR_RootConstrainSelectedInstOperands,
56359 /* 159548 */ // GIR_Coverage, 979,
56360 /* 159548 */ GIR_EraseRootFromParent_Done,
56361 /* 159549 */ // Label 3516: @159549
56362 /* 159549 */ GIM_Try, /*On fail goto*//*Label 3517*/ GIMT_Encode4(159621), // Rule ID 981 //
56363 /* 159554 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
56364 /* 159557 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56365 /* 159561 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56366 /* 159565 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56367 /* 159569 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56368 /* 159573 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56369 /* 159576 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56370 /* 159580 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56371 /* 159587 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56372 /* 159591 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56373 /* 159593 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56374 /* 159600 */ // (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)
56375 /* 159600 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m32),
56376 /* 159603 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56377 /* 159605 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56378 /* 159607 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56379 /* 159611 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56380 /* 159614 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56381 /* 159619 */ GIR_RootConstrainSelectedInstOperands,
56382 /* 159620 */ // GIR_Coverage, 981,
56383 /* 159620 */ GIR_EraseRootFromParent_Done,
56384 /* 159621 */ // Label 3517: @159621
56385 /* 159621 */ GIM_Try, /*On fail goto*//*Label 3518*/ GIMT_Encode4(159683), // Rule ID 2205 //
56386 /* 159626 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
56387 /* 159629 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56388 /* 159633 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56389 /* 159637 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56390 /* 159641 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56391 /* 159645 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56392 /* 159648 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56393 /* 159652 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56394 /* 159656 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56395 /* 159658 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56396 /* 159665 */ // (fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56397 /* 159665 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
56398 /* 159668 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56399 /* 159670 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56400 /* 159672 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56401 /* 159676 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56402 /* 159681 */ GIR_RootConstrainSelectedInstOperands,
56403 /* 159682 */ // GIR_Coverage, 2205,
56404 /* 159682 */ GIR_EraseRootFromParent_Done,
56405 /* 159683 */ // Label 3518: @159683
56406 /* 159683 */ GIM_Try, /*On fail goto*//*Label 3519*/ GIMT_Encode4(159745), // Rule ID 2213 //
56407 /* 159688 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
56408 /* 159691 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56409 /* 159695 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56410 /* 159699 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56411 /* 159703 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56412 /* 159707 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56413 /* 159710 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56414 /* 159714 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56415 /* 159718 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56416 /* 159720 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56417 /* 159727 */ // (fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56418 /* 159727 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
56419 /* 159730 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56420 /* 159732 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56421 /* 159734 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56422 /* 159738 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56423 /* 159743 */ GIR_RootConstrainSelectedInstOperands,
56424 /* 159744 */ // GIR_Coverage, 2213,
56425 /* 159744 */ GIR_EraseRootFromParent_Done,
56426 /* 159745 */ // Label 3519: @159745
56427 /* 159745 */ GIM_Try, /*On fail goto*//*Label 3520*/ GIMT_Encode4(159807), // Rule ID 5997 //
56428 /* 159750 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56429 /* 159753 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56430 /* 159757 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56431 /* 159761 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56432 /* 159765 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56433 /* 159769 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56434 /* 159772 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56435 /* 159776 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56436 /* 159780 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56437 /* 159782 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56438 /* 159789 */ // (fmul:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56439 /* 159789 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
56440 /* 159792 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56441 /* 159794 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56442 /* 159796 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56443 /* 159800 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56444 /* 159805 */ GIR_RootConstrainSelectedInstOperands,
56445 /* 159806 */ // GIR_Coverage, 5997,
56446 /* 159806 */ GIR_EraseRootFromParent_Done,
56447 /* 159807 */ // Label 3520: @159807
56448 /* 159807 */ GIM_Try, /*On fail goto*//*Label 3521*/ GIMT_Encode4(159844), // Rule ID 901 //
56449 /* 159812 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
56450 /* 159815 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56451 /* 159819 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56452 /* 159823 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56453 /* 159827 */ // (fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (MUL_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
56454 /* 159827 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64),
56455 /* 159832 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
56456 /* 159838 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
56457 /* 159842 */ GIR_RootConstrainSelectedInstOperands,
56458 /* 159843 */ // GIR_Coverage, 901,
56459 /* 159843 */ GIR_Done,
56460 /* 159844 */ // Label 3521: @159844
56461 /* 159844 */ GIM_Try, /*On fail goto*//*Label 3522*/ GIMT_Encode4(159875), // Rule ID 2203 //
56462 /* 159849 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
56463 /* 159852 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56464 /* 159856 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56465 /* 159860 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56466 /* 159864 */ // (fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VMULSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
56467 /* 159864 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSDrr),
56468 /* 159869 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56469 /* 159873 */ GIR_RootConstrainSelectedInstOperands,
56470 /* 159874 */ // GIR_Coverage, 2203,
56471 /* 159874 */ GIR_Done,
56472 /* 159875 */ // Label 3522: @159875
56473 /* 159875 */ GIM_Try, /*On fail goto*//*Label 3523*/ GIMT_Encode4(159906), // Rule ID 2211 //
56474 /* 159880 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
56475 /* 159883 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56476 /* 159887 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56477 /* 159891 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56478 /* 159895 */ // (fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (MULSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
56479 /* 159895 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULSDrr),
56480 /* 159900 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56481 /* 159904 */ GIR_RootConstrainSelectedInstOperands,
56482 /* 159905 */ // GIR_Coverage, 2211,
56483 /* 159905 */ GIR_Done,
56484 /* 159906 */ // Label 3523: @159906
56485 /* 159906 */ GIM_Try, /*On fail goto*//*Label 3524*/ GIMT_Encode4(159937), // Rule ID 5995 //
56486 /* 159911 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56487 /* 159914 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56488 /* 159918 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56489 /* 159922 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56490 /* 159926 */ // (fmul:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VMULSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
56491 /* 159926 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSDZrr),
56492 /* 159931 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56493 /* 159935 */ GIR_RootConstrainSelectedInstOperands,
56494 /* 159936 */ // GIR_Coverage, 5995,
56495 /* 159936 */ GIR_Done,
56496 /* 159937 */ // Label 3524: @159937
56497 /* 159937 */ GIM_Reject,
56498 /* 159938 */ // Label 3500: @159938
56499 /* 159938 */ GIM_Reject,
56500 /* 159939 */ // Label 3462: @159939
56501 /* 159939 */ GIM_Try, /*On fail goto*//*Label 3525*/ GIMT_Encode4(160504),
56502 /* 159944 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
56503 /* 159947 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
56504 /* 159950 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56505 /* 159954 */ GIM_Try, /*On fail goto*//*Label 3526*/ GIMT_Encode4(160015), // Rule ID 23359 //
56506 /* 159959 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
56507 /* 159962 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56508 /* 159966 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56509 /* 159970 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
56510 /* 159977 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56511 /* 159981 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56512 /* 159985 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56513 /* 159987 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56514 /* 159994 */ // (fmul:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (MUL_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
56515 /* 159994 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m80),
56516 /* 159997 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56517 /* 159999 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56518 /* 160001 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56519 /* 160005 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56520 /* 160008 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56521 /* 160013 */ GIR_RootConstrainSelectedInstOperands,
56522 /* 160014 */ // GIR_Coverage, 23359,
56523 /* 160014 */ GIR_EraseRootFromParent_Done,
56524 /* 160015 */ // Label 3526: @160015
56525 /* 160015 */ GIM_Try, /*On fail goto*//*Label 3527*/ GIMT_Encode4(160076), // Rule ID 23361 //
56526 /* 160020 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
56527 /* 160023 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56528 /* 160027 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56529 /* 160031 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56530 /* 160038 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56531 /* 160042 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56532 /* 160046 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56533 /* 160048 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56534 /* 160055 */ // (fmul:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (MUL_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
56535 /* 160055 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m80),
56536 /* 160058 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56537 /* 160060 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56538 /* 160062 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56539 /* 160066 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56540 /* 160069 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56541 /* 160074 */ GIR_RootConstrainSelectedInstOperands,
56542 /* 160075 */ // GIR_Coverage, 23361,
56543 /* 160075 */ GIR_EraseRootFromParent_Done,
56544 /* 160076 */ // Label 3527: @160076
56545 /* 160076 */ GIM_Try, /*On fail goto*//*Label 3528*/ GIMT_Encode4(160144), // Rule ID 23347 //
56546 /* 160081 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
56547 /* 160084 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56548 /* 160088 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56549 /* 160092 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56550 /* 160095 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56551 /* 160099 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56552 /* 160106 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56553 /* 160110 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56554 /* 160114 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56555 /* 160116 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56556 /* 160123 */ // (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)
56557 /* 160123 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m32),
56558 /* 160126 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56559 /* 160128 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56560 /* 160130 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56561 /* 160134 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56562 /* 160137 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56563 /* 160142 */ GIR_RootConstrainSelectedInstOperands,
56564 /* 160143 */ // GIR_Coverage, 23347,
56565 /* 160143 */ GIR_EraseRootFromParent_Done,
56566 /* 160144 */ // Label 3528: @160144
56567 /* 160144 */ GIM_Try, /*On fail goto*//*Label 3529*/ GIMT_Encode4(160212), // Rule ID 23349 //
56568 /* 160149 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
56569 /* 160152 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56570 /* 160156 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56571 /* 160160 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56572 /* 160163 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56573 /* 160167 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
56574 /* 160174 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56575 /* 160178 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56576 /* 160182 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56577 /* 160184 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56578 /* 160191 */ // (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)
56579 /* 160191 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m64),
56580 /* 160194 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56581 /* 160196 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56582 /* 160198 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56583 /* 160202 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56584 /* 160205 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56585 /* 160210 */ GIR_RootConstrainSelectedInstOperands,
56586 /* 160211 */ // GIR_Coverage, 23349,
56587 /* 160211 */ GIR_EraseRootFromParent_Done,
56588 /* 160212 */ // Label 3529: @160212
56589 /* 160212 */ GIM_Try, /*On fail goto*//*Label 3530*/ GIMT_Encode4(160273), // Rule ID 995 //
56590 /* 160217 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
56591 /* 160220 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56592 /* 160224 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56593 /* 160228 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56594 /* 160232 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
56595 /* 160239 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56596 /* 160243 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56597 /* 160245 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56598 /* 160252 */ // (fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
56599 /* 160252 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m80),
56600 /* 160255 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56601 /* 160257 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56602 /* 160259 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56603 /* 160263 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56604 /* 160266 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56605 /* 160271 */ GIR_RootConstrainSelectedInstOperands,
56606 /* 160272 */ // GIR_Coverage, 995,
56607 /* 160272 */ GIR_EraseRootFromParent_Done,
56608 /* 160273 */ // Label 3530: @160273
56609 /* 160273 */ GIM_Try, /*On fail goto*//*Label 3531*/ GIMT_Encode4(160334), // Rule ID 997 //
56610 /* 160278 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
56611 /* 160281 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56612 /* 160285 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56613 /* 160289 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56614 /* 160293 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56615 /* 160300 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56616 /* 160304 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56617 /* 160306 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56618 /* 160313 */ // (fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
56619 /* 160313 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m80),
56620 /* 160316 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56621 /* 160318 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56622 /* 160320 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56623 /* 160324 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56624 /* 160327 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56625 /* 160332 */ GIR_RootConstrainSelectedInstOperands,
56626 /* 160333 */ // GIR_Coverage, 997,
56627 /* 160333 */ GIR_EraseRootFromParent_Done,
56628 /* 160334 */ // Label 3531: @160334
56629 /* 160334 */ GIM_Try, /*On fail goto*//*Label 3532*/ GIMT_Encode4(160402), // Rule ID 983 //
56630 /* 160339 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
56631 /* 160342 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56632 /* 160346 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56633 /* 160350 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56634 /* 160354 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56635 /* 160357 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56636 /* 160361 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56637 /* 160368 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56638 /* 160372 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56639 /* 160374 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56640 /* 160381 */ // (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)
56641 /* 160381 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m32),
56642 /* 160384 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56643 /* 160386 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56644 /* 160388 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56645 /* 160392 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56646 /* 160395 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56647 /* 160400 */ GIR_RootConstrainSelectedInstOperands,
56648 /* 160401 */ // GIR_Coverage, 983,
56649 /* 160401 */ GIR_EraseRootFromParent_Done,
56650 /* 160402 */ // Label 3532: @160402
56651 /* 160402 */ GIM_Try, /*On fail goto*//*Label 3533*/ GIMT_Encode4(160470), // Rule ID 985 //
56652 /* 160407 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
56653 /* 160410 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56654 /* 160414 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56655 /* 160418 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56656 /* 160422 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56657 /* 160425 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56658 /* 160429 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
56659 /* 160436 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56660 /* 160440 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56661 /* 160442 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56662 /* 160449 */ // (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)
56663 /* 160449 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m64),
56664 /* 160452 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56665 /* 160454 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56666 /* 160456 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56667 /* 160460 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56668 /* 160463 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56669 /* 160468 */ GIR_RootConstrainSelectedInstOperands,
56670 /* 160469 */ // GIR_Coverage, 985,
56671 /* 160469 */ GIR_EraseRootFromParent_Done,
56672 /* 160470 */ // Label 3533: @160470
56673 /* 160470 */ GIM_Try, /*On fail goto*//*Label 3534*/ GIMT_Encode4(160503), // Rule ID 903 //
56674 /* 160475 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
56675 /* 160478 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56676 /* 160482 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56677 /* 160486 */ // (fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (MUL_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
56678 /* 160486 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80),
56679 /* 160491 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
56680 /* 160497 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
56681 /* 160501 */ GIR_RootConstrainSelectedInstOperands,
56682 /* 160502 */ // GIR_Coverage, 903,
56683 /* 160502 */ GIR_Done,
56684 /* 160503 */ // Label 3534: @160503
56685 /* 160503 */ GIM_Reject,
56686 /* 160504 */ // Label 3525: @160504
56687 /* 160504 */ GIM_Reject,
56688 /* 160505 */ // Label 3463: @160505
56689 /* 160505 */ GIM_Try, /*On fail goto*//*Label 3535*/ GIMT_Encode4(160858),
56690 /* 160510 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
56691 /* 160513 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
56692 /* 160516 */ GIM_Try, /*On fail goto*//*Label 3536*/ GIMT_Encode4(160578), // Rule ID 23474 //
56693 /* 160521 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
56694 /* 160524 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56695 /* 160528 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56696 /* 160532 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56697 /* 160536 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56698 /* 160539 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56699 /* 160543 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56700 /* 160547 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56701 /* 160551 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56702 /* 160553 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56703 /* 160560 */ // (fmul:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2f64] }:$src1) => (VMULPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56704 /* 160560 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDrm),
56705 /* 160563 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56706 /* 160565 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56707 /* 160567 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56708 /* 160571 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56709 /* 160576 */ GIR_RootConstrainSelectedInstOperands,
56710 /* 160577 */ // GIR_Coverage, 23474,
56711 /* 160577 */ GIR_EraseRootFromParent_Done,
56712 /* 160578 */ // Label 3536: @160578
56713 /* 160578 */ GIM_Try, /*On fail goto*//*Label 3537*/ GIMT_Encode4(160640), // Rule ID 24450 //
56714 /* 160583 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
56715 /* 160586 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56716 /* 160590 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56717 /* 160594 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56718 /* 160598 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56719 /* 160601 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56720 /* 160605 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56721 /* 160609 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56722 /* 160613 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56723 /* 160615 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56724 /* 160622 */ // (fmul:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2f64] }:$src1) => (VMULPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56725 /* 160622 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rm),
56726 /* 160625 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56727 /* 160627 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56728 /* 160629 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56729 /* 160633 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56730 /* 160638 */ GIR_RootConstrainSelectedInstOperands,
56731 /* 160639 */ // GIR_Coverage, 24450,
56732 /* 160639 */ GIR_EraseRootFromParent_Done,
56733 /* 160640 */ // Label 3537: @160640
56734 /* 160640 */ GIM_Try, /*On fail goto*//*Label 3538*/ GIMT_Encode4(160702), // Rule ID 2181 //
56735 /* 160645 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
56736 /* 160648 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56737 /* 160652 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56738 /* 160656 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56739 /* 160660 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56740 /* 160664 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56741 /* 160667 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56742 /* 160671 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56743 /* 160675 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56744 /* 160677 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56745 /* 160684 */ // (fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56746 /* 160684 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDrm),
56747 /* 160687 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56748 /* 160689 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56749 /* 160691 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56750 /* 160695 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56751 /* 160700 */ GIR_RootConstrainSelectedInstOperands,
56752 /* 160701 */ // GIR_Coverage, 2181,
56753 /* 160701 */ GIR_EraseRootFromParent_Done,
56754 /* 160702 */ // Label 3538: @160702
56755 /* 160702 */ GIM_Try, /*On fail goto*//*Label 3539*/ GIMT_Encode4(160764), // Rule ID 6430 //
56756 /* 160707 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
56757 /* 160710 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56758 /* 160714 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56759 /* 160718 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56760 /* 160722 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56761 /* 160726 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56762 /* 160729 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56763 /* 160733 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56764 /* 160737 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56765 /* 160739 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56766 /* 160746 */ // (fmul:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56767 /* 160746 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rm),
56768 /* 160749 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56769 /* 160751 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56770 /* 160753 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56771 /* 160757 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56772 /* 160762 */ GIR_RootConstrainSelectedInstOperands,
56773 /* 160763 */ // GIR_Coverage, 6430,
56774 /* 160763 */ GIR_EraseRootFromParent_Done,
56775 /* 160764 */ // Label 3539: @160764
56776 /* 160764 */ GIM_Try, /*On fail goto*//*Label 3540*/ GIMT_Encode4(160795), // Rule ID 2179 //
56777 /* 160769 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
56778 /* 160772 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56779 /* 160776 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56780 /* 160780 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56781 /* 160784 */ // (fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VMULPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
56782 /* 160784 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDrr),
56783 /* 160789 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56784 /* 160793 */ GIR_RootConstrainSelectedInstOperands,
56785 /* 160794 */ // GIR_Coverage, 2179,
56786 /* 160794 */ GIR_Done,
56787 /* 160795 */ // Label 3540: @160795
56788 /* 160795 */ GIM_Try, /*On fail goto*//*Label 3541*/ GIMT_Encode4(160826), // Rule ID 2195 //
56789 /* 160800 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
56790 /* 160803 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56791 /* 160807 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56792 /* 160811 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56793 /* 160815 */ // (fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (MULPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
56794 /* 160815 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULPDrr),
56795 /* 160820 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56796 /* 160824 */ GIR_RootConstrainSelectedInstOperands,
56797 /* 160825 */ // GIR_Coverage, 2195,
56798 /* 160825 */ GIR_Done,
56799 /* 160826 */ // Label 3541: @160826
56800 /* 160826 */ GIM_Try, /*On fail goto*//*Label 3542*/ GIMT_Encode4(160857), // Rule ID 6426 //
56801 /* 160831 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
56802 /* 160834 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56803 /* 160838 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56804 /* 160842 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56805 /* 160846 */ // (fmul:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VMULPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
56806 /* 160846 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rr),
56807 /* 160851 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56808 /* 160855 */ GIR_RootConstrainSelectedInstOperands,
56809 /* 160856 */ // GIR_Coverage, 6426,
56810 /* 160856 */ GIR_Done,
56811 /* 160857 */ // Label 3542: @160857
56812 /* 160857 */ GIM_Reject,
56813 /* 160858 */ // Label 3535: @160858
56814 /* 160858 */ GIM_Reject,
56815 /* 160859 */ // Label 3464: @160859
56816 /* 160859 */ GIM_Try, /*On fail goto*//*Label 3543*/ GIMT_Encode4(161212),
56817 /* 160864 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
56818 /* 160867 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
56819 /* 160870 */ GIM_Try, /*On fail goto*//*Label 3544*/ GIMT_Encode4(160932), // Rule ID 23472 //
56820 /* 160875 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
56821 /* 160878 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56822 /* 160882 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56823 /* 160886 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56824 /* 160890 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56825 /* 160893 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56826 /* 160897 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56827 /* 160901 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56828 /* 160905 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56829 /* 160907 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56830 /* 160914 */ // (fmul:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4f32] }:$src1) => (VMULPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56831 /* 160914 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSrm),
56832 /* 160917 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56833 /* 160919 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56834 /* 160921 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56835 /* 160925 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56836 /* 160930 */ GIR_RootConstrainSelectedInstOperands,
56837 /* 160931 */ // GIR_Coverage, 23472,
56838 /* 160931 */ GIR_EraseRootFromParent_Done,
56839 /* 160932 */ // Label 3544: @160932
56840 /* 160932 */ GIM_Try, /*On fail goto*//*Label 3545*/ GIMT_Encode4(160994), // Rule ID 24434 //
56841 /* 160937 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
56842 /* 160940 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56843 /* 160944 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56844 /* 160948 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56845 /* 160952 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56846 /* 160955 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56847 /* 160959 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56848 /* 160963 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56849 /* 160967 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56850 /* 160969 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56851 /* 160976 */ // (fmul:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4f32] }:$src1) => (VMULPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56852 /* 160976 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rm),
56853 /* 160979 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56854 /* 160981 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56855 /* 160983 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56856 /* 160987 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56857 /* 160992 */ GIR_RootConstrainSelectedInstOperands,
56858 /* 160993 */ // GIR_Coverage, 24434,
56859 /* 160993 */ GIR_EraseRootFromParent_Done,
56860 /* 160994 */ // Label 3545: @160994
56861 /* 160994 */ GIM_Try, /*On fail goto*//*Label 3546*/ GIMT_Encode4(161056), // Rule ID 2177 //
56862 /* 160999 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
56863 /* 161002 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56864 /* 161006 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56865 /* 161010 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56866 /* 161014 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56867 /* 161018 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56868 /* 161021 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56869 /* 161025 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56870 /* 161029 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56871 /* 161031 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56872 /* 161038 */ // (fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56873 /* 161038 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSrm),
56874 /* 161041 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56875 /* 161043 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56876 /* 161045 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56877 /* 161049 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56878 /* 161054 */ GIR_RootConstrainSelectedInstOperands,
56879 /* 161055 */ // GIR_Coverage, 2177,
56880 /* 161055 */ GIR_EraseRootFromParent_Done,
56881 /* 161056 */ // Label 3546: @161056
56882 /* 161056 */ GIM_Try, /*On fail goto*//*Label 3547*/ GIMT_Encode4(161118), // Rule ID 6406 //
56883 /* 161061 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
56884 /* 161064 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56885 /* 161068 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56886 /* 161072 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56887 /* 161076 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56888 /* 161080 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56889 /* 161083 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56890 /* 161087 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56891 /* 161091 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56892 /* 161093 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56893 /* 161100 */ // (fmul:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56894 /* 161100 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rm),
56895 /* 161103 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56896 /* 161105 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56897 /* 161107 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56898 /* 161111 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56899 /* 161116 */ GIR_RootConstrainSelectedInstOperands,
56900 /* 161117 */ // GIR_Coverage, 6406,
56901 /* 161117 */ GIR_EraseRootFromParent_Done,
56902 /* 161118 */ // Label 3547: @161118
56903 /* 161118 */ GIM_Try, /*On fail goto*//*Label 3548*/ GIMT_Encode4(161149), // Rule ID 2175 //
56904 /* 161123 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
56905 /* 161126 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56906 /* 161130 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56907 /* 161134 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56908 /* 161138 */ // (fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VMULPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
56909 /* 161138 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSrr),
56910 /* 161143 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56911 /* 161147 */ GIR_RootConstrainSelectedInstOperands,
56912 /* 161148 */ // GIR_Coverage, 2175,
56913 /* 161148 */ GIR_Done,
56914 /* 161149 */ // Label 3548: @161149
56915 /* 161149 */ GIM_Try, /*On fail goto*//*Label 3549*/ GIMT_Encode4(161180), // Rule ID 2191 //
56916 /* 161154 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
56917 /* 161157 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56918 /* 161161 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56919 /* 161165 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56920 /* 161169 */ // (fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (MULPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
56921 /* 161169 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULPSrr),
56922 /* 161174 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56923 /* 161178 */ GIR_RootConstrainSelectedInstOperands,
56924 /* 161179 */ // GIR_Coverage, 2191,
56925 /* 161179 */ GIR_Done,
56926 /* 161180 */ // Label 3549: @161180
56927 /* 161180 */ GIM_Try, /*On fail goto*//*Label 3550*/ GIMT_Encode4(161211), // Rule ID 6402 //
56928 /* 161185 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
56929 /* 161188 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56930 /* 161192 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56931 /* 161196 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56932 /* 161200 */ // (fmul:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VMULPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
56933 /* 161200 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rr),
56934 /* 161205 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56935 /* 161209 */ GIR_RootConstrainSelectedInstOperands,
56936 /* 161210 */ // GIR_Coverage, 6402,
56937 /* 161210 */ GIR_Done,
56938 /* 161211 */ // Label 3550: @161211
56939 /* 161211 */ GIM_Reject,
56940 /* 161212 */ // Label 3543: @161212
56941 /* 161212 */ GIM_Reject,
56942 /* 161213 */ // Label 3465: @161213
56943 /* 161213 */ GIM_Try, /*On fail goto*//*Label 3551*/ GIMT_Encode4(161535),
56944 /* 161218 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
56945 /* 161221 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
56946 /* 161224 */ GIM_Try, /*On fail goto*//*Label 3552*/ GIMT_Encode4(161286), // Rule ID 23478 //
56947 /* 161229 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
56948 /* 161232 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
56949 /* 161236 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56950 /* 161240 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56951 /* 161244 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56952 /* 161247 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56953 /* 161251 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56954 /* 161255 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
56955 /* 161259 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56956 /* 161261 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56957 /* 161268 */ // (fmul:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4f64] }:$src1) => (VMULPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56958 /* 161268 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDYrm),
56959 /* 161271 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56960 /* 161273 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56961 /* 161275 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56962 /* 161279 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56963 /* 161284 */ GIR_RootConstrainSelectedInstOperands,
56964 /* 161285 */ // GIR_Coverage, 23478,
56965 /* 161285 */ GIR_EraseRootFromParent_Done,
56966 /* 161286 */ // Label 3552: @161286
56967 /* 161286 */ GIM_Try, /*On fail goto*//*Label 3553*/ GIMT_Encode4(161348), // Rule ID 24458 //
56968 /* 161291 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
56969 /* 161294 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56970 /* 161298 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56971 /* 161302 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56972 /* 161306 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56973 /* 161309 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56974 /* 161313 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56975 /* 161317 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56976 /* 161321 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56977 /* 161323 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56978 /* 161330 */ // (fmul:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4f64] }:$src1) => (VMULPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56979 /* 161330 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rm),
56980 /* 161333 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56981 /* 161335 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56982 /* 161337 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56983 /* 161341 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56984 /* 161346 */ GIR_RootConstrainSelectedInstOperands,
56985 /* 161347 */ // GIR_Coverage, 24458,
56986 /* 161347 */ GIR_EraseRootFromParent_Done,
56987 /* 161348 */ // Label 3553: @161348
56988 /* 161348 */ GIM_Try, /*On fail goto*//*Label 3554*/ GIMT_Encode4(161410), // Rule ID 2189 //
56989 /* 161353 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
56990 /* 161356 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
56991 /* 161360 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
56992 /* 161364 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56993 /* 161368 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56994 /* 161372 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56995 /* 161375 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56996 /* 161379 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56997 /* 161383 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56998 /* 161385 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56999 /* 161392 */ // (fmul:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57000 /* 161392 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDYrm),
57001 /* 161395 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57002 /* 161397 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57003 /* 161399 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57004 /* 161403 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57005 /* 161408 */ GIR_RootConstrainSelectedInstOperands,
57006 /* 161409 */ // GIR_Coverage, 2189,
57007 /* 161409 */ GIR_EraseRootFromParent_Done,
57008 /* 161410 */ // Label 3554: @161410
57009 /* 161410 */ GIM_Try, /*On fail goto*//*Label 3555*/ GIMT_Encode4(161472), // Rule ID 6442 //
57010 /* 161415 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
57011 /* 161418 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57012 /* 161422 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57013 /* 161426 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57014 /* 161430 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57015 /* 161434 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57016 /* 161437 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57017 /* 161441 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57018 /* 161445 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57019 /* 161447 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57020 /* 161454 */ // (fmul:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57021 /* 161454 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rm),
57022 /* 161457 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57023 /* 161459 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57024 /* 161461 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57025 /* 161465 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57026 /* 161470 */ GIR_RootConstrainSelectedInstOperands,
57027 /* 161471 */ // GIR_Coverage, 6442,
57028 /* 161471 */ GIR_EraseRootFromParent_Done,
57029 /* 161472 */ // Label 3555: @161472
57030 /* 161472 */ GIM_Try, /*On fail goto*//*Label 3556*/ GIMT_Encode4(161503), // Rule ID 2187 //
57031 /* 161477 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
57032 /* 161480 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57033 /* 161484 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57034 /* 161488 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57035 /* 161492 */ // (fmul:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VMULPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
57036 /* 161492 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDYrr),
57037 /* 161497 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57038 /* 161501 */ GIR_RootConstrainSelectedInstOperands,
57039 /* 161502 */ // GIR_Coverage, 2187,
57040 /* 161502 */ GIR_Done,
57041 /* 161503 */ // Label 3556: @161503
57042 /* 161503 */ GIM_Try, /*On fail goto*//*Label 3557*/ GIMT_Encode4(161534), // Rule ID 6438 //
57043 /* 161508 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
57044 /* 161511 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57045 /* 161515 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57046 /* 161519 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57047 /* 161523 */ // (fmul:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VMULPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
57048 /* 161523 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rr),
57049 /* 161528 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57050 /* 161532 */ GIR_RootConstrainSelectedInstOperands,
57051 /* 161533 */ // GIR_Coverage, 6438,
57052 /* 161533 */ GIR_Done,
57053 /* 161534 */ // Label 3557: @161534
57054 /* 161534 */ GIM_Reject,
57055 /* 161535 */ // Label 3551: @161535
57056 /* 161535 */ GIM_Reject,
57057 /* 161536 */ // Label 3466: @161536
57058 /* 161536 */ GIM_Try, /*On fail goto*//*Label 3558*/ GIMT_Encode4(161695),
57059 /* 161541 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
57060 /* 161544 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
57061 /* 161547 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57062 /* 161551 */ GIM_Try, /*On fail goto*//*Label 3559*/ GIMT_Encode4(161609), // Rule ID 24474 //
57063 /* 161556 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
57064 /* 161559 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57065 /* 161563 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57066 /* 161567 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57067 /* 161570 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57068 /* 161574 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57069 /* 161578 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57070 /* 161582 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57071 /* 161584 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57072 /* 161591 */ // (fmul:{ *:[v8f16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8f16] }:$src1) => (VMULPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
57073 /* 161591 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rm),
57074 /* 161594 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57075 /* 161596 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57076 /* 161598 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57077 /* 161602 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57078 /* 161607 */ GIR_RootConstrainSelectedInstOperands,
57079 /* 161608 */ // GIR_Coverage, 24474,
57080 /* 161608 */ GIR_EraseRootFromParent_Done,
57081 /* 161609 */ // Label 3559: @161609
57082 /* 161609 */ GIM_Try, /*On fail goto*//*Label 3560*/ GIMT_Encode4(161667), // Rule ID 6466 //
57083 /* 161614 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
57084 /* 161617 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57085 /* 161621 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57086 /* 161625 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57087 /* 161629 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57088 /* 161632 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57089 /* 161636 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57090 /* 161640 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57091 /* 161642 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57092 /* 161649 */ // (fmul:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
57093 /* 161649 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rm),
57094 /* 161652 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57095 /* 161654 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57096 /* 161656 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57097 /* 161660 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57098 /* 161665 */ GIR_RootConstrainSelectedInstOperands,
57099 /* 161666 */ // GIR_Coverage, 6466,
57100 /* 161666 */ GIR_EraseRootFromParent_Done,
57101 /* 161667 */ // Label 3560: @161667
57102 /* 161667 */ GIM_Try, /*On fail goto*//*Label 3561*/ GIMT_Encode4(161694), // Rule ID 6462 //
57103 /* 161672 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
57104 /* 161675 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57105 /* 161679 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57106 /* 161683 */ // (fmul:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VMULPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
57107 /* 161683 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rr),
57108 /* 161688 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57109 /* 161692 */ GIR_RootConstrainSelectedInstOperands,
57110 /* 161693 */ // GIR_Coverage, 6462,
57111 /* 161693 */ GIR_Done,
57112 /* 161694 */ // Label 3561: @161694
57113 /* 161694 */ GIM_Reject,
57114 /* 161695 */ // Label 3558: @161695
57115 /* 161695 */ GIM_Reject,
57116 /* 161696 */ // Label 3467: @161696
57117 /* 161696 */ GIM_Try, /*On fail goto*//*Label 3562*/ GIMT_Encode4(162018),
57118 /* 161701 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
57119 /* 161704 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
57120 /* 161707 */ GIM_Try, /*On fail goto*//*Label 3563*/ GIMT_Encode4(161769), // Rule ID 23476 //
57121 /* 161712 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
57122 /* 161715 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57123 /* 161719 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57124 /* 161723 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57125 /* 161727 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57126 /* 161730 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57127 /* 161734 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57128 /* 161738 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57129 /* 161742 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57130 /* 161744 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57131 /* 161751 */ // (fmul:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8f32] }:$src1) => (VMULPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57132 /* 161751 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSYrm),
57133 /* 161754 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57134 /* 161756 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57135 /* 161758 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57136 /* 161762 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57137 /* 161767 */ GIR_RootConstrainSelectedInstOperands,
57138 /* 161768 */ // GIR_Coverage, 23476,
57139 /* 161768 */ GIR_EraseRootFromParent_Done,
57140 /* 161769 */ // Label 3563: @161769
57141 /* 161769 */ GIM_Try, /*On fail goto*//*Label 3564*/ GIMT_Encode4(161831), // Rule ID 24442 //
57142 /* 161774 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
57143 /* 161777 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57144 /* 161781 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57145 /* 161785 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57146 /* 161789 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57147 /* 161792 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57148 /* 161796 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57149 /* 161800 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57150 /* 161804 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57151 /* 161806 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57152 /* 161813 */ // (fmul:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8f32] }:$src1) => (VMULPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57153 /* 161813 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rm),
57154 /* 161816 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57155 /* 161818 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57156 /* 161820 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57157 /* 161824 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57158 /* 161829 */ GIR_RootConstrainSelectedInstOperands,
57159 /* 161830 */ // GIR_Coverage, 24442,
57160 /* 161830 */ GIR_EraseRootFromParent_Done,
57161 /* 161831 */ // Label 3564: @161831
57162 /* 161831 */ GIM_Try, /*On fail goto*//*Label 3565*/ GIMT_Encode4(161893), // Rule ID 2185 //
57163 /* 161836 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
57164 /* 161839 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57165 /* 161843 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57166 /* 161847 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57167 /* 161851 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57168 /* 161855 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57169 /* 161858 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57170 /* 161862 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57171 /* 161866 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57172 /* 161868 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57173 /* 161875 */ // (fmul:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57174 /* 161875 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSYrm),
57175 /* 161878 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57176 /* 161880 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57177 /* 161882 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57178 /* 161886 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57179 /* 161891 */ GIR_RootConstrainSelectedInstOperands,
57180 /* 161892 */ // GIR_Coverage, 2185,
57181 /* 161892 */ GIR_EraseRootFromParent_Done,
57182 /* 161893 */ // Label 3565: @161893
57183 /* 161893 */ GIM_Try, /*On fail goto*//*Label 3566*/ GIMT_Encode4(161955), // Rule ID 6418 //
57184 /* 161898 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
57185 /* 161901 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57186 /* 161905 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57187 /* 161909 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57188 /* 161913 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57189 /* 161917 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57190 /* 161920 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57191 /* 161924 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57192 /* 161928 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57193 /* 161930 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57194 /* 161937 */ // (fmul:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57195 /* 161937 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rm),
57196 /* 161940 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57197 /* 161942 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57198 /* 161944 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57199 /* 161948 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57200 /* 161953 */ GIR_RootConstrainSelectedInstOperands,
57201 /* 161954 */ // GIR_Coverage, 6418,
57202 /* 161954 */ GIR_EraseRootFromParent_Done,
57203 /* 161955 */ // Label 3566: @161955
57204 /* 161955 */ GIM_Try, /*On fail goto*//*Label 3567*/ GIMT_Encode4(161986), // Rule ID 2183 //
57205 /* 161960 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
57206 /* 161963 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57207 /* 161967 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57208 /* 161971 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57209 /* 161975 */ // (fmul:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VMULPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
57210 /* 161975 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSYrr),
57211 /* 161980 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57212 /* 161984 */ GIR_RootConstrainSelectedInstOperands,
57213 /* 161985 */ // GIR_Coverage, 2183,
57214 /* 161985 */ GIR_Done,
57215 /* 161986 */ // Label 3567: @161986
57216 /* 161986 */ GIM_Try, /*On fail goto*//*Label 3568*/ GIMT_Encode4(162017), // Rule ID 6414 //
57217 /* 161991 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
57218 /* 161994 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57219 /* 161998 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57220 /* 162002 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57221 /* 162006 */ // (fmul:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VMULPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
57222 /* 162006 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rr),
57223 /* 162011 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57224 /* 162015 */ GIR_RootConstrainSelectedInstOperands,
57225 /* 162016 */ // GIR_Coverage, 6414,
57226 /* 162016 */ GIR_Done,
57227 /* 162017 */ // Label 3568: @162017
57228 /* 162017 */ GIM_Reject,
57229 /* 162018 */ // Label 3562: @162018
57230 /* 162018 */ GIM_Reject,
57231 /* 162019 */ // Label 3468: @162019
57232 /* 162019 */ GIM_Try, /*On fail goto*//*Label 3569*/ GIMT_Encode4(162178),
57233 /* 162024 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
57234 /* 162027 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
57235 /* 162030 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57236 /* 162034 */ GIM_Try, /*On fail goto*//*Label 3570*/ GIMT_Encode4(162092), // Rule ID 24426 //
57237 /* 162039 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57238 /* 162042 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57239 /* 162046 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57240 /* 162050 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57241 /* 162053 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57242 /* 162057 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57243 /* 162061 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57244 /* 162065 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57245 /* 162067 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57246 /* 162074 */ // (fmul:{ *:[v8f64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8f64] }:$src1) => (VMULPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57247 /* 162074 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZrm),
57248 /* 162077 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57249 /* 162079 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57250 /* 162081 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57251 /* 162085 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57252 /* 162090 */ GIR_RootConstrainSelectedInstOperands,
57253 /* 162091 */ // GIR_Coverage, 24426,
57254 /* 162091 */ GIR_EraseRootFromParent_Done,
57255 /* 162092 */ // Label 3570: @162092
57256 /* 162092 */ GIM_Try, /*On fail goto*//*Label 3571*/ GIMT_Encode4(162150), // Rule ID 6394 //
57257 /* 162097 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57258 /* 162100 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57259 /* 162104 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57260 /* 162108 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57261 /* 162112 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57262 /* 162115 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57263 /* 162119 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57264 /* 162123 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57265 /* 162125 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57266 /* 162132 */ // (fmul:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57267 /* 162132 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZrm),
57268 /* 162135 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57269 /* 162137 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57270 /* 162139 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57271 /* 162143 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57272 /* 162148 */ GIR_RootConstrainSelectedInstOperands,
57273 /* 162149 */ // GIR_Coverage, 6394,
57274 /* 162149 */ GIR_EraseRootFromParent_Done,
57275 /* 162150 */ // Label 3571: @162150
57276 /* 162150 */ GIM_Try, /*On fail goto*//*Label 3572*/ GIMT_Encode4(162177), // Rule ID 6390 //
57277 /* 162155 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57278 /* 162158 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57279 /* 162162 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57280 /* 162166 */ // (fmul:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VMULPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
57281 /* 162166 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZrr),
57282 /* 162171 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57283 /* 162175 */ GIR_RootConstrainSelectedInstOperands,
57284 /* 162176 */ // GIR_Coverage, 6390,
57285 /* 162176 */ GIR_Done,
57286 /* 162177 */ // Label 3572: @162177
57287 /* 162177 */ GIM_Reject,
57288 /* 162178 */ // Label 3569: @162178
57289 /* 162178 */ GIM_Reject,
57290 /* 162179 */ // Label 3469: @162179
57291 /* 162179 */ GIM_Try, /*On fail goto*//*Label 3573*/ GIMT_Encode4(162338),
57292 /* 162184 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
57293 /* 162187 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
57294 /* 162190 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57295 /* 162194 */ GIM_Try, /*On fail goto*//*Label 3574*/ GIMT_Encode4(162252), // Rule ID 24482 //
57296 /* 162199 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
57297 /* 162202 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57298 /* 162206 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57299 /* 162210 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57300 /* 162213 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57301 /* 162217 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57302 /* 162221 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57303 /* 162225 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57304 /* 162227 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57305 /* 162234 */ // (fmul:{ *:[v16f16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16f16] }:$src1) => (VMULPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
57306 /* 162234 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rm),
57307 /* 162237 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57308 /* 162239 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57309 /* 162241 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57310 /* 162245 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57311 /* 162250 */ GIR_RootConstrainSelectedInstOperands,
57312 /* 162251 */ // GIR_Coverage, 24482,
57313 /* 162251 */ GIR_EraseRootFromParent_Done,
57314 /* 162252 */ // Label 3574: @162252
57315 /* 162252 */ GIM_Try, /*On fail goto*//*Label 3575*/ GIMT_Encode4(162310), // Rule ID 6478 //
57316 /* 162257 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
57317 /* 162260 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57318 /* 162264 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57319 /* 162268 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57320 /* 162272 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57321 /* 162275 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57322 /* 162279 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57323 /* 162283 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57324 /* 162285 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57325 /* 162292 */ // (fmul:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
57326 /* 162292 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rm),
57327 /* 162295 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57328 /* 162297 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57329 /* 162299 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57330 /* 162303 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57331 /* 162308 */ GIR_RootConstrainSelectedInstOperands,
57332 /* 162309 */ // GIR_Coverage, 6478,
57333 /* 162309 */ GIR_EraseRootFromParent_Done,
57334 /* 162310 */ // Label 3575: @162310
57335 /* 162310 */ GIM_Try, /*On fail goto*//*Label 3576*/ GIMT_Encode4(162337), // Rule ID 6474 //
57336 /* 162315 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
57337 /* 162318 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57338 /* 162322 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57339 /* 162326 */ // (fmul:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VMULPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
57340 /* 162326 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rr),
57341 /* 162331 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57342 /* 162335 */ GIR_RootConstrainSelectedInstOperands,
57343 /* 162336 */ // GIR_Coverage, 6474,
57344 /* 162336 */ GIR_Done,
57345 /* 162337 */ // Label 3576: @162337
57346 /* 162337 */ GIM_Reject,
57347 /* 162338 */ // Label 3573: @162338
57348 /* 162338 */ GIM_Reject,
57349 /* 162339 */ // Label 3470: @162339
57350 /* 162339 */ GIM_Try, /*On fail goto*//*Label 3577*/ GIMT_Encode4(162498),
57351 /* 162344 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
57352 /* 162347 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
57353 /* 162350 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57354 /* 162354 */ GIM_Try, /*On fail goto*//*Label 3578*/ GIMT_Encode4(162412), // Rule ID 24418 //
57355 /* 162359 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57356 /* 162362 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57357 /* 162366 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57358 /* 162370 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57359 /* 162373 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57360 /* 162377 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57361 /* 162381 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57362 /* 162385 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57363 /* 162387 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57364 /* 162394 */ // (fmul:{ *:[v16f32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16f32] }:$src1) => (VMULPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57365 /* 162394 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZrm),
57366 /* 162397 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57367 /* 162399 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57368 /* 162401 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57369 /* 162405 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57370 /* 162410 */ GIR_RootConstrainSelectedInstOperands,
57371 /* 162411 */ // GIR_Coverage, 24418,
57372 /* 162411 */ GIR_EraseRootFromParent_Done,
57373 /* 162412 */ // Label 3578: @162412
57374 /* 162412 */ GIM_Try, /*On fail goto*//*Label 3579*/ GIMT_Encode4(162470), // Rule ID 6382 //
57375 /* 162417 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57376 /* 162420 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57377 /* 162424 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57378 /* 162428 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57379 /* 162432 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57380 /* 162435 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57381 /* 162439 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57382 /* 162443 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57383 /* 162445 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57384 /* 162452 */ // (fmul:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57385 /* 162452 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZrm),
57386 /* 162455 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57387 /* 162457 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57388 /* 162459 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57389 /* 162463 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57390 /* 162468 */ GIR_RootConstrainSelectedInstOperands,
57391 /* 162469 */ // GIR_Coverage, 6382,
57392 /* 162469 */ GIR_EraseRootFromParent_Done,
57393 /* 162470 */ // Label 3579: @162470
57394 /* 162470 */ GIM_Try, /*On fail goto*//*Label 3580*/ GIMT_Encode4(162497), // Rule ID 6378 //
57395 /* 162475 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57396 /* 162478 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57397 /* 162482 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57398 /* 162486 */ // (fmul:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VMULPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
57399 /* 162486 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZrr),
57400 /* 162491 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57401 /* 162495 */ GIR_RootConstrainSelectedInstOperands,
57402 /* 162496 */ // GIR_Coverage, 6378,
57403 /* 162496 */ GIR_Done,
57404 /* 162497 */ // Label 3580: @162497
57405 /* 162497 */ GIM_Reject,
57406 /* 162498 */ // Label 3577: @162498
57407 /* 162498 */ GIM_Reject,
57408 /* 162499 */ // Label 3471: @162499
57409 /* 162499 */ GIM_Try, /*On fail goto*//*Label 3581*/ GIMT_Encode4(162658),
57410 /* 162504 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
57411 /* 162507 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
57412 /* 162510 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57413 /* 162514 */ GIM_Try, /*On fail goto*//*Label 3582*/ GIMT_Encode4(162572), // Rule ID 24466 //
57414 /* 162519 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
57415 /* 162522 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57416 /* 162526 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57417 /* 162530 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57418 /* 162533 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57419 /* 162537 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57420 /* 162541 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57421 /* 162545 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57422 /* 162547 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57423 /* 162554 */ // (fmul:{ *:[v32f16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32f16] }:$src1) => (VMULPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
57424 /* 162554 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZrm),
57425 /* 162557 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57426 /* 162559 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57427 /* 162561 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57428 /* 162565 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57429 /* 162570 */ GIR_RootConstrainSelectedInstOperands,
57430 /* 162571 */ // GIR_Coverage, 24466,
57431 /* 162571 */ GIR_EraseRootFromParent_Done,
57432 /* 162572 */ // Label 3582: @162572
57433 /* 162572 */ GIM_Try, /*On fail goto*//*Label 3583*/ GIMT_Encode4(162630), // Rule ID 6454 //
57434 /* 162577 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
57435 /* 162580 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57436 /* 162584 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57437 /* 162588 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57438 /* 162592 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57439 /* 162595 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57440 /* 162599 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57441 /* 162603 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57442 /* 162605 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57443 /* 162612 */ // (fmul:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
57444 /* 162612 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZrm),
57445 /* 162615 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57446 /* 162617 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57447 /* 162619 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57448 /* 162623 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57449 /* 162628 */ GIR_RootConstrainSelectedInstOperands,
57450 /* 162629 */ // GIR_Coverage, 6454,
57451 /* 162629 */ GIR_EraseRootFromParent_Done,
57452 /* 162630 */ // Label 3583: @162630
57453 /* 162630 */ GIM_Try, /*On fail goto*//*Label 3584*/ GIMT_Encode4(162657), // Rule ID 6450 //
57454 /* 162635 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
57455 /* 162638 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57456 /* 162642 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57457 /* 162646 */ // (fmul:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VMULPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
57458 /* 162646 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZrr),
57459 /* 162651 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57460 /* 162655 */ GIR_RootConstrainSelectedInstOperands,
57461 /* 162656 */ // GIR_Coverage, 6450,
57462 /* 162656 */ GIR_Done,
57463 /* 162657 */ // Label 3584: @162657
57464 /* 162657 */ GIM_Reject,
57465 /* 162658 */ // Label 3581: @162658
57466 /* 162658 */ GIM_Reject,
57467 /* 162659 */ // Label 3472: @162659
57468 /* 162659 */ GIM_Reject,
57469 /* 162660 */ // Label 45: @162660
57470 /* 162660 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 3597*/ GIMT_Encode4(168647),
57471 /* 162671 */ /*GILLT_s16*//*Label 3585*/ GIMT_Encode4(162755),
57472 /* 162675 */ /*GILLT_s32*//*Label 3586*/ GIMT_Encode4(163000),
57473 /* 162679 */ /*GILLT_s64*//*Label 3587*/ GIMT_Encode4(163737), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
57474 /* 162695 */ /*GILLT_v2s64*//*Label 3588*/ GIMT_Encode4(164474), GIMT_Encode4(0),
57475 /* 162703 */ /*GILLT_v4s32*//*Label 3589*/ GIMT_Encode4(165211),
57476 /* 162707 */ /*GILLT_v4s64*//*Label 3590*/ GIMT_Encode4(165948), GIMT_Encode4(0),
57477 /* 162715 */ /*GILLT_v8s16*//*Label 3591*/ GIMT_Encode4(166685),
57478 /* 162719 */ /*GILLT_v8s32*//*Label 3592*/ GIMT_Encode4(166930),
57479 /* 162723 */ /*GILLT_v8s64*//*Label 3593*/ GIMT_Encode4(167667), GIMT_Encode4(0), GIMT_Encode4(0),
57480 /* 162735 */ /*GILLT_v16s16*//*Label 3594*/ GIMT_Encode4(167912),
57481 /* 162739 */ /*GILLT_v16s32*//*Label 3595*/ GIMT_Encode4(168157), GIMT_Encode4(0), GIMT_Encode4(0),
57482 /* 162751 */ /*GILLT_v32s16*//*Label 3596*/ GIMT_Encode4(168402),
57483 /* 162755 */ // Label 3585: @162755
57484 /* 162755 */ GIM_Try, /*On fail goto*//*Label 3598*/ GIMT_Encode4(162999),
57485 /* 162760 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
57486 /* 162763 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
57487 /* 162766 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
57488 /* 162769 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
57489 /* 162773 */ GIM_Try, /*On fail goto*//*Label 3599*/ GIMT_Encode4(162837), // Rule ID 10162 //
57490 /* 162778 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
57491 /* 162781 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57492 /* 162785 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57493 /* 162789 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57494 /* 162792 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57495 /* 162796 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57496 /* 162800 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
57497 /* 162804 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
57498 /* 162808 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57499 /* 162810 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57500 /* 162817 */ // (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)
57501 /* 162817 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SHZm),
57502 /* 162820 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57503 /* 162822 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57504 /* 162824 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
57505 /* 162826 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57506 /* 162830 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57507 /* 162835 */ GIR_RootConstrainSelectedInstOperands,
57508 /* 162836 */ // GIR_Coverage, 10162,
57509 /* 162836 */ GIR_EraseRootFromParent_Done,
57510 /* 162837 */ // Label 3599: @162837
57511 /* 162837 */ GIM_Try, /*On fail goto*//*Label 3600*/ GIMT_Encode4(162901), // Rule ID 10160 //
57512 /* 162842 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
57513 /* 162845 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
57514 /* 162849 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57515 /* 162853 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57516 /* 162857 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57517 /* 162860 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57518 /* 162864 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57519 /* 162868 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
57520 /* 162872 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57521 /* 162874 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57522 /* 162881 */ // (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)
57523 /* 162881 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SHZm),
57524 /* 162884 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57525 /* 162886 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
57526 /* 162888 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57527 /* 162890 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57528 /* 162894 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57529 /* 162899 */ GIR_RootConstrainSelectedInstOperands,
57530 /* 162900 */ // GIR_Coverage, 10160,
57531 /* 162900 */ GIR_EraseRootFromParent_Done,
57532 /* 162901 */ // Label 3600: @162901
57533 /* 162901 */ GIM_Try, /*On fail goto*//*Label 3601*/ GIMT_Encode4(162965), // Rule ID 10157 //
57534 /* 162906 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
57535 /* 162909 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
57536 /* 162913 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
57537 /* 162917 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57538 /* 162921 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57539 /* 162925 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57540 /* 162928 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57541 /* 162932 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57542 /* 162936 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57543 /* 162938 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57544 /* 162945 */ // (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)
57545 /* 162945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SHZm),
57546 /* 162948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57547 /* 162950 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57548 /* 162952 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57549 /* 162954 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57550 /* 162958 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57551 /* 162963 */ GIR_RootConstrainSelectedInstOperands,
57552 /* 162964 */ // GIR_Coverage, 10157,
57553 /* 162964 */ GIR_EraseRootFromParent_Done,
57554 /* 162965 */ // Label 3601: @162965
57555 /* 162965 */ GIM_Try, /*On fail goto*//*Label 3602*/ GIMT_Encode4(162998), // Rule ID 10155 //
57556 /* 162970 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
57557 /* 162973 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
57558 /* 162977 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
57559 /* 162981 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
57560 /* 162985 */ // (fma:{ *:[f16] } FR16X:{ *:[f16] }:$src2, FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src3) => (VFMADD213SHZr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2, FR16X:{ *:[f16] }:$src3)
57561 /* 162985 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SHZr),
57562 /* 162988 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57563 /* 162990 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57564 /* 162992 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57565 /* 162994 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57566 /* 162996 */ GIR_RootConstrainSelectedInstOperands,
57567 /* 162997 */ // GIR_Coverage, 10155,
57568 /* 162997 */ GIR_EraseRootFromParent_Done,
57569 /* 162998 */ // Label 3602: @162998
57570 /* 162998 */ GIM_Reject,
57571 /* 162999 */ // Label 3598: @162999
57572 /* 162999 */ GIM_Reject,
57573 /* 163000 */ // Label 3586: @163000
57574 /* 163000 */ GIM_Try, /*On fail goto*//*Label 3603*/ GIMT_Encode4(163736),
57575 /* 163005 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
57576 /* 163008 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
57577 /* 163011 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
57578 /* 163014 */ GIM_Try, /*On fail goto*//*Label 3604*/ GIMT_Encode4(163082), // Rule ID 1304 //
57579 /* 163019 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
57580 /* 163022 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57581 /* 163026 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57582 /* 163030 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57583 /* 163034 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57584 /* 163037 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57585 /* 163041 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57586 /* 163045 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57587 /* 163049 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57588 /* 163053 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57589 /* 163055 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57590 /* 163062 */ // (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)
57591 /* 163062 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SSm),
57592 /* 163065 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57593 /* 163067 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57594 /* 163069 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
57595 /* 163071 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57596 /* 163075 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57597 /* 163080 */ GIR_RootConstrainSelectedInstOperands,
57598 /* 163081 */ // GIR_Coverage, 1304,
57599 /* 163081 */ GIR_EraseRootFromParent_Done,
57600 /* 163082 */ // Label 3604: @163082
57601 /* 163082 */ GIM_Try, /*On fail goto*//*Label 3605*/ GIMT_Encode4(163150), // Rule ID 10144 //
57602 /* 163087 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57603 /* 163090 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
57604 /* 163094 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57605 /* 163098 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57606 /* 163102 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57607 /* 163105 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57608 /* 163109 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57609 /* 163113 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
57610 /* 163117 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
57611 /* 163121 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57612 /* 163123 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57613 /* 163130 */ // (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)
57614 /* 163130 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SSZm),
57615 /* 163133 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57616 /* 163135 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57617 /* 163137 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
57618 /* 163139 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57619 /* 163143 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57620 /* 163148 */ GIR_RootConstrainSelectedInstOperands,
57621 /* 163149 */ // GIR_Coverage, 10144,
57622 /* 163149 */ GIR_EraseRootFromParent_Done,
57623 /* 163150 */ // Label 3605: @163150
57624 /* 163150 */ GIM_Try, /*On fail goto*//*Label 3606*/ GIMT_Encode4(163218), // Rule ID 23363 //
57625 /* 163155 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
57626 /* 163158 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57627 /* 163162 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57628 /* 163166 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57629 /* 163170 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57630 /* 163173 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57631 /* 163177 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57632 /* 163181 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57633 /* 163185 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57634 /* 163189 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57635 /* 163191 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57636 /* 163198 */ // (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)
57637 /* 163198 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4mr),
57638 /* 163201 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57639 /* 163203 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57640 /* 163205 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57641 /* 163209 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57642 /* 163211 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57643 /* 163216 */ GIR_RootConstrainSelectedInstOperands,
57644 /* 163217 */ // GIR_Coverage, 23363,
57645 /* 163217 */ GIR_EraseRootFromParent_Done,
57646 /* 163218 */ // Label 3606: @163218
57647 /* 163218 */ GIM_Try, /*On fail goto*//*Label 3607*/ GIMT_Encode4(163286), // Rule ID 1302 //
57648 /* 163223 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
57649 /* 163226 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57650 /* 163230 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57651 /* 163234 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57652 /* 163238 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57653 /* 163242 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57654 /* 163245 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57655 /* 163249 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57656 /* 163253 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57657 /* 163257 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57658 /* 163259 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57659 /* 163266 */ // (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)
57660 /* 163266 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SSm),
57661 /* 163269 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57662 /* 163271 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
57663 /* 163273 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57664 /* 163275 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57665 /* 163279 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57666 /* 163284 */ GIR_RootConstrainSelectedInstOperands,
57667 /* 163285 */ // GIR_Coverage, 1302,
57668 /* 163285 */ GIR_EraseRootFromParent_Done,
57669 /* 163286 */ // Label 3607: @163286
57670 /* 163286 */ GIM_Try, /*On fail goto*//*Label 3608*/ GIMT_Encode4(163354), // Rule ID 1366 //
57671 /* 163291 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
57672 /* 163294 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57673 /* 163298 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57674 /* 163302 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57675 /* 163306 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57676 /* 163310 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57677 /* 163313 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57678 /* 163317 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57679 /* 163321 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57680 /* 163325 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57681 /* 163327 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57682 /* 163334 */ // (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)
57683 /* 163334 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4mr),
57684 /* 163337 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57685 /* 163339 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57686 /* 163341 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57687 /* 163345 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57688 /* 163347 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57689 /* 163352 */ GIR_RootConstrainSelectedInstOperands,
57690 /* 163353 */ // GIR_Coverage, 1366,
57691 /* 163353 */ GIR_EraseRootFromParent_Done,
57692 /* 163354 */ // Label 3608: @163354
57693 /* 163354 */ GIM_Try, /*On fail goto*//*Label 3609*/ GIMT_Encode4(163422), // Rule ID 10142 //
57694 /* 163359 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57695 /* 163362 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
57696 /* 163366 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
57697 /* 163370 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57698 /* 163374 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57699 /* 163378 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57700 /* 163381 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57701 /* 163385 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57702 /* 163389 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
57703 /* 163393 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57704 /* 163395 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57705 /* 163402 */ // (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)
57706 /* 163402 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SSZm),
57707 /* 163405 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57708 /* 163407 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
57709 /* 163409 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57710 /* 163411 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57711 /* 163415 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57712 /* 163420 */ GIR_RootConstrainSelectedInstOperands,
57713 /* 163421 */ // GIR_Coverage, 10142,
57714 /* 163421 */ GIR_EraseRootFromParent_Done,
57715 /* 163422 */ // Label 3609: @163422
57716 /* 163422 */ GIM_Try, /*On fail goto*//*Label 3610*/ GIMT_Encode4(163490), // Rule ID 1300 //
57717 /* 163427 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
57718 /* 163430 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57719 /* 163434 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57720 /* 163438 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57721 /* 163442 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57722 /* 163446 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57723 /* 163450 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57724 /* 163453 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57725 /* 163457 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57726 /* 163461 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57727 /* 163463 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57728 /* 163470 */ // (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)
57729 /* 163470 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSm),
57730 /* 163473 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57731 /* 163475 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57732 /* 163477 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57733 /* 163479 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57734 /* 163483 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57735 /* 163488 */ GIR_RootConstrainSelectedInstOperands,
57736 /* 163489 */ // GIR_Coverage, 1300,
57737 /* 163489 */ GIR_EraseRootFromParent_Done,
57738 /* 163490 */ // Label 3610: @163490
57739 /* 163490 */ GIM_Try, /*On fail goto*//*Label 3611*/ GIMT_Encode4(163558), // Rule ID 1364 //
57740 /* 163495 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
57741 /* 163498 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57742 /* 163502 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57743 /* 163506 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57744 /* 163510 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57745 /* 163514 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57746 /* 163518 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57747 /* 163521 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57748 /* 163525 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57749 /* 163529 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57750 /* 163531 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57751 /* 163538 */ // (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)
57752 /* 163538 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4rm),
57753 /* 163541 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57754 /* 163543 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57755 /* 163545 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
57756 /* 163547 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57757 /* 163551 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57758 /* 163556 */ GIR_RootConstrainSelectedInstOperands,
57759 /* 163557 */ // GIR_Coverage, 1364,
57760 /* 163557 */ GIR_EraseRootFromParent_Done,
57761 /* 163558 */ // Label 3611: @163558
57762 /* 163558 */ GIM_Try, /*On fail goto*//*Label 3612*/ GIMT_Encode4(163626), // Rule ID 10139 //
57763 /* 163563 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57764 /* 163566 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
57765 /* 163570 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
57766 /* 163574 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
57767 /* 163578 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57768 /* 163582 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57769 /* 163586 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57770 /* 163589 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57771 /* 163593 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57772 /* 163597 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57773 /* 163599 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57774 /* 163606 */ // (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)
57775 /* 163606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSZm),
57776 /* 163609 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57777 /* 163611 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57778 /* 163613 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57779 /* 163615 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57780 /* 163619 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57781 /* 163624 */ GIR_RootConstrainSelectedInstOperands,
57782 /* 163625 */ // GIR_Coverage, 10139,
57783 /* 163625 */ GIR_EraseRootFromParent_Done,
57784 /* 163626 */ // Label 3612: @163626
57785 /* 163626 */ GIM_Try, /*On fail goto*//*Label 3613*/ GIMT_Encode4(163663), // Rule ID 1298 //
57786 /* 163631 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
57787 /* 163634 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57788 /* 163638 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57789 /* 163642 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57790 /* 163646 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57791 /* 163650 */ // (fma:{ *:[f32] } FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src3) => (VFMADD213SSr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3)
57792 /* 163650 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSr),
57793 /* 163653 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57794 /* 163655 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57795 /* 163657 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57796 /* 163659 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57797 /* 163661 */ GIR_RootConstrainSelectedInstOperands,
57798 /* 163662 */ // GIR_Coverage, 1298,
57799 /* 163662 */ GIR_EraseRootFromParent_Done,
57800 /* 163663 */ // Label 3613: @163663
57801 /* 163663 */ GIM_Try, /*On fail goto*//*Label 3614*/ GIMT_Encode4(163698), // Rule ID 1362 //
57802 /* 163668 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
57803 /* 163671 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57804 /* 163675 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57805 /* 163679 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57806 /* 163683 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57807 /* 163687 */ // (fma:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3) => (VFMADDSS4rr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3)
57808 /* 163687 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4rr),
57809 /* 163692 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57810 /* 163696 */ GIR_RootConstrainSelectedInstOperands,
57811 /* 163697 */ // GIR_Coverage, 1362,
57812 /* 163697 */ GIR_Done,
57813 /* 163698 */ // Label 3614: @163698
57814 /* 163698 */ GIM_Try, /*On fail goto*//*Label 3615*/ GIMT_Encode4(163735), // Rule ID 10137 //
57815 /* 163703 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57816 /* 163706 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
57817 /* 163710 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
57818 /* 163714 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
57819 /* 163718 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
57820 /* 163722 */ // (fma:{ *:[f32] } FR32X:{ *:[f32] }:$src2, FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src3) => (VFMADD213SSZr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2, FR32X:{ *:[f32] }:$src3)
57821 /* 163722 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSZr),
57822 /* 163725 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57823 /* 163727 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57824 /* 163729 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57825 /* 163731 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57826 /* 163733 */ GIR_RootConstrainSelectedInstOperands,
57827 /* 163734 */ // GIR_Coverage, 10137,
57828 /* 163734 */ GIR_EraseRootFromParent_Done,
57829 /* 163735 */ // Label 3615: @163735
57830 /* 163735 */ GIM_Reject,
57831 /* 163736 */ // Label 3603: @163736
57832 /* 163736 */ GIM_Reject,
57833 /* 163737 */ // Label 3587: @163737
57834 /* 163737 */ GIM_Try, /*On fail goto*//*Label 3616*/ GIMT_Encode4(164473),
57835 /* 163742 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
57836 /* 163745 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
57837 /* 163748 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
57838 /* 163751 */ GIM_Try, /*On fail goto*//*Label 3617*/ GIMT_Encode4(163819), // Rule ID 1312 //
57839 /* 163756 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
57840 /* 163759 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57841 /* 163763 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57842 /* 163767 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57843 /* 163771 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57844 /* 163774 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57845 /* 163778 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57846 /* 163782 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57847 /* 163786 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57848 /* 163790 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57849 /* 163792 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57850 /* 163799 */ // (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)
57851 /* 163799 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SDm),
57852 /* 163802 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57853 /* 163804 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57854 /* 163806 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
57855 /* 163808 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57856 /* 163812 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57857 /* 163817 */ GIR_RootConstrainSelectedInstOperands,
57858 /* 163818 */ // GIR_Coverage, 1312,
57859 /* 163818 */ GIR_EraseRootFromParent_Done,
57860 /* 163819 */ // Label 3617: @163819
57861 /* 163819 */ GIM_Try, /*On fail goto*//*Label 3618*/ GIMT_Encode4(163887), // Rule ID 10153 //
57862 /* 163824 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57863 /* 163827 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
57864 /* 163831 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57865 /* 163835 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57866 /* 163839 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57867 /* 163842 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57868 /* 163846 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57869 /* 163850 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
57870 /* 163854 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
57871 /* 163858 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57872 /* 163860 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57873 /* 163867 */ // (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)
57874 /* 163867 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SDZm),
57875 /* 163870 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57876 /* 163872 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57877 /* 163874 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
57878 /* 163876 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57879 /* 163880 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57880 /* 163885 */ GIR_RootConstrainSelectedInstOperands,
57881 /* 163886 */ // GIR_Coverage, 10153,
57882 /* 163886 */ GIR_EraseRootFromParent_Done,
57883 /* 163887 */ // Label 3618: @163887
57884 /* 163887 */ GIM_Try, /*On fail goto*//*Label 3619*/ GIMT_Encode4(163955), // Rule ID 23391 //
57885 /* 163892 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
57886 /* 163895 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57887 /* 163899 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57888 /* 163903 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57889 /* 163907 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57890 /* 163910 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57891 /* 163914 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57892 /* 163918 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57893 /* 163922 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57894 /* 163926 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57895 /* 163928 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57896 /* 163935 */ // (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)
57897 /* 163935 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4mr),
57898 /* 163938 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57899 /* 163940 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57900 /* 163942 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57901 /* 163946 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57902 /* 163948 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57903 /* 163953 */ GIR_RootConstrainSelectedInstOperands,
57904 /* 163954 */ // GIR_Coverage, 23391,
57905 /* 163954 */ GIR_EraseRootFromParent_Done,
57906 /* 163955 */ // Label 3619: @163955
57907 /* 163955 */ GIM_Try, /*On fail goto*//*Label 3620*/ GIMT_Encode4(164023), // Rule ID 1310 //
57908 /* 163960 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
57909 /* 163963 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57910 /* 163967 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57911 /* 163971 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57912 /* 163975 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57913 /* 163979 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57914 /* 163982 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57915 /* 163986 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57916 /* 163990 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57917 /* 163994 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57918 /* 163996 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57919 /* 164003 */ // (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)
57920 /* 164003 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SDm),
57921 /* 164006 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57922 /* 164008 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
57923 /* 164010 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57924 /* 164012 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57925 /* 164016 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57926 /* 164021 */ GIR_RootConstrainSelectedInstOperands,
57927 /* 164022 */ // GIR_Coverage, 1310,
57928 /* 164022 */ GIR_EraseRootFromParent_Done,
57929 /* 164023 */ // Label 3620: @164023
57930 /* 164023 */ GIM_Try, /*On fail goto*//*Label 3621*/ GIMT_Encode4(164091), // Rule ID 1450 //
57931 /* 164028 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
57932 /* 164031 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57933 /* 164035 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57934 /* 164039 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57935 /* 164043 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57936 /* 164047 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57937 /* 164050 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57938 /* 164054 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57939 /* 164058 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57940 /* 164062 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57941 /* 164064 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57942 /* 164071 */ // (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)
57943 /* 164071 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4mr),
57944 /* 164074 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57945 /* 164076 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57946 /* 164078 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57947 /* 164082 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57948 /* 164084 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57949 /* 164089 */ GIR_RootConstrainSelectedInstOperands,
57950 /* 164090 */ // GIR_Coverage, 1450,
57951 /* 164090 */ GIR_EraseRootFromParent_Done,
57952 /* 164091 */ // Label 3621: @164091
57953 /* 164091 */ GIM_Try, /*On fail goto*//*Label 3622*/ GIMT_Encode4(164159), // Rule ID 10151 //
57954 /* 164096 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57955 /* 164099 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
57956 /* 164103 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
57957 /* 164107 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57958 /* 164111 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57959 /* 164115 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57960 /* 164118 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57961 /* 164122 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57962 /* 164126 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
57963 /* 164130 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57964 /* 164132 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57965 /* 164139 */ // (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)
57966 /* 164139 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SDZm),
57967 /* 164142 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57968 /* 164144 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
57969 /* 164146 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57970 /* 164148 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57971 /* 164152 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57972 /* 164157 */ GIR_RootConstrainSelectedInstOperands,
57973 /* 164158 */ // GIR_Coverage, 10151,
57974 /* 164158 */ GIR_EraseRootFromParent_Done,
57975 /* 164159 */ // Label 3622: @164159
57976 /* 164159 */ GIM_Try, /*On fail goto*//*Label 3623*/ GIMT_Encode4(164227), // Rule ID 1308 //
57977 /* 164164 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
57978 /* 164167 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57979 /* 164171 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57980 /* 164175 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57981 /* 164179 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57982 /* 164183 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57983 /* 164187 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57984 /* 164190 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57985 /* 164194 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57986 /* 164198 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57987 /* 164200 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57988 /* 164207 */ // (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)
57989 /* 164207 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDm),
57990 /* 164210 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57991 /* 164212 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57992 /* 164214 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57993 /* 164216 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57994 /* 164220 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57995 /* 164225 */ GIR_RootConstrainSelectedInstOperands,
57996 /* 164226 */ // GIR_Coverage, 1308,
57997 /* 164226 */ GIR_EraseRootFromParent_Done,
57998 /* 164227 */ // Label 3623: @164227
57999 /* 164227 */ GIM_Try, /*On fail goto*//*Label 3624*/ GIMT_Encode4(164295), // Rule ID 1448 //
58000 /* 164232 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
58001 /* 164235 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58002 /* 164239 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58003 /* 164243 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58004 /* 164247 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58005 /* 164251 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58006 /* 164255 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58007 /* 164258 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58008 /* 164262 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58009 /* 164266 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58010 /* 164268 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58011 /* 164275 */ // (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)
58012 /* 164275 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4rm),
58013 /* 164278 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58014 /* 164280 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58015 /* 164282 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
58016 /* 164284 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58017 /* 164288 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58018 /* 164293 */ GIR_RootConstrainSelectedInstOperands,
58019 /* 164294 */ // GIR_Coverage, 1448,
58020 /* 164294 */ GIR_EraseRootFromParent_Done,
58021 /* 164295 */ // Label 3624: @164295
58022 /* 164295 */ GIM_Try, /*On fail goto*//*Label 3625*/ GIMT_Encode4(164363), // Rule ID 10148 //
58023 /* 164300 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
58024 /* 164303 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58025 /* 164307 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58026 /* 164311 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58027 /* 164315 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58028 /* 164319 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58029 /* 164323 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58030 /* 164326 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58031 /* 164330 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58032 /* 164334 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58033 /* 164336 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58034 /* 164343 */ // (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)
58035 /* 164343 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDZm),
58036 /* 164346 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58037 /* 164348 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58038 /* 164350 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58039 /* 164352 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58040 /* 164356 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58041 /* 164361 */ GIR_RootConstrainSelectedInstOperands,
58042 /* 164362 */ // GIR_Coverage, 10148,
58043 /* 164362 */ GIR_EraseRootFromParent_Done,
58044 /* 164363 */ // Label 3625: @164363
58045 /* 164363 */ GIM_Try, /*On fail goto*//*Label 3626*/ GIMT_Encode4(164400), // Rule ID 1306 //
58046 /* 164368 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
58047 /* 164371 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58048 /* 164375 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58049 /* 164379 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58050 /* 164383 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58051 /* 164387 */ // (fma:{ *:[f64] } FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src3) => (VFMADD213SDr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3)
58052 /* 164387 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDr),
58053 /* 164390 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58054 /* 164392 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58055 /* 164394 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58056 /* 164396 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58057 /* 164398 */ GIR_RootConstrainSelectedInstOperands,
58058 /* 164399 */ // GIR_Coverage, 1306,
58059 /* 164399 */ GIR_EraseRootFromParent_Done,
58060 /* 164400 */ // Label 3626: @164400
58061 /* 164400 */ GIM_Try, /*On fail goto*//*Label 3627*/ GIMT_Encode4(164435), // Rule ID 1446 //
58062 /* 164405 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
58063 /* 164408 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58064 /* 164412 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58065 /* 164416 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58066 /* 164420 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58067 /* 164424 */ // (fma:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3) => (VFMADDSD4rr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3)
58068 /* 164424 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4rr),
58069 /* 164429 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58070 /* 164433 */ GIR_RootConstrainSelectedInstOperands,
58071 /* 164434 */ // GIR_Coverage, 1446,
58072 /* 164434 */ GIR_Done,
58073 /* 164435 */ // Label 3627: @164435
58074 /* 164435 */ GIM_Try, /*On fail goto*//*Label 3628*/ GIMT_Encode4(164472), // Rule ID 10146 //
58075 /* 164440 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
58076 /* 164443 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58077 /* 164447 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58078 /* 164451 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58079 /* 164455 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58080 /* 164459 */ // (fma:{ *:[f64] } FR64X:{ *:[f64] }:$src2, FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src3) => (VFMADD213SDZr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2, FR64X:{ *:[f64] }:$src3)
58081 /* 164459 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDZr),
58082 /* 164462 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58083 /* 164464 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58084 /* 164466 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58085 /* 164468 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58086 /* 164470 */ GIR_RootConstrainSelectedInstOperands,
58087 /* 164471 */ // GIR_Coverage, 10146,
58088 /* 164471 */ GIR_EraseRootFromParent_Done,
58089 /* 164472 */ // Label 3628: @164472
58090 /* 164472 */ GIM_Reject,
58091 /* 164473 */ // Label 3616: @164473
58092 /* 164473 */ GIM_Reject,
58093 /* 164474 */ // Label 3588: @164474
58094 /* 164474 */ GIM_Try, /*On fail goto*//*Label 3629*/ GIMT_Encode4(165210),
58095 /* 164479 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
58096 /* 164482 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
58097 /* 164485 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
58098 /* 164488 */ GIM_Try, /*On fail goto*//*Label 3630*/ GIMT_Encode4(164556), // Rule ID 1192 //
58099 /* 164493 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
58100 /* 164496 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58101 /* 164500 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58102 /* 164504 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58103 /* 164508 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58104 /* 164511 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58105 /* 164515 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58106 /* 164519 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58107 /* 164523 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58108 /* 164527 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58109 /* 164529 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58110 /* 164536 */ // (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)
58111 /* 164536 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDm),
58112 /* 164539 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58113 /* 164541 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58114 /* 164543 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58115 /* 164545 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58116 /* 164549 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58117 /* 164554 */ GIR_RootConstrainSelectedInstOperands,
58118 /* 164555 */ // GIR_Coverage, 1192,
58119 /* 164555 */ GIR_EraseRootFromParent_Done,
58120 /* 164556 */ // Label 3630: @164556
58121 /* 164556 */ GIM_Try, /*On fail goto*//*Label 3631*/ GIMT_Encode4(164624), // Rule ID 9685 //
58122 /* 164561 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58123 /* 164564 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58124 /* 164568 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58125 /* 164572 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58126 /* 164576 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58127 /* 164579 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58128 /* 164583 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58129 /* 164587 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58130 /* 164591 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58131 /* 164595 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58132 /* 164597 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58133 /* 164604 */ // (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)
58134 /* 164604 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZ128m),
58135 /* 164607 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58136 /* 164609 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58137 /* 164611 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58138 /* 164613 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58139 /* 164617 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58140 /* 164622 */ GIR_RootConstrainSelectedInstOperands,
58141 /* 164623 */ // GIR_Coverage, 9685,
58142 /* 164623 */ GIR_EraseRootFromParent_Done,
58143 /* 164624 */ // Label 3631: @164624
58144 /* 164624 */ GIM_Try, /*On fail goto*//*Label 3632*/ GIMT_Encode4(164692), // Rule ID 23399 //
58145 /* 164629 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
58146 /* 164632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58147 /* 164636 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58148 /* 164640 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58149 /* 164644 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58150 /* 164647 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58151 /* 164651 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58152 /* 164655 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58153 /* 164659 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58154 /* 164663 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58155 /* 164665 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58156 /* 164672 */ // (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)
58157 /* 164672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4mr),
58158 /* 164675 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58159 /* 164677 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58160 /* 164679 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58161 /* 164683 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58162 /* 164685 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58163 /* 164690 */ GIR_RootConstrainSelectedInstOperands,
58164 /* 164691 */ // GIR_Coverage, 23399,
58165 /* 164691 */ GIR_EraseRootFromParent_Done,
58166 /* 164692 */ // Label 3632: @164692
58167 /* 164692 */ GIM_Try, /*On fail goto*//*Label 3633*/ GIMT_Encode4(164760), // Rule ID 1190 //
58168 /* 164697 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
58169 /* 164700 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58170 /* 164704 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58171 /* 164708 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58172 /* 164712 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58173 /* 164716 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58174 /* 164719 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58175 /* 164723 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58176 /* 164727 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58177 /* 164731 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58178 /* 164733 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58179 /* 164740 */ // (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)
58180 /* 164740 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDm),
58181 /* 164743 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58182 /* 164745 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58183 /* 164747 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58184 /* 164749 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58185 /* 164753 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58186 /* 164758 */ GIR_RootConstrainSelectedInstOperands,
58187 /* 164759 */ // GIR_Coverage, 1190,
58188 /* 164759 */ GIR_EraseRootFromParent_Done,
58189 /* 164760 */ // Label 3633: @164760
58190 /* 164760 */ GIM_Try, /*On fail goto*//*Label 3634*/ GIMT_Encode4(164828), // Rule ID 1474 //
58191 /* 164765 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
58192 /* 164768 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58193 /* 164772 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58194 /* 164776 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58195 /* 164780 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58196 /* 164784 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58197 /* 164787 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58198 /* 164791 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58199 /* 164795 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58200 /* 164799 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58201 /* 164801 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58202 /* 164808 */ // (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)
58203 /* 164808 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4mr),
58204 /* 164811 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58205 /* 164813 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58206 /* 164815 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58207 /* 164819 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58208 /* 164821 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58209 /* 164826 */ GIR_RootConstrainSelectedInstOperands,
58210 /* 164827 */ // GIR_Coverage, 1474,
58211 /* 164827 */ GIR_EraseRootFromParent_Done,
58212 /* 164828 */ // Label 3634: @164828
58213 /* 164828 */ GIM_Try, /*On fail goto*//*Label 3635*/ GIMT_Encode4(164896), // Rule ID 9145 //
58214 /* 164833 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58215 /* 164836 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58216 /* 164840 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58217 /* 164844 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58218 /* 164848 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58219 /* 164852 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58220 /* 164855 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58221 /* 164859 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58222 /* 164863 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58223 /* 164867 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58224 /* 164869 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58225 /* 164876 */ // (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)
58226 /* 164876 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZ128m),
58227 /* 164879 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58228 /* 164881 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58229 /* 164883 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58230 /* 164885 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58231 /* 164889 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58232 /* 164894 */ GIR_RootConstrainSelectedInstOperands,
58233 /* 164895 */ // GIR_Coverage, 9145,
58234 /* 164895 */ GIR_EraseRootFromParent_Done,
58235 /* 164896 */ // Label 3635: @164896
58236 /* 164896 */ GIM_Try, /*On fail goto*//*Label 3636*/ GIMT_Encode4(164964), // Rule ID 1188 //
58237 /* 164901 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
58238 /* 164904 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58239 /* 164908 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58240 /* 164912 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58241 /* 164916 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58242 /* 164920 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58243 /* 164924 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58244 /* 164927 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58245 /* 164931 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58246 /* 164935 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58247 /* 164937 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58248 /* 164944 */ // (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)
58249 /* 164944 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDm),
58250 /* 164947 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58251 /* 164949 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58252 /* 164951 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58253 /* 164953 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58254 /* 164957 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58255 /* 164962 */ GIR_RootConstrainSelectedInstOperands,
58256 /* 164963 */ // GIR_Coverage, 1188,
58257 /* 164963 */ GIR_EraseRootFromParent_Done,
58258 /* 164964 */ // Label 3636: @164964
58259 /* 164964 */ GIM_Try, /*On fail goto*//*Label 3637*/ GIMT_Encode4(165032), // Rule ID 1472 //
58260 /* 164969 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
58261 /* 164972 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58262 /* 164976 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58263 /* 164980 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58264 /* 164984 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58265 /* 164988 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58266 /* 164992 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58267 /* 164995 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58268 /* 164999 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58269 /* 165003 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58270 /* 165005 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58271 /* 165012 */ // (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)
58272 /* 165012 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4rm),
58273 /* 165015 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58274 /* 165017 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58275 /* 165019 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
58276 /* 165021 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58277 /* 165025 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58278 /* 165030 */ GIR_RootConstrainSelectedInstOperands,
58279 /* 165031 */ // GIR_Coverage, 1472,
58280 /* 165031 */ GIR_EraseRootFromParent_Done,
58281 /* 165032 */ // Label 3637: @165032
58282 /* 165032 */ GIM_Try, /*On fail goto*//*Label 3638*/ GIMT_Encode4(165100), // Rule ID 8518 //
58283 /* 165037 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58284 /* 165040 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58285 /* 165044 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58286 /* 165048 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58287 /* 165052 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58288 /* 165056 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58289 /* 165060 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58290 /* 165063 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58291 /* 165067 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58292 /* 165071 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58293 /* 165073 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58294 /* 165080 */ // (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)
58295 /* 165080 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ128m),
58296 /* 165083 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58297 /* 165085 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58298 /* 165087 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58299 /* 165089 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58300 /* 165093 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58301 /* 165098 */ GIR_RootConstrainSelectedInstOperands,
58302 /* 165099 */ // GIR_Coverage, 8518,
58303 /* 165099 */ GIR_EraseRootFromParent_Done,
58304 /* 165100 */ // Label 3638: @165100
58305 /* 165100 */ GIM_Try, /*On fail goto*//*Label 3639*/ GIMT_Encode4(165137), // Rule ID 1186 //
58306 /* 165105 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
58307 /* 165108 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58308 /* 165112 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58309 /* 165116 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58310 /* 165120 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58311 /* 165124 */ // (fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src3) => (VFMADD213PDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3)
58312 /* 165124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDr),
58313 /* 165127 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58314 /* 165129 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58315 /* 165131 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58316 /* 165133 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58317 /* 165135 */ GIR_RootConstrainSelectedInstOperands,
58318 /* 165136 */ // GIR_Coverage, 1186,
58319 /* 165136 */ GIR_EraseRootFromParent_Done,
58320 /* 165137 */ // Label 3639: @165137
58321 /* 165137 */ GIM_Try, /*On fail goto*//*Label 3640*/ GIMT_Encode4(165172), // Rule ID 1470 //
58322 /* 165142 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
58323 /* 165145 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58324 /* 165149 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58325 /* 165153 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58326 /* 165157 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58327 /* 165161 */ // (fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3) => (VFMADDPD4rr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3)
58328 /* 165161 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4rr),
58329 /* 165166 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58330 /* 165170 */ GIR_RootConstrainSelectedInstOperands,
58331 /* 165171 */ // GIR_Coverage, 1470,
58332 /* 165171 */ GIR_Done,
58333 /* 165172 */ // Label 3640: @165172
58334 /* 165172 */ GIM_Try, /*On fail goto*//*Label 3641*/ GIMT_Encode4(165209), // Rule ID 8514 //
58335 /* 165177 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58336 /* 165180 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58337 /* 165184 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58338 /* 165188 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58339 /* 165192 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58340 /* 165196 */ // (fma:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src2, VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src3) => (VFMADD213PDZ128r:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2, VR128X:{ *:[v2f64] }:$src3)
58341 /* 165196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ128r),
58342 /* 165199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58343 /* 165201 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58344 /* 165203 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58345 /* 165205 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58346 /* 165207 */ GIR_RootConstrainSelectedInstOperands,
58347 /* 165208 */ // GIR_Coverage, 8514,
58348 /* 165208 */ GIR_EraseRootFromParent_Done,
58349 /* 165209 */ // Label 3641: @165209
58350 /* 165209 */ GIM_Reject,
58351 /* 165210 */ // Label 3629: @165210
58352 /* 165210 */ GIM_Reject,
58353 /* 165211 */ // Label 3589: @165211
58354 /* 165211 */ GIM_Try, /*On fail goto*//*Label 3642*/ GIMT_Encode4(165947),
58355 /* 165216 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
58356 /* 165219 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
58357 /* 165222 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
58358 /* 165225 */ GIM_Try, /*On fail goto*//*Label 3643*/ GIMT_Encode4(165293), // Rule ID 1144 //
58359 /* 165230 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
58360 /* 165233 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58361 /* 165237 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58362 /* 165241 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58363 /* 165245 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58364 /* 165248 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58365 /* 165252 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58366 /* 165256 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58367 /* 165260 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58368 /* 165264 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58369 /* 165266 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58370 /* 165273 */ // (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)
58371 /* 165273 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSm),
58372 /* 165276 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58373 /* 165278 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58374 /* 165280 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58375 /* 165282 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58376 /* 165286 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58377 /* 165291 */ GIR_RootConstrainSelectedInstOperands,
58378 /* 165292 */ // GIR_Coverage, 1144,
58379 /* 165292 */ GIR_EraseRootFromParent_Done,
58380 /* 165293 */ // Label 3643: @165293
58381 /* 165293 */ GIM_Try, /*On fail goto*//*Label 3644*/ GIMT_Encode4(165361), // Rule ID 9653 //
58382 /* 165298 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58383 /* 165301 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58384 /* 165305 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58385 /* 165309 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58386 /* 165313 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58387 /* 165316 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58388 /* 165320 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58389 /* 165324 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58390 /* 165328 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58391 /* 165332 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58392 /* 165334 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58393 /* 165341 */ // (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)
58394 /* 165341 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZ128m),
58395 /* 165344 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58396 /* 165346 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58397 /* 165348 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58398 /* 165350 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58399 /* 165354 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58400 /* 165359 */ GIR_RootConstrainSelectedInstOperands,
58401 /* 165360 */ // GIR_Coverage, 9653,
58402 /* 165360 */ GIR_EraseRootFromParent_Done,
58403 /* 165361 */ // Label 3644: @165361
58404 /* 165361 */ GIM_Try, /*On fail goto*//*Label 3645*/ GIMT_Encode4(165429), // Rule ID 23371 //
58405 /* 165366 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
58406 /* 165369 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58407 /* 165373 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58408 /* 165377 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58409 /* 165381 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58410 /* 165384 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58411 /* 165388 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58412 /* 165392 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58413 /* 165396 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58414 /* 165400 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58415 /* 165402 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58416 /* 165409 */ // (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)
58417 /* 165409 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4mr),
58418 /* 165412 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58419 /* 165414 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58420 /* 165416 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58421 /* 165420 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58422 /* 165422 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58423 /* 165427 */ GIR_RootConstrainSelectedInstOperands,
58424 /* 165428 */ // GIR_Coverage, 23371,
58425 /* 165428 */ GIR_EraseRootFromParent_Done,
58426 /* 165429 */ // Label 3645: @165429
58427 /* 165429 */ GIM_Try, /*On fail goto*//*Label 3646*/ GIMT_Encode4(165497), // Rule ID 1142 //
58428 /* 165434 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
58429 /* 165437 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58430 /* 165441 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58431 /* 165445 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58432 /* 165449 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58433 /* 165453 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58434 /* 165456 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58435 /* 165460 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58436 /* 165464 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58437 /* 165468 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58438 /* 165470 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58439 /* 165477 */ // (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)
58440 /* 165477 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSm),
58441 /* 165480 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58442 /* 165482 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58443 /* 165484 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58444 /* 165486 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58445 /* 165490 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58446 /* 165495 */ GIR_RootConstrainSelectedInstOperands,
58447 /* 165496 */ // GIR_Coverage, 1142,
58448 /* 165496 */ GIR_EraseRootFromParent_Done,
58449 /* 165497 */ // Label 3646: @165497
58450 /* 165497 */ GIM_Try, /*On fail goto*//*Label 3647*/ GIMT_Encode4(165565), // Rule ID 1390 //
58451 /* 165502 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
58452 /* 165505 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58453 /* 165509 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58454 /* 165513 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58455 /* 165517 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58456 /* 165521 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58457 /* 165524 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58458 /* 165528 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58459 /* 165532 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58460 /* 165536 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58461 /* 165538 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58462 /* 165545 */ // (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)
58463 /* 165545 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4mr),
58464 /* 165548 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58465 /* 165550 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58466 /* 165552 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58467 /* 165556 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58468 /* 165558 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58469 /* 165563 */ GIR_RootConstrainSelectedInstOperands,
58470 /* 165564 */ // GIR_Coverage, 1390,
58471 /* 165564 */ GIR_EraseRootFromParent_Done,
58472 /* 165565 */ // Label 3647: @165565
58473 /* 165565 */ GIM_Try, /*On fail goto*//*Label 3648*/ GIMT_Encode4(165633), // Rule ID 9113 //
58474 /* 165570 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58475 /* 165573 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58476 /* 165577 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58477 /* 165581 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58478 /* 165585 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58479 /* 165589 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58480 /* 165592 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58481 /* 165596 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58482 /* 165600 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58483 /* 165604 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58484 /* 165606 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58485 /* 165613 */ // (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)
58486 /* 165613 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZ128m),
58487 /* 165616 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58488 /* 165618 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58489 /* 165620 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58490 /* 165622 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58491 /* 165626 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58492 /* 165631 */ GIR_RootConstrainSelectedInstOperands,
58493 /* 165632 */ // GIR_Coverage, 9113,
58494 /* 165632 */ GIR_EraseRootFromParent_Done,
58495 /* 165633 */ // Label 3648: @165633
58496 /* 165633 */ GIM_Try, /*On fail goto*//*Label 3649*/ GIMT_Encode4(165701), // Rule ID 1140 //
58497 /* 165638 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
58498 /* 165641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58499 /* 165645 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58500 /* 165649 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58501 /* 165653 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58502 /* 165657 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58503 /* 165661 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58504 /* 165664 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58505 /* 165668 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58506 /* 165672 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58507 /* 165674 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58508 /* 165681 */ // (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)
58509 /* 165681 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSm),
58510 /* 165684 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58511 /* 165686 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58512 /* 165688 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58513 /* 165690 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58514 /* 165694 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58515 /* 165699 */ GIR_RootConstrainSelectedInstOperands,
58516 /* 165700 */ // GIR_Coverage, 1140,
58517 /* 165700 */ GIR_EraseRootFromParent_Done,
58518 /* 165701 */ // Label 3649: @165701
58519 /* 165701 */ GIM_Try, /*On fail goto*//*Label 3650*/ GIMT_Encode4(165769), // Rule ID 1388 //
58520 /* 165706 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
58521 /* 165709 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58522 /* 165713 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58523 /* 165717 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58524 /* 165721 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58525 /* 165725 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58526 /* 165729 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58527 /* 165732 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58528 /* 165736 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58529 /* 165740 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58530 /* 165742 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58531 /* 165749 */ // (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)
58532 /* 165749 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4rm),
58533 /* 165752 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58534 /* 165754 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58535 /* 165756 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
58536 /* 165758 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58537 /* 165762 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58538 /* 165767 */ GIR_RootConstrainSelectedInstOperands,
58539 /* 165768 */ // GIR_Coverage, 1388,
58540 /* 165768 */ GIR_EraseRootFromParent_Done,
58541 /* 165769 */ // Label 3650: @165769
58542 /* 165769 */ GIM_Try, /*On fail goto*//*Label 3651*/ GIMT_Encode4(165837), // Rule ID 8479 //
58543 /* 165774 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58544 /* 165777 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58545 /* 165781 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58546 /* 165785 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58547 /* 165789 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58548 /* 165793 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58549 /* 165797 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58550 /* 165800 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58551 /* 165804 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58552 /* 165808 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58553 /* 165810 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58554 /* 165817 */ // (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)
58555 /* 165817 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ128m),
58556 /* 165820 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58557 /* 165822 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58558 /* 165824 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58559 /* 165826 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58560 /* 165830 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58561 /* 165835 */ GIR_RootConstrainSelectedInstOperands,
58562 /* 165836 */ // GIR_Coverage, 8479,
58563 /* 165836 */ GIR_EraseRootFromParent_Done,
58564 /* 165837 */ // Label 3651: @165837
58565 /* 165837 */ GIM_Try, /*On fail goto*//*Label 3652*/ GIMT_Encode4(165874), // Rule ID 1138 //
58566 /* 165842 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
58567 /* 165845 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58568 /* 165849 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58569 /* 165853 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58570 /* 165857 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58571 /* 165861 */ // (fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src3) => (VFMADD213PSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3)
58572 /* 165861 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSr),
58573 /* 165864 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58574 /* 165866 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58575 /* 165868 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58576 /* 165870 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58577 /* 165872 */ GIR_RootConstrainSelectedInstOperands,
58578 /* 165873 */ // GIR_Coverage, 1138,
58579 /* 165873 */ GIR_EraseRootFromParent_Done,
58580 /* 165874 */ // Label 3652: @165874
58581 /* 165874 */ GIM_Try, /*On fail goto*//*Label 3653*/ GIMT_Encode4(165909), // Rule ID 1386 //
58582 /* 165879 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
58583 /* 165882 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58584 /* 165886 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58585 /* 165890 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58586 /* 165894 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58587 /* 165898 */ // (fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3) => (VFMADDPS4rr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3)
58588 /* 165898 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4rr),
58589 /* 165903 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58590 /* 165907 */ GIR_RootConstrainSelectedInstOperands,
58591 /* 165908 */ // GIR_Coverage, 1386,
58592 /* 165908 */ GIR_Done,
58593 /* 165909 */ // Label 3653: @165909
58594 /* 165909 */ GIM_Try, /*On fail goto*//*Label 3654*/ GIMT_Encode4(165946), // Rule ID 8475 //
58595 /* 165914 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58596 /* 165917 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58597 /* 165921 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58598 /* 165925 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58599 /* 165929 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58600 /* 165933 */ // (fma:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src2, VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src3) => (VFMADD213PSZ128r:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2, VR128X:{ *:[v4f32] }:$src3)
58601 /* 165933 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ128r),
58602 /* 165936 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58603 /* 165938 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58604 /* 165940 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58605 /* 165942 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58606 /* 165944 */ GIR_RootConstrainSelectedInstOperands,
58607 /* 165945 */ // GIR_Coverage, 8475,
58608 /* 165945 */ GIR_EraseRootFromParent_Done,
58609 /* 165946 */ // Label 3654: @165946
58610 /* 165946 */ GIM_Reject,
58611 /* 165947 */ // Label 3642: @165947
58612 /* 165947 */ GIM_Reject,
58613 /* 165948 */ // Label 3590: @165948
58614 /* 165948 */ GIM_Try, /*On fail goto*//*Label 3655*/ GIMT_Encode4(166684),
58615 /* 165953 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
58616 /* 165956 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
58617 /* 165959 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
58618 /* 165962 */ GIM_Try, /*On fail goto*//*Label 3656*/ GIMT_Encode4(166030), // Rule ID 1200 //
58619 /* 165967 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
58620 /* 165970 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58621 /* 165974 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58622 /* 165978 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58623 /* 165982 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58624 /* 165985 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58625 /* 165989 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58626 /* 165993 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58627 /* 165997 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58628 /* 166001 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58629 /* 166003 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58630 /* 166010 */ // (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)
58631 /* 166010 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDYm),
58632 /* 166013 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58633 /* 166015 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58634 /* 166017 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58635 /* 166019 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58636 /* 166023 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58637 /* 166028 */ GIR_RootConstrainSelectedInstOperands,
58638 /* 166029 */ // GIR_Coverage, 1200,
58639 /* 166029 */ GIR_EraseRootFromParent_Done,
58640 /* 166030 */ // Label 3656: @166030
58641 /* 166030 */ GIM_Try, /*On fail goto*//*Label 3657*/ GIMT_Encode4(166098), // Rule ID 9675 //
58642 /* 166035 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58643 /* 166038 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58644 /* 166042 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58645 /* 166046 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58646 /* 166050 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58647 /* 166053 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58648 /* 166057 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58649 /* 166061 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58650 /* 166065 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58651 /* 166069 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58652 /* 166071 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58653 /* 166078 */ // (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)
58654 /* 166078 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZ256m),
58655 /* 166081 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58656 /* 166083 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58657 /* 166085 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58658 /* 166087 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58659 /* 166091 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58660 /* 166096 */ GIR_RootConstrainSelectedInstOperands,
58661 /* 166097 */ // GIR_Coverage, 9675,
58662 /* 166097 */ GIR_EraseRootFromParent_Done,
58663 /* 166098 */ // Label 3657: @166098
58664 /* 166098 */ GIM_Try, /*On fail goto*//*Label 3658*/ GIMT_Encode4(166166), // Rule ID 23401 //
58665 /* 166103 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
58666 /* 166106 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58667 /* 166110 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58668 /* 166114 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58669 /* 166118 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58670 /* 166121 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58671 /* 166125 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58672 /* 166129 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58673 /* 166133 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58674 /* 166137 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58675 /* 166139 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58676 /* 166146 */ // (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)
58677 /* 166146 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Ymr),
58678 /* 166149 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58679 /* 166151 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58680 /* 166153 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58681 /* 166157 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58682 /* 166159 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58683 /* 166164 */ GIR_RootConstrainSelectedInstOperands,
58684 /* 166165 */ // GIR_Coverage, 23401,
58685 /* 166165 */ GIR_EraseRootFromParent_Done,
58686 /* 166166 */ // Label 3658: @166166
58687 /* 166166 */ GIM_Try, /*On fail goto*//*Label 3659*/ GIMT_Encode4(166234), // Rule ID 1198 //
58688 /* 166171 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
58689 /* 166174 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58690 /* 166178 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58691 /* 166182 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58692 /* 166186 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58693 /* 166190 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58694 /* 166193 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58695 /* 166197 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58696 /* 166201 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58697 /* 166205 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58698 /* 166207 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58699 /* 166214 */ // (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)
58700 /* 166214 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDYm),
58701 /* 166217 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58702 /* 166219 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58703 /* 166221 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58704 /* 166223 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58705 /* 166227 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58706 /* 166232 */ GIR_RootConstrainSelectedInstOperands,
58707 /* 166233 */ // GIR_Coverage, 1198,
58708 /* 166233 */ GIR_EraseRootFromParent_Done,
58709 /* 166234 */ // Label 3659: @166234
58710 /* 166234 */ GIM_Try, /*On fail goto*//*Label 3660*/ GIMT_Encode4(166302), // Rule ID 1480 //
58711 /* 166239 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
58712 /* 166242 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58713 /* 166246 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58714 /* 166250 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58715 /* 166254 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58716 /* 166258 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58717 /* 166261 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58718 /* 166265 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58719 /* 166269 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58720 /* 166273 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58721 /* 166275 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58722 /* 166282 */ // (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)
58723 /* 166282 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Ymr),
58724 /* 166285 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58725 /* 166287 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58726 /* 166289 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58727 /* 166293 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58728 /* 166295 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58729 /* 166300 */ GIR_RootConstrainSelectedInstOperands,
58730 /* 166301 */ // GIR_Coverage, 1480,
58731 /* 166301 */ GIR_EraseRootFromParent_Done,
58732 /* 166302 */ // Label 3660: @166302
58733 /* 166302 */ GIM_Try, /*On fail goto*//*Label 3661*/ GIMT_Encode4(166370), // Rule ID 9135 //
58734 /* 166307 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58735 /* 166310 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58736 /* 166314 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58737 /* 166318 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58738 /* 166322 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58739 /* 166326 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58740 /* 166329 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58741 /* 166333 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58742 /* 166337 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58743 /* 166341 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58744 /* 166343 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58745 /* 166350 */ // (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)
58746 /* 166350 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZ256m),
58747 /* 166353 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58748 /* 166355 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58749 /* 166357 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58750 /* 166359 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58751 /* 166363 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58752 /* 166368 */ GIR_RootConstrainSelectedInstOperands,
58753 /* 166369 */ // GIR_Coverage, 9135,
58754 /* 166369 */ GIR_EraseRootFromParent_Done,
58755 /* 166370 */ // Label 3661: @166370
58756 /* 166370 */ GIM_Try, /*On fail goto*//*Label 3662*/ GIMT_Encode4(166438), // Rule ID 1196 //
58757 /* 166375 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
58758 /* 166378 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58759 /* 166382 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58760 /* 166386 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58761 /* 166390 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58762 /* 166394 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58763 /* 166398 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58764 /* 166401 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58765 /* 166405 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58766 /* 166409 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58767 /* 166411 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58768 /* 166418 */ // (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)
58769 /* 166418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDYm),
58770 /* 166421 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58771 /* 166423 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58772 /* 166425 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58773 /* 166427 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58774 /* 166431 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58775 /* 166436 */ GIR_RootConstrainSelectedInstOperands,
58776 /* 166437 */ // GIR_Coverage, 1196,
58777 /* 166437 */ GIR_EraseRootFromParent_Done,
58778 /* 166438 */ // Label 3662: @166438
58779 /* 166438 */ GIM_Try, /*On fail goto*//*Label 3663*/ GIMT_Encode4(166506), // Rule ID 1478 //
58780 /* 166443 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
58781 /* 166446 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58782 /* 166450 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58783 /* 166454 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58784 /* 166458 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58785 /* 166462 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58786 /* 166466 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58787 /* 166469 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58788 /* 166473 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58789 /* 166477 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58790 /* 166479 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58791 /* 166486 */ // (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)
58792 /* 166486 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Yrm),
58793 /* 166489 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58794 /* 166491 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58795 /* 166493 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
58796 /* 166495 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58797 /* 166499 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58798 /* 166504 */ GIR_RootConstrainSelectedInstOperands,
58799 /* 166505 */ // GIR_Coverage, 1478,
58800 /* 166505 */ GIR_EraseRootFromParent_Done,
58801 /* 166506 */ // Label 3663: @166506
58802 /* 166506 */ GIM_Try, /*On fail goto*//*Label 3664*/ GIMT_Encode4(166574), // Rule ID 8506 //
58803 /* 166511 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58804 /* 166514 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58805 /* 166518 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58806 /* 166522 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58807 /* 166526 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58808 /* 166530 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58809 /* 166534 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58810 /* 166537 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58811 /* 166541 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58812 /* 166545 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58813 /* 166547 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58814 /* 166554 */ // (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)
58815 /* 166554 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ256m),
58816 /* 166557 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58817 /* 166559 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58818 /* 166561 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58819 /* 166563 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58820 /* 166567 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58821 /* 166572 */ GIR_RootConstrainSelectedInstOperands,
58822 /* 166573 */ // GIR_Coverage, 8506,
58823 /* 166573 */ GIR_EraseRootFromParent_Done,
58824 /* 166574 */ // Label 3664: @166574
58825 /* 166574 */ GIM_Try, /*On fail goto*//*Label 3665*/ GIMT_Encode4(166611), // Rule ID 1194 //
58826 /* 166579 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
58827 /* 166582 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58828 /* 166586 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58829 /* 166590 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58830 /* 166594 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58831 /* 166598 */ // (fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src3) => (VFMADD213PDYr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3)
58832 /* 166598 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDYr),
58833 /* 166601 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58834 /* 166603 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58835 /* 166605 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58836 /* 166607 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58837 /* 166609 */ GIR_RootConstrainSelectedInstOperands,
58838 /* 166610 */ // GIR_Coverage, 1194,
58839 /* 166610 */ GIR_EraseRootFromParent_Done,
58840 /* 166611 */ // Label 3665: @166611
58841 /* 166611 */ GIM_Try, /*On fail goto*//*Label 3666*/ GIMT_Encode4(166646), // Rule ID 1476 //
58842 /* 166616 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
58843 /* 166619 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58844 /* 166623 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58845 /* 166627 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58846 /* 166631 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58847 /* 166635 */ // (fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3) => (VFMADDPD4Yrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3)
58848 /* 166635 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Yrr),
58849 /* 166640 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58850 /* 166644 */ GIR_RootConstrainSelectedInstOperands,
58851 /* 166645 */ // GIR_Coverage, 1476,
58852 /* 166645 */ GIR_Done,
58853 /* 166646 */ // Label 3666: @166646
58854 /* 166646 */ GIM_Try, /*On fail goto*//*Label 3667*/ GIMT_Encode4(166683), // Rule ID 8502 //
58855 /* 166651 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58856 /* 166654 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58857 /* 166658 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58858 /* 166662 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58859 /* 166666 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58860 /* 166670 */ // (fma:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src2, VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src3) => (VFMADD213PDZ256r:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2, VR256X:{ *:[v4f64] }:$src3)
58861 /* 166670 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ256r),
58862 /* 166673 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58863 /* 166675 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58864 /* 166677 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58865 /* 166679 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58866 /* 166681 */ GIR_RootConstrainSelectedInstOperands,
58867 /* 166682 */ // GIR_Coverage, 8502,
58868 /* 166682 */ GIR_EraseRootFromParent_Done,
58869 /* 166683 */ // Label 3667: @166683
58870 /* 166683 */ GIM_Reject,
58871 /* 166684 */ // Label 3655: @166684
58872 /* 166684 */ GIM_Reject,
58873 /* 166685 */ // Label 3591: @166685
58874 /* 166685 */ GIM_Try, /*On fail goto*//*Label 3668*/ GIMT_Encode4(166929),
58875 /* 166690 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
58876 /* 166693 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
58877 /* 166696 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
58878 /* 166699 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58879 /* 166703 */ GIM_Try, /*On fail goto*//*Label 3669*/ GIMT_Encode4(166767), // Rule ID 9621 //
58880 /* 166708 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
58881 /* 166711 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58882 /* 166715 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58883 /* 166719 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58884 /* 166722 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58885 /* 166726 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58886 /* 166730 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58887 /* 166734 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58888 /* 166738 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58889 /* 166740 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58890 /* 166747 */ // (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)
58891 /* 166747 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZ128m),
58892 /* 166750 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58893 /* 166752 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58894 /* 166754 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58895 /* 166756 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58896 /* 166760 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58897 /* 166765 */ GIR_RootConstrainSelectedInstOperands,
58898 /* 166766 */ // GIR_Coverage, 9621,
58899 /* 166766 */ GIR_EraseRootFromParent_Done,
58900 /* 166767 */ // Label 3669: @166767
58901 /* 166767 */ GIM_Try, /*On fail goto*//*Label 3670*/ GIMT_Encode4(166831), // Rule ID 9081 //
58902 /* 166772 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
58903 /* 166775 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58904 /* 166779 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58905 /* 166783 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58906 /* 166787 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58907 /* 166790 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58908 /* 166794 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58909 /* 166798 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58910 /* 166802 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58911 /* 166804 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58912 /* 166811 */ // (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)
58913 /* 166811 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZ128m),
58914 /* 166814 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58915 /* 166816 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58916 /* 166818 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58917 /* 166820 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58918 /* 166824 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58919 /* 166829 */ GIR_RootConstrainSelectedInstOperands,
58920 /* 166830 */ // GIR_Coverage, 9081,
58921 /* 166830 */ GIR_EraseRootFromParent_Done,
58922 /* 166831 */ // Label 3670: @166831
58923 /* 166831 */ GIM_Try, /*On fail goto*//*Label 3671*/ GIMT_Encode4(166895), // Rule ID 8440 //
58924 /* 166836 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
58925 /* 166839 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58926 /* 166843 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58927 /* 166847 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58928 /* 166851 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58929 /* 166855 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58930 /* 166858 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58931 /* 166862 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58932 /* 166866 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58933 /* 166868 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58934 /* 166875 */ // (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)
58935 /* 166875 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ128m),
58936 /* 166878 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58937 /* 166880 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58938 /* 166882 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58939 /* 166884 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58940 /* 166888 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58941 /* 166893 */ GIR_RootConstrainSelectedInstOperands,
58942 /* 166894 */ // GIR_Coverage, 8440,
58943 /* 166894 */ GIR_EraseRootFromParent_Done,
58944 /* 166895 */ // Label 3671: @166895
58945 /* 166895 */ GIM_Try, /*On fail goto*//*Label 3672*/ GIMT_Encode4(166928), // Rule ID 8436 //
58946 /* 166900 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
58947 /* 166903 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58948 /* 166907 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58949 /* 166911 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58950 /* 166915 */ // (fma:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src2, VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src3) => (VFMADD213PHZ128r:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2, VR128X:{ *:[v8f16] }:$src3)
58951 /* 166915 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ128r),
58952 /* 166918 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58953 /* 166920 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58954 /* 166922 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58955 /* 166924 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58956 /* 166926 */ GIR_RootConstrainSelectedInstOperands,
58957 /* 166927 */ // GIR_Coverage, 8436,
58958 /* 166927 */ GIR_EraseRootFromParent_Done,
58959 /* 166928 */ // Label 3672: @166928
58960 /* 166928 */ GIM_Reject,
58961 /* 166929 */ // Label 3668: @166929
58962 /* 166929 */ GIM_Reject,
58963 /* 166930 */ // Label 3592: @166930
58964 /* 166930 */ GIM_Try, /*On fail goto*//*Label 3673*/ GIMT_Encode4(167666),
58965 /* 166935 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
58966 /* 166938 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
58967 /* 166941 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
58968 /* 166944 */ GIM_Try, /*On fail goto*//*Label 3674*/ GIMT_Encode4(167012), // Rule ID 1152 //
58969 /* 166949 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
58970 /* 166952 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58971 /* 166956 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58972 /* 166960 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58973 /* 166964 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58974 /* 166967 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58975 /* 166971 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58976 /* 166975 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58977 /* 166979 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58978 /* 166983 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58979 /* 166985 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58980 /* 166992 */ // (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)
58981 /* 166992 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSYm),
58982 /* 166995 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58983 /* 166997 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58984 /* 166999 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58985 /* 167001 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58986 /* 167005 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58987 /* 167010 */ GIR_RootConstrainSelectedInstOperands,
58988 /* 167011 */ // GIR_Coverage, 1152,
58989 /* 167011 */ GIR_EraseRootFromParent_Done,
58990 /* 167012 */ // Label 3674: @167012
58991 /* 167012 */ GIM_Try, /*On fail goto*//*Label 3675*/ GIMT_Encode4(167080), // Rule ID 9643 //
58992 /* 167017 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58993 /* 167020 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58994 /* 167024 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58995 /* 167028 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58996 /* 167032 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58997 /* 167035 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58998 /* 167039 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58999 /* 167043 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59000 /* 167047 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59001 /* 167051 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59002 /* 167053 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59003 /* 167060 */ // (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)
59004 /* 167060 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZ256m),
59005 /* 167063 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59006 /* 167065 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59007 /* 167067 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
59008 /* 167069 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59009 /* 167073 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59010 /* 167078 */ GIR_RootConstrainSelectedInstOperands,
59011 /* 167079 */ // GIR_Coverage, 9643,
59012 /* 167079 */ GIR_EraseRootFromParent_Done,
59013 /* 167080 */ // Label 3675: @167080
59014 /* 167080 */ GIM_Try, /*On fail goto*//*Label 3676*/ GIMT_Encode4(167148), // Rule ID 23373 //
59015 /* 167085 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59016 /* 167088 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59017 /* 167092 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59018 /* 167096 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59019 /* 167100 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59020 /* 167103 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59021 /* 167107 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59022 /* 167111 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59023 /* 167115 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59024 /* 167119 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59025 /* 167121 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59026 /* 167128 */ // (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)
59027 /* 167128 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Ymr),
59028 /* 167131 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59029 /* 167133 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59030 /* 167135 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59031 /* 167139 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59032 /* 167141 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59033 /* 167146 */ GIR_RootConstrainSelectedInstOperands,
59034 /* 167147 */ // GIR_Coverage, 23373,
59035 /* 167147 */ GIR_EraseRootFromParent_Done,
59036 /* 167148 */ // Label 3676: @167148
59037 /* 167148 */ GIM_Try, /*On fail goto*//*Label 3677*/ GIMT_Encode4(167216), // Rule ID 1150 //
59038 /* 167153 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59039 /* 167156 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59040 /* 167160 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59041 /* 167164 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59042 /* 167168 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59043 /* 167172 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59044 /* 167175 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59045 /* 167179 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59046 /* 167183 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59047 /* 167187 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59048 /* 167189 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59049 /* 167196 */ // (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)
59050 /* 167196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSYm),
59051 /* 167199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59052 /* 167201 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
59053 /* 167203 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59054 /* 167205 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59055 /* 167209 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59056 /* 167214 */ GIR_RootConstrainSelectedInstOperands,
59057 /* 167215 */ // GIR_Coverage, 1150,
59058 /* 167215 */ GIR_EraseRootFromParent_Done,
59059 /* 167216 */ // Label 3677: @167216
59060 /* 167216 */ GIM_Try, /*On fail goto*//*Label 3678*/ GIMT_Encode4(167284), // Rule ID 1396 //
59061 /* 167221 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59062 /* 167224 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59063 /* 167228 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59064 /* 167232 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59065 /* 167236 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59066 /* 167240 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59067 /* 167243 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59068 /* 167247 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59069 /* 167251 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59070 /* 167255 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59071 /* 167257 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59072 /* 167264 */ // (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)
59073 /* 167264 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Ymr),
59074 /* 167267 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59075 /* 167269 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59076 /* 167271 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59077 /* 167275 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59078 /* 167277 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59079 /* 167282 */ GIR_RootConstrainSelectedInstOperands,
59080 /* 167283 */ // GIR_Coverage, 1396,
59081 /* 167283 */ GIR_EraseRootFromParent_Done,
59082 /* 167284 */ // Label 3678: @167284
59083 /* 167284 */ GIM_Try, /*On fail goto*//*Label 3679*/ GIMT_Encode4(167352), // Rule ID 9103 //
59084 /* 167289 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59085 /* 167292 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59086 /* 167296 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59087 /* 167300 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59088 /* 167304 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59089 /* 167308 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59090 /* 167311 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59091 /* 167315 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59092 /* 167319 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59093 /* 167323 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59094 /* 167325 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59095 /* 167332 */ // (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)
59096 /* 167332 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZ256m),
59097 /* 167335 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59098 /* 167337 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
59099 /* 167339 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59100 /* 167341 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59101 /* 167345 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59102 /* 167350 */ GIR_RootConstrainSelectedInstOperands,
59103 /* 167351 */ // GIR_Coverage, 9103,
59104 /* 167351 */ GIR_EraseRootFromParent_Done,
59105 /* 167352 */ // Label 3679: @167352
59106 /* 167352 */ GIM_Try, /*On fail goto*//*Label 3680*/ GIMT_Encode4(167420), // Rule ID 1148 //
59107 /* 167357 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59108 /* 167360 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59109 /* 167364 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59110 /* 167368 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59111 /* 167372 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59112 /* 167376 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59113 /* 167380 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59114 /* 167383 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59115 /* 167387 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59116 /* 167391 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59117 /* 167393 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59118 /* 167400 */ // (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)
59119 /* 167400 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSYm),
59120 /* 167403 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59121 /* 167405 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59122 /* 167407 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59123 /* 167409 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59124 /* 167413 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59125 /* 167418 */ GIR_RootConstrainSelectedInstOperands,
59126 /* 167419 */ // GIR_Coverage, 1148,
59127 /* 167419 */ GIR_EraseRootFromParent_Done,
59128 /* 167420 */ // Label 3680: @167420
59129 /* 167420 */ GIM_Try, /*On fail goto*//*Label 3681*/ GIMT_Encode4(167488), // Rule ID 1394 //
59130 /* 167425 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59131 /* 167428 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59132 /* 167432 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59133 /* 167436 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59134 /* 167440 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59135 /* 167444 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59136 /* 167448 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59137 /* 167451 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59138 /* 167455 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59139 /* 167459 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59140 /* 167461 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59141 /* 167468 */ // (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)
59142 /* 167468 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Yrm),
59143 /* 167471 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59144 /* 167473 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59145 /* 167475 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
59146 /* 167477 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59147 /* 167481 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59148 /* 167486 */ GIR_RootConstrainSelectedInstOperands,
59149 /* 167487 */ // GIR_Coverage, 1394,
59150 /* 167487 */ GIR_EraseRootFromParent_Done,
59151 /* 167488 */ // Label 3681: @167488
59152 /* 167488 */ GIM_Try, /*On fail goto*//*Label 3682*/ GIMT_Encode4(167556), // Rule ID 8467 //
59153 /* 167493 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59154 /* 167496 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59155 /* 167500 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59156 /* 167504 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59157 /* 167508 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59158 /* 167512 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59159 /* 167516 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59160 /* 167519 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59161 /* 167523 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59162 /* 167527 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59163 /* 167529 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59164 /* 167536 */ // (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)
59165 /* 167536 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ256m),
59166 /* 167539 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59167 /* 167541 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59168 /* 167543 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59169 /* 167545 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59170 /* 167549 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59171 /* 167554 */ GIR_RootConstrainSelectedInstOperands,
59172 /* 167555 */ // GIR_Coverage, 8467,
59173 /* 167555 */ GIR_EraseRootFromParent_Done,
59174 /* 167556 */ // Label 3682: @167556
59175 /* 167556 */ GIM_Try, /*On fail goto*//*Label 3683*/ GIMT_Encode4(167593), // Rule ID 1146 //
59176 /* 167561 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59177 /* 167564 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59178 /* 167568 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59179 /* 167572 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59180 /* 167576 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59181 /* 167580 */ // (fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src3) => (VFMADD213PSYr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3)
59182 /* 167580 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSYr),
59183 /* 167583 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59184 /* 167585 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59185 /* 167587 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59186 /* 167589 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59187 /* 167591 */ GIR_RootConstrainSelectedInstOperands,
59188 /* 167592 */ // GIR_Coverage, 1146,
59189 /* 167592 */ GIR_EraseRootFromParent_Done,
59190 /* 167593 */ // Label 3683: @167593
59191 /* 167593 */ GIM_Try, /*On fail goto*//*Label 3684*/ GIMT_Encode4(167628), // Rule ID 1392 //
59192 /* 167598 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59193 /* 167601 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59194 /* 167605 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59195 /* 167609 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59196 /* 167613 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59197 /* 167617 */ // (fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3) => (VFMADDPS4Yrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3)
59198 /* 167617 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Yrr),
59199 /* 167622 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59200 /* 167626 */ GIR_RootConstrainSelectedInstOperands,
59201 /* 167627 */ // GIR_Coverage, 1392,
59202 /* 167627 */ GIR_Done,
59203 /* 167628 */ // Label 3684: @167628
59204 /* 167628 */ GIM_Try, /*On fail goto*//*Label 3685*/ GIMT_Encode4(167665), // Rule ID 8463 //
59205 /* 167633 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59206 /* 167636 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59207 /* 167640 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59208 /* 167644 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59209 /* 167648 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59210 /* 167652 */ // (fma:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src2, VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src3) => (VFMADD213PSZ256r:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2, VR256X:{ *:[v8f32] }:$src3)
59211 /* 167652 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ256r),
59212 /* 167655 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59213 /* 167657 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59214 /* 167659 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59215 /* 167661 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59216 /* 167663 */ GIR_RootConstrainSelectedInstOperands,
59217 /* 167664 */ // GIR_Coverage, 8463,
59218 /* 167664 */ GIR_EraseRootFromParent_Done,
59219 /* 167665 */ // Label 3685: @167665
59220 /* 167665 */ GIM_Reject,
59221 /* 167666 */ // Label 3673: @167666
59222 /* 167666 */ GIM_Reject,
59223 /* 167667 */ // Label 3593: @167667
59224 /* 167667 */ GIM_Try, /*On fail goto*//*Label 3686*/ GIMT_Encode4(167911),
59225 /* 167672 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
59226 /* 167675 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
59227 /* 167678 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
59228 /* 167681 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59229 /* 167685 */ GIM_Try, /*On fail goto*//*Label 3687*/ GIMT_Encode4(167749), // Rule ID 9663 //
59230 /* 167690 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59231 /* 167693 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59232 /* 167697 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59233 /* 167701 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59234 /* 167704 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59235 /* 167708 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59236 /* 167712 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59237 /* 167716 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59238 /* 167720 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59239 /* 167722 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59240 /* 167729 */ // (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)
59241 /* 167729 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZm),
59242 /* 167732 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59243 /* 167734 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59244 /* 167736 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
59245 /* 167738 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59246 /* 167742 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59247 /* 167747 */ GIR_RootConstrainSelectedInstOperands,
59248 /* 167748 */ // GIR_Coverage, 9663,
59249 /* 167748 */ GIR_EraseRootFromParent_Done,
59250 /* 167749 */ // Label 3687: @167749
59251 /* 167749 */ GIM_Try, /*On fail goto*//*Label 3688*/ GIMT_Encode4(167813), // Rule ID 9123 //
59252 /* 167754 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59253 /* 167757 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59254 /* 167761 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59255 /* 167765 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59256 /* 167769 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59257 /* 167772 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59258 /* 167776 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59259 /* 167780 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59260 /* 167784 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59261 /* 167786 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59262 /* 167793 */ // (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)
59263 /* 167793 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZm),
59264 /* 167796 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59265 /* 167798 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
59266 /* 167800 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59267 /* 167802 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59268 /* 167806 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59269 /* 167811 */ GIR_RootConstrainSelectedInstOperands,
59270 /* 167812 */ // GIR_Coverage, 9123,
59271 /* 167812 */ GIR_EraseRootFromParent_Done,
59272 /* 167813 */ // Label 3688: @167813
59273 /* 167813 */ GIM_Try, /*On fail goto*//*Label 3689*/ GIMT_Encode4(167877), // Rule ID 8491 //
59274 /* 167818 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59275 /* 167821 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59276 /* 167825 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59277 /* 167829 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59278 /* 167833 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59279 /* 167837 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59280 /* 167840 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59281 /* 167844 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59282 /* 167848 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59283 /* 167850 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59284 /* 167857 */ // (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)
59285 /* 167857 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZm),
59286 /* 167860 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59287 /* 167862 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59288 /* 167864 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59289 /* 167866 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59290 /* 167870 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59291 /* 167875 */ GIR_RootConstrainSelectedInstOperands,
59292 /* 167876 */ // GIR_Coverage, 8491,
59293 /* 167876 */ GIR_EraseRootFromParent_Done,
59294 /* 167877 */ // Label 3689: @167877
59295 /* 167877 */ GIM_Try, /*On fail goto*//*Label 3690*/ GIMT_Encode4(167910), // Rule ID 8487 //
59296 /* 167882 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59297 /* 167885 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59298 /* 167889 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59299 /* 167893 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59300 /* 167897 */ // (fma:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src2, VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src3) => (VFMADD213PDZr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2, VR512:{ *:[v8f64] }:$src3)
59301 /* 167897 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZr),
59302 /* 167900 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59303 /* 167902 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59304 /* 167904 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59305 /* 167906 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59306 /* 167908 */ GIR_RootConstrainSelectedInstOperands,
59307 /* 167909 */ // GIR_Coverage, 8487,
59308 /* 167909 */ GIR_EraseRootFromParent_Done,
59309 /* 167910 */ // Label 3690: @167910
59310 /* 167910 */ GIM_Reject,
59311 /* 167911 */ // Label 3686: @167911
59312 /* 167911 */ GIM_Reject,
59313 /* 167912 */ // Label 3594: @167912
59314 /* 167912 */ GIM_Try, /*On fail goto*//*Label 3691*/ GIMT_Encode4(168156),
59315 /* 167917 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
59316 /* 167920 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
59317 /* 167923 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
59318 /* 167926 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59319 /* 167930 */ GIM_Try, /*On fail goto*//*Label 3692*/ GIMT_Encode4(167994), // Rule ID 9611 //
59320 /* 167935 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
59321 /* 167938 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59322 /* 167942 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59323 /* 167946 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59324 /* 167949 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59325 /* 167953 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59326 /* 167957 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59327 /* 167961 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59328 /* 167965 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59329 /* 167967 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59330 /* 167974 */ // (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)
59331 /* 167974 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZ256m),
59332 /* 167977 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59333 /* 167979 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59334 /* 167981 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
59335 /* 167983 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59336 /* 167987 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59337 /* 167992 */ GIR_RootConstrainSelectedInstOperands,
59338 /* 167993 */ // GIR_Coverage, 9611,
59339 /* 167993 */ GIR_EraseRootFromParent_Done,
59340 /* 167994 */ // Label 3692: @167994
59341 /* 167994 */ GIM_Try, /*On fail goto*//*Label 3693*/ GIMT_Encode4(168058), // Rule ID 9071 //
59342 /* 167999 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
59343 /* 168002 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59344 /* 168006 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59345 /* 168010 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59346 /* 168014 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59347 /* 168017 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59348 /* 168021 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59349 /* 168025 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59350 /* 168029 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59351 /* 168031 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59352 /* 168038 */ // (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)
59353 /* 168038 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZ256m),
59354 /* 168041 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59355 /* 168043 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
59356 /* 168045 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59357 /* 168047 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59358 /* 168051 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59359 /* 168056 */ GIR_RootConstrainSelectedInstOperands,
59360 /* 168057 */ // GIR_Coverage, 9071,
59361 /* 168057 */ GIR_EraseRootFromParent_Done,
59362 /* 168058 */ // Label 3693: @168058
59363 /* 168058 */ GIM_Try, /*On fail goto*//*Label 3694*/ GIMT_Encode4(168122), // Rule ID 8428 //
59364 /* 168063 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
59365 /* 168066 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59366 /* 168070 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59367 /* 168074 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59368 /* 168078 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59369 /* 168082 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59370 /* 168085 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59371 /* 168089 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59372 /* 168093 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59373 /* 168095 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59374 /* 168102 */ // (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)
59375 /* 168102 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ256m),
59376 /* 168105 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59377 /* 168107 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59378 /* 168109 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59379 /* 168111 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59380 /* 168115 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59381 /* 168120 */ GIR_RootConstrainSelectedInstOperands,
59382 /* 168121 */ // GIR_Coverage, 8428,
59383 /* 168121 */ GIR_EraseRootFromParent_Done,
59384 /* 168122 */ // Label 3694: @168122
59385 /* 168122 */ GIM_Try, /*On fail goto*//*Label 3695*/ GIMT_Encode4(168155), // Rule ID 8424 //
59386 /* 168127 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
59387 /* 168130 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59388 /* 168134 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59389 /* 168138 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59390 /* 168142 */ // (fma:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src2, VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src3) => (VFMADD213PHZ256r:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2, VR256X:{ *:[v16f16] }:$src3)
59391 /* 168142 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ256r),
59392 /* 168145 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59393 /* 168147 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59394 /* 168149 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59395 /* 168151 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59396 /* 168153 */ GIR_RootConstrainSelectedInstOperands,
59397 /* 168154 */ // GIR_Coverage, 8424,
59398 /* 168154 */ GIR_EraseRootFromParent_Done,
59399 /* 168155 */ // Label 3695: @168155
59400 /* 168155 */ GIM_Reject,
59401 /* 168156 */ // Label 3691: @168156
59402 /* 168156 */ GIM_Reject,
59403 /* 168157 */ // Label 3595: @168157
59404 /* 168157 */ GIM_Try, /*On fail goto*//*Label 3696*/ GIMT_Encode4(168401),
59405 /* 168162 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
59406 /* 168165 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
59407 /* 168168 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
59408 /* 168171 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59409 /* 168175 */ GIM_Try, /*On fail goto*//*Label 3697*/ GIMT_Encode4(168239), // Rule ID 9631 //
59410 /* 168180 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59411 /* 168183 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59412 /* 168187 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59413 /* 168191 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59414 /* 168194 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59415 /* 168198 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59416 /* 168202 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59417 /* 168206 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59418 /* 168210 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59419 /* 168212 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59420 /* 168219 */ // (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)
59421 /* 168219 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZm),
59422 /* 168222 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59423 /* 168224 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59424 /* 168226 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
59425 /* 168228 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59426 /* 168232 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59427 /* 168237 */ GIR_RootConstrainSelectedInstOperands,
59428 /* 168238 */ // GIR_Coverage, 9631,
59429 /* 168238 */ GIR_EraseRootFromParent_Done,
59430 /* 168239 */ // Label 3697: @168239
59431 /* 168239 */ GIM_Try, /*On fail goto*//*Label 3698*/ GIMT_Encode4(168303), // Rule ID 9091 //
59432 /* 168244 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59433 /* 168247 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59434 /* 168251 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59435 /* 168255 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59436 /* 168259 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59437 /* 168262 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59438 /* 168266 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59439 /* 168270 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59440 /* 168274 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59441 /* 168276 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59442 /* 168283 */ // (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)
59443 /* 168283 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZm),
59444 /* 168286 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59445 /* 168288 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
59446 /* 168290 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59447 /* 168292 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59448 /* 168296 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59449 /* 168301 */ GIR_RootConstrainSelectedInstOperands,
59450 /* 168302 */ // GIR_Coverage, 9091,
59451 /* 168302 */ GIR_EraseRootFromParent_Done,
59452 /* 168303 */ // Label 3698: @168303
59453 /* 168303 */ GIM_Try, /*On fail goto*//*Label 3699*/ GIMT_Encode4(168367), // Rule ID 8452 //
59454 /* 168308 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59455 /* 168311 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59456 /* 168315 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59457 /* 168319 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59458 /* 168323 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59459 /* 168327 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59460 /* 168330 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59461 /* 168334 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59462 /* 168338 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59463 /* 168340 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59464 /* 168347 */ // (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)
59465 /* 168347 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZm),
59466 /* 168350 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59467 /* 168352 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59468 /* 168354 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59469 /* 168356 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59470 /* 168360 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59471 /* 168365 */ GIR_RootConstrainSelectedInstOperands,
59472 /* 168366 */ // GIR_Coverage, 8452,
59473 /* 168366 */ GIR_EraseRootFromParent_Done,
59474 /* 168367 */ // Label 3699: @168367
59475 /* 168367 */ GIM_Try, /*On fail goto*//*Label 3700*/ GIMT_Encode4(168400), // Rule ID 8448 //
59476 /* 168372 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59477 /* 168375 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59478 /* 168379 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59479 /* 168383 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59480 /* 168387 */ // (fma:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src2, VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src3) => (VFMADD213PSZr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2, VR512:{ *:[v16f32] }:$src3)
59481 /* 168387 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZr),
59482 /* 168390 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59483 /* 168392 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59484 /* 168394 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59485 /* 168396 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59486 /* 168398 */ GIR_RootConstrainSelectedInstOperands,
59487 /* 168399 */ // GIR_Coverage, 8448,
59488 /* 168399 */ GIR_EraseRootFromParent_Done,
59489 /* 168400 */ // Label 3700: @168400
59490 /* 168400 */ GIM_Reject,
59491 /* 168401 */ // Label 3696: @168401
59492 /* 168401 */ GIM_Reject,
59493 /* 168402 */ // Label 3596: @168402
59494 /* 168402 */ GIM_Try, /*On fail goto*//*Label 3701*/ GIMT_Encode4(168646),
59495 /* 168407 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
59496 /* 168410 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
59497 /* 168413 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
59498 /* 168416 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59499 /* 168420 */ GIM_Try, /*On fail goto*//*Label 3702*/ GIMT_Encode4(168484), // Rule ID 9599 //
59500 /* 168425 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
59501 /* 168428 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59502 /* 168432 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59503 /* 168436 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59504 /* 168439 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59505 /* 168443 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59506 /* 168447 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59507 /* 168451 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59508 /* 168455 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59509 /* 168457 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59510 /* 168464 */ // (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)
59511 /* 168464 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZm),
59512 /* 168467 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59513 /* 168469 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59514 /* 168471 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
59515 /* 168473 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59516 /* 168477 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59517 /* 168482 */ GIR_RootConstrainSelectedInstOperands,
59518 /* 168483 */ // GIR_Coverage, 9599,
59519 /* 168483 */ GIR_EraseRootFromParent_Done,
59520 /* 168484 */ // Label 3702: @168484
59521 /* 168484 */ GIM_Try, /*On fail goto*//*Label 3703*/ GIMT_Encode4(168548), // Rule ID 9059 //
59522 /* 168489 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
59523 /* 168492 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59524 /* 168496 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59525 /* 168500 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59526 /* 168504 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59527 /* 168507 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59528 /* 168511 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59529 /* 168515 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59530 /* 168519 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59531 /* 168521 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59532 /* 168528 */ // (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)
59533 /* 168528 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZm),
59534 /* 168531 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59535 /* 168533 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
59536 /* 168535 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59537 /* 168537 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59538 /* 168541 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59539 /* 168546 */ GIR_RootConstrainSelectedInstOperands,
59540 /* 168547 */ // GIR_Coverage, 9059,
59541 /* 168547 */ GIR_EraseRootFromParent_Done,
59542 /* 168548 */ // Label 3703: @168548
59543 /* 168548 */ GIM_Try, /*On fail goto*//*Label 3704*/ GIMT_Encode4(168612), // Rule ID 8413 //
59544 /* 168553 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
59545 /* 168556 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59546 /* 168560 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59547 /* 168564 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59548 /* 168568 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59549 /* 168572 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59550 /* 168575 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59551 /* 168579 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59552 /* 168583 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59553 /* 168585 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59554 /* 168592 */ // (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)
59555 /* 168592 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZm),
59556 /* 168595 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59557 /* 168597 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59558 /* 168599 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59559 /* 168601 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59560 /* 168605 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59561 /* 168610 */ GIR_RootConstrainSelectedInstOperands,
59562 /* 168611 */ // GIR_Coverage, 8413,
59563 /* 168611 */ GIR_EraseRootFromParent_Done,
59564 /* 168612 */ // Label 3704: @168612
59565 /* 168612 */ GIM_Try, /*On fail goto*//*Label 3705*/ GIMT_Encode4(168645), // Rule ID 8409 //
59566 /* 168617 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
59567 /* 168620 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59568 /* 168624 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59569 /* 168628 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59570 /* 168632 */ // (fma:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src2, VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src3) => (VFMADD213PHZr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2, VR512:{ *:[v32f16] }:$src3)
59571 /* 168632 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZr),
59572 /* 168635 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59573 /* 168637 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59574 /* 168639 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59575 /* 168641 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59576 /* 168643 */ GIR_RootConstrainSelectedInstOperands,
59577 /* 168644 */ // GIR_Coverage, 8409,
59578 /* 168644 */ GIR_EraseRootFromParent_Done,
59579 /* 168645 */ // Label 3705: @168645
59580 /* 168645 */ GIM_Reject,
59581 /* 168646 */ // Label 3701: @168646
59582 /* 168646 */ GIM_Reject,
59583 /* 168647 */ // Label 3597: @168647
59584 /* 168647 */ GIM_Reject,
59585 /* 168648 */ // Label 46: @168648
59586 /* 168648 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 3719*/ GIMT_Encode4(172829),
59587 /* 168659 */ /*GILLT_s16*//*Label 3706*/ GIMT_Encode4(168743),
59588 /* 168663 */ /*GILLT_s32*//*Label 3707*/ GIMT_Encode4(168841),
59589 /* 168667 */ /*GILLT_s64*//*Label 3708*/ GIMT_Encode4(169806),
59590 /* 168671 */ /*GILLT_s80*//*Label 3709*/ GIMT_Encode4(170915), GIMT_Encode4(0), GIMT_Encode4(0),
59591 /* 168683 */ /*GILLT_v2s64*//*Label 3710*/ GIMT_Encode4(171481), GIMT_Encode4(0),
59592 /* 168691 */ /*GILLT_v4s32*//*Label 3711*/ GIMT_Encode4(171711),
59593 /* 168695 */ /*GILLT_v4s64*//*Label 3712*/ GIMT_Encode4(171941), GIMT_Encode4(0),
59594 /* 168703 */ /*GILLT_v8s16*//*Label 3713*/ GIMT_Encode4(172140),
59595 /* 168707 */ /*GILLT_v8s32*//*Label 3714*/ GIMT_Encode4(172238),
59596 /* 168711 */ /*GILLT_v8s64*//*Label 3715*/ GIMT_Encode4(172437), GIMT_Encode4(0), GIMT_Encode4(0),
59597 /* 168723 */ /*GILLT_v16s16*//*Label 3716*/ GIMT_Encode4(172535),
59598 /* 168727 */ /*GILLT_v16s32*//*Label 3717*/ GIMT_Encode4(172633), GIMT_Encode4(0), GIMT_Encode4(0),
59599 /* 168739 */ /*GILLT_v32s16*//*Label 3718*/ GIMT_Encode4(172731),
59600 /* 168743 */ // Label 3706: @168743
59601 /* 168743 */ GIM_Try, /*On fail goto*//*Label 3720*/ GIMT_Encode4(168840),
59602 /* 168748 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
59603 /* 168751 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
59604 /* 168754 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
59605 /* 168758 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
59606 /* 168762 */ GIM_Try, /*On fail goto*//*Label 3721*/ GIMT_Encode4(168816), // Rule ID 6130 //
59607 /* 168767 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
59608 /* 168770 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59609 /* 168774 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59610 /* 168778 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59611 /* 168781 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59612 /* 168785 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59613 /* 168789 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59614 /* 168791 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59615 /* 168798 */ // (fdiv:{ *:[f16] } FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
59616 /* 168798 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSHZrm),
59617 /* 168801 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59618 /* 168803 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59619 /* 168805 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59620 /* 168809 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59621 /* 168814 */ GIR_RootConstrainSelectedInstOperands,
59622 /* 168815 */ // GIR_Coverage, 6130,
59623 /* 168815 */ GIR_EraseRootFromParent_Done,
59624 /* 168816 */ // Label 3721: @168816
59625 /* 168816 */ GIM_Try, /*On fail goto*//*Label 3722*/ GIMT_Encode4(168839), // Rule ID 6128 //
59626 /* 168821 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
59627 /* 168824 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
59628 /* 168828 */ // (fdiv:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VDIVSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
59629 /* 168828 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSHZrr),
59630 /* 168833 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59631 /* 168837 */ GIR_RootConstrainSelectedInstOperands,
59632 /* 168838 */ // GIR_Coverage, 6128,
59633 /* 168838 */ GIR_Done,
59634 /* 168839 */ // Label 3722: @168839
59635 /* 168839 */ GIM_Reject,
59636 /* 168840 */ // Label 3720: @168840
59637 /* 168840 */ GIM_Reject,
59638 /* 168841 */ // Label 3707: @168841
59639 /* 168841 */ GIM_Try, /*On fail goto*//*Label 3723*/ GIMT_Encode4(169805),
59640 /* 168846 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
59641 /* 168849 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
59642 /* 168852 */ GIM_Try, /*On fail goto*//*Label 3724*/ GIMT_Encode4(168934), // Rule ID 22546 //
59643 /* 168857 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
59644 /* 168860 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59645 /* 168864 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59646 /* 168868 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59647 /* 168872 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
59648 /* 168876 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
59649 /* 168880 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
59650 /* 168884 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
59651 /* 168888 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
59652 /* 168891 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
59653 /* 168895 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
59654 /* 168902 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
59655 /* 168906 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
59656 /* 168908 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59657 /* 168915 */ // (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)
59658 /* 168915 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSSrm),
59659 /* 168918 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59660 /* 168920 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59661 /* 168922 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59662 /* 168926 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
59663 /* 168932 */ GIR_RootConstrainSelectedInstOperands,
59664 /* 168933 */ // GIR_Coverage, 22546,
59665 /* 168933 */ GIR_EraseRootFromParent_Done,
59666 /* 168934 */ // Label 3724: @168934
59667 /* 168934 */ GIM_Try, /*On fail goto*//*Label 3725*/ GIMT_Encode4(169016), // Rule ID 22547 //
59668 /* 168939 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
59669 /* 168942 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59670 /* 168946 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59671 /* 168950 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59672 /* 168954 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
59673 /* 168958 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
59674 /* 168962 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
59675 /* 168966 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
59676 /* 168970 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
59677 /* 168973 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
59678 /* 168977 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
59679 /* 168984 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
59680 /* 168988 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
59681 /* 168990 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59682 /* 168997 */ // (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)
59683 /* 168997 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSrm),
59684 /* 169000 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59685 /* 169002 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59686 /* 169004 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59687 /* 169008 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
59688 /* 169014 */ GIR_RootConstrainSelectedInstOperands,
59689 /* 169015 */ // GIR_Coverage, 22547,
59690 /* 169015 */ GIR_EraseRootFromParent_Done,
59691 /* 169016 */ // Label 3725: @169016
59692 /* 169016 */ GIM_Try, /*On fail goto*//*Label 3726*/ GIMT_Encode4(169098), // Rule ID 22548 //
59693 /* 169021 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59694 /* 169024 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
59695 /* 169028 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
59696 /* 169032 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59697 /* 169036 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
59698 /* 169040 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
59699 /* 169044 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
59700 /* 169048 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
59701 /* 169052 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
59702 /* 169055 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
59703 /* 169059 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
59704 /* 169066 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
59705 /* 169070 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
59706 /* 169072 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59707 /* 169079 */ // (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)
59708 /* 169079 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrm),
59709 /* 169082 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59710 /* 169084 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59711 /* 169086 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59712 /* 169090 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
59713 /* 169096 */ GIR_RootConstrainSelectedInstOperands,
59714 /* 169097 */ // GIR_Coverage, 22548,
59715 /* 169097 */ GIR_EraseRootFromParent_Done,
59716 /* 169098 */ // Label 3726: @169098
59717 /* 169098 */ GIM_Try, /*On fail goto*//*Label 3727*/ GIMT_Encode4(169163), // Rule ID 1031 //
59718 /* 169103 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
59719 /* 169106 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
59720 /* 169110 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59721 /* 169114 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
59722 /* 169118 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
59723 /* 169125 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59724 /* 169129 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
59725 /* 169133 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59726 /* 169135 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59727 /* 169142 */ // (fdiv:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (DIVR_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
59728 /* 169142 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m32),
59729 /* 169145 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59730 /* 169147 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59731 /* 169149 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59732 /* 169153 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
59733 /* 169156 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59734 /* 169161 */ GIR_RootConstrainSelectedInstOperands,
59735 /* 169162 */ // GIR_Coverage, 1031,
59736 /* 169162 */ GIR_EraseRootFromParent_Done,
59737 /* 169163 */ // Label 3727: @169163
59738 /* 169163 */ GIM_Try, /*On fail goto*//*Label 3728*/ GIMT_Encode4(169228), // Rule ID 1033 //
59739 /* 169168 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
59740 /* 169171 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
59741 /* 169175 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59742 /* 169179 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
59743 /* 169183 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
59744 /* 169190 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59745 /* 169194 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
59746 /* 169198 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59747 /* 169200 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59748 /* 169207 */ // (fdiv:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (DIVR_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
59749 /* 169207 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m32),
59750 /* 169210 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59751 /* 169212 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59752 /* 169214 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59753 /* 169218 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
59754 /* 169221 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59755 /* 169226 */ GIR_RootConstrainSelectedInstOperands,
59756 /* 169227 */ // GIR_Coverage, 1033,
59757 /* 169227 */ GIR_EraseRootFromParent_Done,
59758 /* 169228 */ // Label 3728: @169228
59759 /* 169228 */ GIM_Try, /*On fail goto*//*Label 3729*/ GIMT_Encode4(169293), // Rule ID 1021 //
59760 /* 169233 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
59761 /* 169236 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
59762 /* 169240 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59763 /* 169244 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59764 /* 169248 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59765 /* 169251 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59766 /* 169255 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59767 /* 169259 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
59768 /* 169263 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59769 /* 169265 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59770 /* 169272 */ // (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)
59771 /* 169272 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp32m),
59772 /* 169275 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59773 /* 169277 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59774 /* 169279 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59775 /* 169283 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
59776 /* 169286 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59777 /* 169291 */ GIR_RootConstrainSelectedInstOperands,
59778 /* 169292 */ // GIR_Coverage, 1021,
59779 /* 169292 */ GIR_EraseRootFromParent_Done,
59780 /* 169293 */ // Label 3729: @169293
59781 /* 169293 */ GIM_Try, /*On fail goto*//*Label 3730*/ GIMT_Encode4(169358), // Rule ID 1009 //
59782 /* 169298 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
59783 /* 169301 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
59784 /* 169305 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
59785 /* 169309 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59786 /* 169313 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
59787 /* 169317 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
59788 /* 169324 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59789 /* 169328 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59790 /* 169330 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59791 /* 169337 */ // (fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
59792 /* 169337 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m32),
59793 /* 169340 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59794 /* 169342 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59795 /* 169344 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59796 /* 169348 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
59797 /* 169351 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59798 /* 169356 */ GIR_RootConstrainSelectedInstOperands,
59799 /* 169357 */ // GIR_Coverage, 1009,
59800 /* 169357 */ GIR_EraseRootFromParent_Done,
59801 /* 169358 */ // Label 3730: @169358
59802 /* 169358 */ GIM_Try, /*On fail goto*//*Label 3731*/ GIMT_Encode4(169423), // Rule ID 1011 //
59803 /* 169363 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
59804 /* 169366 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
59805 /* 169370 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
59806 /* 169374 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59807 /* 169378 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
59808 /* 169382 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
59809 /* 169389 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59810 /* 169393 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59811 /* 169395 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59812 /* 169402 */ // (fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
59813 /* 169402 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m32),
59814 /* 169405 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59815 /* 169407 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59816 /* 169409 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59817 /* 169413 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
59818 /* 169416 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59819 /* 169421 */ GIR_RootConstrainSelectedInstOperands,
59820 /* 169422 */ // GIR_Coverage, 1011,
59821 /* 169422 */ GIR_EraseRootFromParent_Done,
59822 /* 169423 */ // Label 3731: @169423
59823 /* 169423 */ GIM_Try, /*On fail goto*//*Label 3732*/ GIMT_Encode4(169488), // Rule ID 999 //
59824 /* 169428 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
59825 /* 169431 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
59826 /* 169435 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
59827 /* 169439 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59828 /* 169443 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59829 /* 169447 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59830 /* 169450 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59831 /* 169454 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59832 /* 169458 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59833 /* 169460 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59834 /* 169467 */ // (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)
59835 /* 169467 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp32m),
59836 /* 169470 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59837 /* 169472 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59838 /* 169474 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59839 /* 169478 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
59840 /* 169481 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59841 /* 169486 */ GIR_RootConstrainSelectedInstOperands,
59842 /* 169487 */ // GIR_Coverage, 999,
59843 /* 169487 */ GIR_EraseRootFromParent_Done,
59844 /* 169488 */ // Label 3732: @169488
59845 /* 169488 */ GIM_Try, /*On fail goto*//*Label 3733*/ GIMT_Encode4(169550), // Rule ID 2281 //
59846 /* 169493 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
59847 /* 169496 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59848 /* 169500 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59849 /* 169504 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59850 /* 169508 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59851 /* 169512 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59852 /* 169515 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59853 /* 169519 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59854 /* 169523 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59855 /* 169525 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59856 /* 169532 */ // (fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
59857 /* 169532 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSrm),
59858 /* 169535 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59859 /* 169537 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59860 /* 169539 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59861 /* 169543 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59862 /* 169548 */ GIR_RootConstrainSelectedInstOperands,
59863 /* 169549 */ // GIR_Coverage, 2281,
59864 /* 169549 */ GIR_EraseRootFromParent_Done,
59865 /* 169550 */ // Label 3733: @169550
59866 /* 169550 */ GIM_Try, /*On fail goto*//*Label 3734*/ GIMT_Encode4(169612), // Rule ID 2289 //
59867 /* 169555 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
59868 /* 169558 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59869 /* 169562 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59870 /* 169566 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59871 /* 169570 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59872 /* 169574 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59873 /* 169577 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59874 /* 169581 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59875 /* 169585 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59876 /* 169587 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59877 /* 169594 */ // (fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (DIVSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
59878 /* 169594 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSSrm),
59879 /* 169597 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59880 /* 169599 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59881 /* 169601 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59882 /* 169605 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59883 /* 169610 */ GIR_RootConstrainSelectedInstOperands,
59884 /* 169611 */ // GIR_Coverage, 2289,
59885 /* 169611 */ GIR_EraseRootFromParent_Done,
59886 /* 169612 */ // Label 3734: @169612
59887 /* 169612 */ GIM_Try, /*On fail goto*//*Label 3735*/ GIMT_Encode4(169674), // Rule ID 6092 //
59888 /* 169617 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59889 /* 169620 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
59890 /* 169624 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
59891 /* 169628 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59892 /* 169632 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59893 /* 169636 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59894 /* 169639 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59895 /* 169643 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59896 /* 169647 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59897 /* 169649 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59898 /* 169656 */ // (fdiv:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
59899 /* 169656 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrm),
59900 /* 169659 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59901 /* 169661 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59902 /* 169663 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59903 /* 169667 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59904 /* 169672 */ GIR_RootConstrainSelectedInstOperands,
59905 /* 169673 */ // GIR_Coverage, 6092,
59906 /* 169673 */ GIR_EraseRootFromParent_Done,
59907 /* 169674 */ // Label 3735: @169674
59908 /* 169674 */ GIM_Try, /*On fail goto*//*Label 3736*/ GIMT_Encode4(169711), // Rule ID 905 //
59909 /* 169679 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
59910 /* 169682 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
59911 /* 169686 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
59912 /* 169690 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
59913 /* 169694 */ // (fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (DIV_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
59914 /* 169694 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp32),
59915 /* 169699 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
59916 /* 169705 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
59917 /* 169709 */ GIR_RootConstrainSelectedInstOperands,
59918 /* 169710 */ // GIR_Coverage, 905,
59919 /* 169710 */ GIR_Done,
59920 /* 169711 */ // Label 3736: @169711
59921 /* 169711 */ GIM_Try, /*On fail goto*//*Label 3737*/ GIMT_Encode4(169742), // Rule ID 2279 //
59922 /* 169716 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
59923 /* 169719 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59924 /* 169723 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59925 /* 169727 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59926 /* 169731 */ // (fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VDIVSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
59927 /* 169731 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSSrr),
59928 /* 169736 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59929 /* 169740 */ GIR_RootConstrainSelectedInstOperands,
59930 /* 169741 */ // GIR_Coverage, 2279,
59931 /* 169741 */ GIR_Done,
59932 /* 169742 */ // Label 3737: @169742
59933 /* 169742 */ GIM_Try, /*On fail goto*//*Label 3738*/ GIMT_Encode4(169773), // Rule ID 2287 //
59934 /* 169747 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
59935 /* 169750 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59936 /* 169754 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59937 /* 169758 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59938 /* 169762 */ // (fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (DIVSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
59939 /* 169762 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVSSrr),
59940 /* 169767 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59941 /* 169771 */ GIR_RootConstrainSelectedInstOperands,
59942 /* 169772 */ // GIR_Coverage, 2287,
59943 /* 169772 */ GIR_Done,
59944 /* 169773 */ // Label 3738: @169773
59945 /* 169773 */ GIM_Try, /*On fail goto*//*Label 3739*/ GIMT_Encode4(169804), // Rule ID 6090 //
59946 /* 169778 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59947 /* 169781 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
59948 /* 169785 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
59949 /* 169789 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
59950 /* 169793 */ // (fdiv:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VDIVSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
59951 /* 169793 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrr),
59952 /* 169798 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59953 /* 169802 */ GIR_RootConstrainSelectedInstOperands,
59954 /* 169803 */ // GIR_Coverage, 6090,
59955 /* 169803 */ GIR_Done,
59956 /* 169804 */ // Label 3739: @169804
59957 /* 169804 */ GIM_Reject,
59958 /* 169805 */ // Label 3723: @169805
59959 /* 169805 */ GIM_Reject,
59960 /* 169806 */ // Label 3708: @169806
59961 /* 169806 */ GIM_Try, /*On fail goto*//*Label 3740*/ GIMT_Encode4(170914),
59962 /* 169811 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
59963 /* 169814 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
59964 /* 169817 */ GIM_Try, /*On fail goto*//*Label 3741*/ GIMT_Encode4(169899), // Rule ID 22549 //
59965 /* 169822 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
59966 /* 169825 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59967 /* 169829 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59968 /* 169833 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59969 /* 169837 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
59970 /* 169841 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
59971 /* 169845 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
59972 /* 169849 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
59973 /* 169853 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
59974 /* 169856 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
59975 /* 169860 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
59976 /* 169867 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
59977 /* 169871 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
59978 /* 169873 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59979 /* 169880 */ // (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)
59980 /* 169880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSDrm),
59981 /* 169883 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59982 /* 169885 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59983 /* 169887 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59984 /* 169891 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
59985 /* 169897 */ GIR_RootConstrainSelectedInstOperands,
59986 /* 169898 */ // GIR_Coverage, 22549,
59987 /* 169898 */ GIR_EraseRootFromParent_Done,
59988 /* 169899 */ // Label 3741: @169899
59989 /* 169899 */ GIM_Try, /*On fail goto*//*Label 3742*/ GIMT_Encode4(169981), // Rule ID 22550 //
59990 /* 169904 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
59991 /* 169907 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59992 /* 169911 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59993 /* 169915 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59994 /* 169919 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
59995 /* 169923 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
59996 /* 169927 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
59997 /* 169931 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
59998 /* 169935 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
59999 /* 169938 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
60000 /* 169942 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
60001 /* 169949 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
60002 /* 169953 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
60003 /* 169955 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60004 /* 169962 */ // (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)
60005 /* 169962 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDrm),
60006 /* 169965 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60007 /* 169967 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60008 /* 169969 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60009 /* 169973 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
60010 /* 169979 */ GIR_RootConstrainSelectedInstOperands,
60011 /* 169980 */ // GIR_Coverage, 22550,
60012 /* 169980 */ GIR_EraseRootFromParent_Done,
60013 /* 169981 */ // Label 3742: @169981
60014 /* 169981 */ GIM_Try, /*On fail goto*//*Label 3743*/ GIMT_Encode4(170063), // Rule ID 22551 //
60015 /* 169986 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
60016 /* 169989 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60017 /* 169993 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60018 /* 169997 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60019 /* 170001 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
60020 /* 170005 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
60021 /* 170009 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
60022 /* 170013 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
60023 /* 170017 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
60024 /* 170020 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
60025 /* 170024 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
60026 /* 170031 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
60027 /* 170035 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
60028 /* 170037 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60029 /* 170044 */ // (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)
60030 /* 170044 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrm),
60031 /* 170047 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60032 /* 170049 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60033 /* 170051 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60034 /* 170055 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
60035 /* 170061 */ GIR_RootConstrainSelectedInstOperands,
60036 /* 170062 */ // GIR_Coverage, 22551,
60037 /* 170062 */ GIR_EraseRootFromParent_Done,
60038 /* 170063 */ // Label 3743: @170063
60039 /* 170063 */ GIM_Try, /*On fail goto*//*Label 3744*/ GIMT_Encode4(170128), // Rule ID 1035 //
60040 /* 170068 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
60041 /* 170071 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60042 /* 170075 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60043 /* 170079 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60044 /* 170083 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
60045 /* 170090 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60046 /* 170094 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60047 /* 170098 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60048 /* 170100 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60049 /* 170107 */ // (fdiv:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (DIVR_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
60050 /* 170107 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m64),
60051 /* 170110 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60052 /* 170112 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60053 /* 170114 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60054 /* 170118 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60055 /* 170121 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60056 /* 170126 */ GIR_RootConstrainSelectedInstOperands,
60057 /* 170127 */ // GIR_Coverage, 1035,
60058 /* 170127 */ GIR_EraseRootFromParent_Done,
60059 /* 170128 */ // Label 3744: @170128
60060 /* 170128 */ GIM_Try, /*On fail goto*//*Label 3745*/ GIMT_Encode4(170193), // Rule ID 1037 //
60061 /* 170133 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
60062 /* 170136 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60063 /* 170140 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60064 /* 170144 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60065 /* 170148 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60066 /* 170155 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60067 /* 170159 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60068 /* 170163 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60069 /* 170165 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60070 /* 170172 */ // (fdiv:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (DIVR_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
60071 /* 170172 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m64),
60072 /* 170175 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60073 /* 170177 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60074 /* 170179 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60075 /* 170183 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60076 /* 170186 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60077 /* 170191 */ GIR_RootConstrainSelectedInstOperands,
60078 /* 170192 */ // GIR_Coverage, 1037,
60079 /* 170192 */ GIR_EraseRootFromParent_Done,
60080 /* 170193 */ // Label 3745: @170193
60081 /* 170193 */ GIM_Try, /*On fail goto*//*Label 3746*/ GIMT_Encode4(170258), // Rule ID 1023 //
60082 /* 170198 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
60083 /* 170201 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60084 /* 170205 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60085 /* 170209 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60086 /* 170213 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60087 /* 170216 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60088 /* 170220 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60089 /* 170224 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60090 /* 170228 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60091 /* 170230 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60092 /* 170237 */ // (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)
60093 /* 170237 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp64m),
60094 /* 170240 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60095 /* 170242 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60096 /* 170244 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60097 /* 170248 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60098 /* 170251 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60099 /* 170256 */ GIR_RootConstrainSelectedInstOperands,
60100 /* 170257 */ // GIR_Coverage, 1023,
60101 /* 170257 */ GIR_EraseRootFromParent_Done,
60102 /* 170258 */ // Label 3746: @170258
60103 /* 170258 */ GIM_Try, /*On fail goto*//*Label 3747*/ GIMT_Encode4(170330), // Rule ID 1025 //
60104 /* 170263 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
60105 /* 170266 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60106 /* 170270 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60107 /* 170274 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60108 /* 170278 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60109 /* 170281 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60110 /* 170285 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60111 /* 170292 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60112 /* 170296 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60113 /* 170300 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60114 /* 170302 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60115 /* 170309 */ // (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)
60116 /* 170309 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp64m32),
60117 /* 170312 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60118 /* 170314 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60119 /* 170316 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60120 /* 170320 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60121 /* 170323 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60122 /* 170328 */ GIR_RootConstrainSelectedInstOperands,
60123 /* 170329 */ // GIR_Coverage, 1025,
60124 /* 170329 */ GIR_EraseRootFromParent_Done,
60125 /* 170330 */ // Label 3747: @170330
60126 /* 170330 */ GIM_Try, /*On fail goto*//*Label 3748*/ GIMT_Encode4(170395), // Rule ID 1013 //
60127 /* 170335 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
60128 /* 170338 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60129 /* 170342 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60130 /* 170346 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60131 /* 170350 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60132 /* 170354 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
60133 /* 170361 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60134 /* 170365 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60135 /* 170367 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60136 /* 170374 */ // (fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
60137 /* 170374 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m64),
60138 /* 170377 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60139 /* 170379 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60140 /* 170381 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60141 /* 170385 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60142 /* 170388 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60143 /* 170393 */ GIR_RootConstrainSelectedInstOperands,
60144 /* 170394 */ // GIR_Coverage, 1013,
60145 /* 170394 */ GIR_EraseRootFromParent_Done,
60146 /* 170395 */ // Label 3748: @170395
60147 /* 170395 */ GIM_Try, /*On fail goto*//*Label 3749*/ GIMT_Encode4(170460), // Rule ID 1015 //
60148 /* 170400 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
60149 /* 170403 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60150 /* 170407 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60151 /* 170411 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60152 /* 170415 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60153 /* 170419 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60154 /* 170426 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60155 /* 170430 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60156 /* 170432 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60157 /* 170439 */ // (fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
60158 /* 170439 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m64),
60159 /* 170442 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60160 /* 170444 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60161 /* 170446 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60162 /* 170450 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60163 /* 170453 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60164 /* 170458 */ GIR_RootConstrainSelectedInstOperands,
60165 /* 170459 */ // GIR_Coverage, 1015,
60166 /* 170459 */ GIR_EraseRootFromParent_Done,
60167 /* 170460 */ // Label 3749: @170460
60168 /* 170460 */ GIM_Try, /*On fail goto*//*Label 3750*/ GIMT_Encode4(170525), // Rule ID 1001 //
60169 /* 170465 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
60170 /* 170468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60171 /* 170472 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60172 /* 170476 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60173 /* 170480 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60174 /* 170484 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60175 /* 170487 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60176 /* 170491 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60177 /* 170495 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60178 /* 170497 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60179 /* 170504 */ // (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)
60180 /* 170504 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64m),
60181 /* 170507 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60182 /* 170509 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60183 /* 170511 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60184 /* 170515 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60185 /* 170518 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60186 /* 170523 */ GIR_RootConstrainSelectedInstOperands,
60187 /* 170524 */ // GIR_Coverage, 1001,
60188 /* 170524 */ GIR_EraseRootFromParent_Done,
60189 /* 170525 */ // Label 3750: @170525
60190 /* 170525 */ GIM_Try, /*On fail goto*//*Label 3751*/ GIMT_Encode4(170597), // Rule ID 1003 //
60191 /* 170530 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
60192 /* 170533 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60193 /* 170537 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60194 /* 170541 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60195 /* 170545 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60196 /* 170549 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60197 /* 170552 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60198 /* 170556 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60199 /* 170563 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60200 /* 170567 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60201 /* 170569 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60202 /* 170576 */ // (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)
60203 /* 170576 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64m32),
60204 /* 170579 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60205 /* 170581 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60206 /* 170583 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60207 /* 170587 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60208 /* 170590 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60209 /* 170595 */ GIR_RootConstrainSelectedInstOperands,
60210 /* 170596 */ // GIR_Coverage, 1003,
60211 /* 170596 */ GIR_EraseRootFromParent_Done,
60212 /* 170597 */ // Label 3751: @170597
60213 /* 170597 */ GIM_Try, /*On fail goto*//*Label 3752*/ GIMT_Encode4(170659), // Rule ID 2285 //
60214 /* 170602 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
60215 /* 170605 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60216 /* 170609 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60217 /* 170613 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60218 /* 170617 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60219 /* 170621 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60220 /* 170624 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60221 /* 170628 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60222 /* 170632 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60223 /* 170634 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60224 /* 170641 */ // (fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
60225 /* 170641 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDrm),
60226 /* 170644 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60227 /* 170646 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60228 /* 170648 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60229 /* 170652 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60230 /* 170657 */ GIR_RootConstrainSelectedInstOperands,
60231 /* 170658 */ // GIR_Coverage, 2285,
60232 /* 170658 */ GIR_EraseRootFromParent_Done,
60233 /* 170659 */ // Label 3752: @170659
60234 /* 170659 */ GIM_Try, /*On fail goto*//*Label 3753*/ GIMT_Encode4(170721), // Rule ID 2293 //
60235 /* 170664 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
60236 /* 170667 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60237 /* 170671 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60238 /* 170675 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60239 /* 170679 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60240 /* 170683 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60241 /* 170686 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60242 /* 170690 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60243 /* 170694 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60244 /* 170696 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60245 /* 170703 */ // (fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (DIVSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
60246 /* 170703 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSDrm),
60247 /* 170706 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60248 /* 170708 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60249 /* 170710 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60250 /* 170714 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60251 /* 170719 */ GIR_RootConstrainSelectedInstOperands,
60252 /* 170720 */ // GIR_Coverage, 2293,
60253 /* 170720 */ GIR_EraseRootFromParent_Done,
60254 /* 170721 */ // Label 3753: @170721
60255 /* 170721 */ GIM_Try, /*On fail goto*//*Label 3754*/ GIMT_Encode4(170783), // Rule ID 6111 //
60256 /* 170726 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
60257 /* 170729 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60258 /* 170733 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60259 /* 170737 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60260 /* 170741 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60261 /* 170745 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60262 /* 170748 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60263 /* 170752 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60264 /* 170756 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60265 /* 170758 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60266 /* 170765 */ // (fdiv:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
60267 /* 170765 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrm),
60268 /* 170768 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60269 /* 170770 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60270 /* 170772 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60271 /* 170776 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60272 /* 170781 */ GIR_RootConstrainSelectedInstOperands,
60273 /* 170782 */ // GIR_Coverage, 6111,
60274 /* 170782 */ GIR_EraseRootFromParent_Done,
60275 /* 170783 */ // Label 3754: @170783
60276 /* 170783 */ GIM_Try, /*On fail goto*//*Label 3755*/ GIMT_Encode4(170820), // Rule ID 907 //
60277 /* 170788 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
60278 /* 170791 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60279 /* 170795 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60280 /* 170799 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60281 /* 170803 */ // (fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (DIV_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
60282 /* 170803 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64),
60283 /* 170808 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
60284 /* 170814 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
60285 /* 170818 */ GIR_RootConstrainSelectedInstOperands,
60286 /* 170819 */ // GIR_Coverage, 907,
60287 /* 170819 */ GIR_Done,
60288 /* 170820 */ // Label 3755: @170820
60289 /* 170820 */ GIM_Try, /*On fail goto*//*Label 3756*/ GIMT_Encode4(170851), // Rule ID 2283 //
60290 /* 170825 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
60291 /* 170828 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60292 /* 170832 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60293 /* 170836 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60294 /* 170840 */ // (fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VDIVSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
60295 /* 170840 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSDrr),
60296 /* 170845 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60297 /* 170849 */ GIR_RootConstrainSelectedInstOperands,
60298 /* 170850 */ // GIR_Coverage, 2283,
60299 /* 170850 */ GIR_Done,
60300 /* 170851 */ // Label 3756: @170851
60301 /* 170851 */ GIM_Try, /*On fail goto*//*Label 3757*/ GIMT_Encode4(170882), // Rule ID 2291 //
60302 /* 170856 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
60303 /* 170859 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60304 /* 170863 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60305 /* 170867 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60306 /* 170871 */ // (fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (DIVSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
60307 /* 170871 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVSDrr),
60308 /* 170876 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60309 /* 170880 */ GIR_RootConstrainSelectedInstOperands,
60310 /* 170881 */ // GIR_Coverage, 2291,
60311 /* 170881 */ GIR_Done,
60312 /* 170882 */ // Label 3757: @170882
60313 /* 170882 */ GIM_Try, /*On fail goto*//*Label 3758*/ GIMT_Encode4(170913), // Rule ID 6109 //
60314 /* 170887 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
60315 /* 170890 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60316 /* 170894 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60317 /* 170898 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60318 /* 170902 */ // (fdiv:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VDIVSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
60319 /* 170902 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrr),
60320 /* 170907 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60321 /* 170911 */ GIR_RootConstrainSelectedInstOperands,
60322 /* 170912 */ // GIR_Coverage, 6109,
60323 /* 170912 */ GIR_Done,
60324 /* 170913 */ // Label 3758: @170913
60325 /* 170913 */ GIM_Reject,
60326 /* 170914 */ // Label 3740: @170914
60327 /* 170914 */ GIM_Reject,
60328 /* 170915 */ // Label 3709: @170915
60329 /* 170915 */ GIM_Try, /*On fail goto*//*Label 3759*/ GIMT_Encode4(171480),
60330 /* 170920 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
60331 /* 170923 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
60332 /* 170926 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60333 /* 170930 */ GIM_Try, /*On fail goto*//*Label 3760*/ GIMT_Encode4(170991), // Rule ID 1039 //
60334 /* 170935 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
60335 /* 170938 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60336 /* 170942 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60337 /* 170946 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
60338 /* 170953 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60339 /* 170957 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60340 /* 170961 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60341 /* 170963 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60342 /* 170970 */ // (fdiv:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (DIVR_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
60343 /* 170970 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m80),
60344 /* 170973 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60345 /* 170975 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60346 /* 170977 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60347 /* 170981 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60348 /* 170984 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60349 /* 170989 */ GIR_RootConstrainSelectedInstOperands,
60350 /* 170990 */ // GIR_Coverage, 1039,
60351 /* 170990 */ GIR_EraseRootFromParent_Done,
60352 /* 170991 */ // Label 3760: @170991
60353 /* 170991 */ GIM_Try, /*On fail goto*//*Label 3761*/ GIMT_Encode4(171052), // Rule ID 1041 //
60354 /* 170996 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
60355 /* 170999 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60356 /* 171003 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60357 /* 171007 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60358 /* 171014 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60359 /* 171018 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60360 /* 171022 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60361 /* 171024 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60362 /* 171031 */ // (fdiv:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (DIVR_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
60363 /* 171031 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m80),
60364 /* 171034 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60365 /* 171036 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60366 /* 171038 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60367 /* 171042 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60368 /* 171045 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60369 /* 171050 */ GIR_RootConstrainSelectedInstOperands,
60370 /* 171051 */ // GIR_Coverage, 1041,
60371 /* 171051 */ GIR_EraseRootFromParent_Done,
60372 /* 171052 */ // Label 3761: @171052
60373 /* 171052 */ GIM_Try, /*On fail goto*//*Label 3762*/ GIMT_Encode4(171120), // Rule ID 1027 //
60374 /* 171057 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
60375 /* 171060 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60376 /* 171064 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60377 /* 171068 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60378 /* 171071 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60379 /* 171075 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60380 /* 171082 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60381 /* 171086 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60382 /* 171090 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60383 /* 171092 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60384 /* 171099 */ // (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)
60385 /* 171099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp80m32),
60386 /* 171102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60387 /* 171104 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60388 /* 171106 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60389 /* 171110 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60390 /* 171113 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60391 /* 171118 */ GIR_RootConstrainSelectedInstOperands,
60392 /* 171119 */ // GIR_Coverage, 1027,
60393 /* 171119 */ GIR_EraseRootFromParent_Done,
60394 /* 171120 */ // Label 3762: @171120
60395 /* 171120 */ GIM_Try, /*On fail goto*//*Label 3763*/ GIMT_Encode4(171188), // Rule ID 1029 //
60396 /* 171125 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
60397 /* 171128 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60398 /* 171132 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60399 /* 171136 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60400 /* 171139 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60401 /* 171143 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
60402 /* 171150 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60403 /* 171154 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60404 /* 171158 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60405 /* 171160 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60406 /* 171167 */ // (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)
60407 /* 171167 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp80m64),
60408 /* 171170 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60409 /* 171172 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60410 /* 171174 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60411 /* 171178 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60412 /* 171181 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60413 /* 171186 */ GIR_RootConstrainSelectedInstOperands,
60414 /* 171187 */ // GIR_Coverage, 1029,
60415 /* 171187 */ GIR_EraseRootFromParent_Done,
60416 /* 171188 */ // Label 3763: @171188
60417 /* 171188 */ GIM_Try, /*On fail goto*//*Label 3764*/ GIMT_Encode4(171249), // Rule ID 1017 //
60418 /* 171193 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
60419 /* 171196 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60420 /* 171200 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60421 /* 171204 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60422 /* 171208 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
60423 /* 171215 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60424 /* 171219 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60425 /* 171221 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60426 /* 171228 */ // (fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
60427 /* 171228 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m80),
60428 /* 171231 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60429 /* 171233 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60430 /* 171235 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60431 /* 171239 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60432 /* 171242 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60433 /* 171247 */ GIR_RootConstrainSelectedInstOperands,
60434 /* 171248 */ // GIR_Coverage, 1017,
60435 /* 171248 */ GIR_EraseRootFromParent_Done,
60436 /* 171249 */ // Label 3764: @171249
60437 /* 171249 */ GIM_Try, /*On fail goto*//*Label 3765*/ GIMT_Encode4(171310), // Rule ID 1019 //
60438 /* 171254 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
60439 /* 171257 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60440 /* 171261 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60441 /* 171265 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60442 /* 171269 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60443 /* 171276 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60444 /* 171280 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60445 /* 171282 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60446 /* 171289 */ // (fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
60447 /* 171289 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m80),
60448 /* 171292 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60449 /* 171294 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60450 /* 171296 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60451 /* 171300 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60452 /* 171303 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60453 /* 171308 */ GIR_RootConstrainSelectedInstOperands,
60454 /* 171309 */ // GIR_Coverage, 1019,
60455 /* 171309 */ GIR_EraseRootFromParent_Done,
60456 /* 171310 */ // Label 3765: @171310
60457 /* 171310 */ GIM_Try, /*On fail goto*//*Label 3766*/ GIMT_Encode4(171378), // Rule ID 1005 //
60458 /* 171315 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
60459 /* 171318 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60460 /* 171322 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60461 /* 171326 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60462 /* 171330 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60463 /* 171333 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60464 /* 171337 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60465 /* 171344 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60466 /* 171348 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60467 /* 171350 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60468 /* 171357 */ // (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)
60469 /* 171357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80m32),
60470 /* 171360 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60471 /* 171362 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60472 /* 171364 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60473 /* 171368 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60474 /* 171371 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60475 /* 171376 */ GIR_RootConstrainSelectedInstOperands,
60476 /* 171377 */ // GIR_Coverage, 1005,
60477 /* 171377 */ GIR_EraseRootFromParent_Done,
60478 /* 171378 */ // Label 3766: @171378
60479 /* 171378 */ GIM_Try, /*On fail goto*//*Label 3767*/ GIMT_Encode4(171446), // Rule ID 1007 //
60480 /* 171383 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
60481 /* 171386 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60482 /* 171390 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60483 /* 171394 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60484 /* 171398 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60485 /* 171401 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60486 /* 171405 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
60487 /* 171412 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60488 /* 171416 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60489 /* 171418 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60490 /* 171425 */ // (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)
60491 /* 171425 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80m64),
60492 /* 171428 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60493 /* 171430 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60494 /* 171432 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60495 /* 171436 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60496 /* 171439 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60497 /* 171444 */ GIR_RootConstrainSelectedInstOperands,
60498 /* 171445 */ // GIR_Coverage, 1007,
60499 /* 171445 */ GIR_EraseRootFromParent_Done,
60500 /* 171446 */ // Label 3767: @171446
60501 /* 171446 */ GIM_Try, /*On fail goto*//*Label 3768*/ GIMT_Encode4(171479), // Rule ID 909 //
60502 /* 171451 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
60503 /* 171454 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60504 /* 171458 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60505 /* 171462 */ // (fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (DIV_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
60506 /* 171462 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80),
60507 /* 171467 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
60508 /* 171473 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
60509 /* 171477 */ GIR_RootConstrainSelectedInstOperands,
60510 /* 171478 */ // GIR_Coverage, 909,
60511 /* 171478 */ GIR_Done,
60512 /* 171479 */ // Label 3768: @171479
60513 /* 171479 */ GIM_Reject,
60514 /* 171480 */ // Label 3759: @171480
60515 /* 171480 */ GIM_Reject,
60516 /* 171481 */ // Label 3710: @171481
60517 /* 171481 */ GIM_Try, /*On fail goto*//*Label 3769*/ GIMT_Encode4(171710),
60518 /* 171486 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
60519 /* 171489 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
60520 /* 171492 */ GIM_Try, /*On fail goto*//*Label 3770*/ GIMT_Encode4(171554), // Rule ID 2261 //
60521 /* 171497 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
60522 /* 171500 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
60523 /* 171504 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
60524 /* 171508 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60525 /* 171512 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60526 /* 171516 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60527 /* 171519 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60528 /* 171523 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60529 /* 171527 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60530 /* 171529 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60531 /* 171536 */ // (fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
60532 /* 171536 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDrm),
60533 /* 171539 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60534 /* 171541 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60535 /* 171543 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60536 /* 171547 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60537 /* 171552 */ GIR_RootConstrainSelectedInstOperands,
60538 /* 171553 */ // GIR_Coverage, 2261,
60539 /* 171553 */ GIR_EraseRootFromParent_Done,
60540 /* 171554 */ // Label 3770: @171554
60541 /* 171554 */ GIM_Try, /*On fail goto*//*Label 3771*/ GIMT_Encode4(171616), // Rule ID 6664 //
60542 /* 171559 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
60543 /* 171562 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60544 /* 171566 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60545 /* 171570 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60546 /* 171574 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60547 /* 171578 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60548 /* 171581 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60549 /* 171585 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60550 /* 171589 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60551 /* 171591 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60552 /* 171598 */ // (fdiv:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
60553 /* 171598 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ128rm),
60554 /* 171601 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60555 /* 171603 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60556 /* 171605 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60557 /* 171609 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60558 /* 171614 */ GIR_RootConstrainSelectedInstOperands,
60559 /* 171615 */ // GIR_Coverage, 6664,
60560 /* 171615 */ GIR_EraseRootFromParent_Done,
60561 /* 171616 */ // Label 3771: @171616
60562 /* 171616 */ GIM_Try, /*On fail goto*//*Label 3772*/ GIMT_Encode4(171647), // Rule ID 2259 //
60563 /* 171621 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
60564 /* 171624 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
60565 /* 171628 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
60566 /* 171632 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
60567 /* 171636 */ // (fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VDIVPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
60568 /* 171636 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDrr),
60569 /* 171641 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60570 /* 171645 */ GIR_RootConstrainSelectedInstOperands,
60571 /* 171646 */ // GIR_Coverage, 2259,
60572 /* 171646 */ GIR_Done,
60573 /* 171647 */ // Label 3772: @171647
60574 /* 171647 */ GIM_Try, /*On fail goto*//*Label 3773*/ GIMT_Encode4(171678), // Rule ID 2275 //
60575 /* 171652 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
60576 /* 171655 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
60577 /* 171659 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
60578 /* 171663 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
60579 /* 171667 */ // (fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (DIVPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
60580 /* 171667 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVPDrr),
60581 /* 171672 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60582 /* 171676 */ GIR_RootConstrainSelectedInstOperands,
60583 /* 171677 */ // GIR_Coverage, 2275,
60584 /* 171677 */ GIR_Done,
60585 /* 171678 */ // Label 3773: @171678
60586 /* 171678 */ GIM_Try, /*On fail goto*//*Label 3774*/ GIMT_Encode4(171709), // Rule ID 6660 //
60587 /* 171683 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
60588 /* 171686 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60589 /* 171690 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60590 /* 171694 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60591 /* 171698 */ // (fdiv:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VDIVPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
60592 /* 171698 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ128rr),
60593 /* 171703 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60594 /* 171707 */ GIR_RootConstrainSelectedInstOperands,
60595 /* 171708 */ // GIR_Coverage, 6660,
60596 /* 171708 */ GIR_Done,
60597 /* 171709 */ // Label 3774: @171709
60598 /* 171709 */ GIM_Reject,
60599 /* 171710 */ // Label 3769: @171710
60600 /* 171710 */ GIM_Reject,
60601 /* 171711 */ // Label 3711: @171711
60602 /* 171711 */ GIM_Try, /*On fail goto*//*Label 3775*/ GIMT_Encode4(171940),
60603 /* 171716 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
60604 /* 171719 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
60605 /* 171722 */ GIM_Try, /*On fail goto*//*Label 3776*/ GIMT_Encode4(171784), // Rule ID 2257 //
60606 /* 171727 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
60607 /* 171730 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
60608 /* 171734 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
60609 /* 171738 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60610 /* 171742 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60611 /* 171746 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60612 /* 171749 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60613 /* 171753 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60614 /* 171757 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60615 /* 171759 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60616 /* 171766 */ // (fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
60617 /* 171766 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSrm),
60618 /* 171769 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60619 /* 171771 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60620 /* 171773 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60621 /* 171777 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60622 /* 171782 */ GIR_RootConstrainSelectedInstOperands,
60623 /* 171783 */ // GIR_Coverage, 2257,
60624 /* 171783 */ GIR_EraseRootFromParent_Done,
60625 /* 171784 */ // Label 3776: @171784
60626 /* 171784 */ GIM_Try, /*On fail goto*//*Label 3777*/ GIMT_Encode4(171846), // Rule ID 6640 //
60627 /* 171789 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
60628 /* 171792 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60629 /* 171796 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60630 /* 171800 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60631 /* 171804 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60632 /* 171808 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60633 /* 171811 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60634 /* 171815 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60635 /* 171819 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60636 /* 171821 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60637 /* 171828 */ // (fdiv:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
60638 /* 171828 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ128rm),
60639 /* 171831 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60640 /* 171833 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60641 /* 171835 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60642 /* 171839 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60643 /* 171844 */ GIR_RootConstrainSelectedInstOperands,
60644 /* 171845 */ // GIR_Coverage, 6640,
60645 /* 171845 */ GIR_EraseRootFromParent_Done,
60646 /* 171846 */ // Label 3777: @171846
60647 /* 171846 */ GIM_Try, /*On fail goto*//*Label 3778*/ GIMT_Encode4(171877), // Rule ID 2255 //
60648 /* 171851 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
60649 /* 171854 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
60650 /* 171858 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
60651 /* 171862 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
60652 /* 171866 */ // (fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VDIVPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
60653 /* 171866 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSrr),
60654 /* 171871 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60655 /* 171875 */ GIR_RootConstrainSelectedInstOperands,
60656 /* 171876 */ // GIR_Coverage, 2255,
60657 /* 171876 */ GIR_Done,
60658 /* 171877 */ // Label 3778: @171877
60659 /* 171877 */ GIM_Try, /*On fail goto*//*Label 3779*/ GIMT_Encode4(171908), // Rule ID 2271 //
60660 /* 171882 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
60661 /* 171885 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
60662 /* 171889 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
60663 /* 171893 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
60664 /* 171897 */ // (fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (DIVPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
60665 /* 171897 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVPSrr),
60666 /* 171902 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60667 /* 171906 */ GIR_RootConstrainSelectedInstOperands,
60668 /* 171907 */ // GIR_Coverage, 2271,
60669 /* 171907 */ GIR_Done,
60670 /* 171908 */ // Label 3779: @171908
60671 /* 171908 */ GIM_Try, /*On fail goto*//*Label 3780*/ GIMT_Encode4(171939), // Rule ID 6636 //
60672 /* 171913 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
60673 /* 171916 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60674 /* 171920 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60675 /* 171924 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60676 /* 171928 */ // (fdiv:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VDIVPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
60677 /* 171928 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ128rr),
60678 /* 171933 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60679 /* 171937 */ GIR_RootConstrainSelectedInstOperands,
60680 /* 171938 */ // GIR_Coverage, 6636,
60681 /* 171938 */ GIR_Done,
60682 /* 171939 */ // Label 3780: @171939
60683 /* 171939 */ GIM_Reject,
60684 /* 171940 */ // Label 3775: @171940
60685 /* 171940 */ GIM_Reject,
60686 /* 171941 */ // Label 3712: @171941
60687 /* 171941 */ GIM_Try, /*On fail goto*//*Label 3781*/ GIMT_Encode4(172139),
60688 /* 171946 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
60689 /* 171949 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
60690 /* 171952 */ GIM_Try, /*On fail goto*//*Label 3782*/ GIMT_Encode4(172014), // Rule ID 2269 //
60691 /* 171957 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
60692 /* 171960 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60693 /* 171964 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60694 /* 171968 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60695 /* 171972 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60696 /* 171976 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60697 /* 171979 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60698 /* 171983 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60699 /* 171987 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60700 /* 171989 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60701 /* 171996 */ // (fdiv:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
60702 /* 171996 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDYrm),
60703 /* 171999 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60704 /* 172001 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60705 /* 172003 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60706 /* 172007 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60707 /* 172012 */ GIR_RootConstrainSelectedInstOperands,
60708 /* 172013 */ // GIR_Coverage, 2269,
60709 /* 172013 */ GIR_EraseRootFromParent_Done,
60710 /* 172014 */ // Label 3782: @172014
60711 /* 172014 */ GIM_Try, /*On fail goto*//*Label 3783*/ GIMT_Encode4(172076), // Rule ID 6676 //
60712 /* 172019 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
60713 /* 172022 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60714 /* 172026 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60715 /* 172030 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60716 /* 172034 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60717 /* 172038 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60718 /* 172041 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60719 /* 172045 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60720 /* 172049 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60721 /* 172051 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60722 /* 172058 */ // (fdiv:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
60723 /* 172058 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ256rm),
60724 /* 172061 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60725 /* 172063 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60726 /* 172065 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60727 /* 172069 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60728 /* 172074 */ GIR_RootConstrainSelectedInstOperands,
60729 /* 172075 */ // GIR_Coverage, 6676,
60730 /* 172075 */ GIR_EraseRootFromParent_Done,
60731 /* 172076 */ // Label 3783: @172076
60732 /* 172076 */ GIM_Try, /*On fail goto*//*Label 3784*/ GIMT_Encode4(172107), // Rule ID 2267 //
60733 /* 172081 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
60734 /* 172084 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60735 /* 172088 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60736 /* 172092 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60737 /* 172096 */ // (fdiv:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VDIVPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
60738 /* 172096 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDYrr),
60739 /* 172101 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60740 /* 172105 */ GIR_RootConstrainSelectedInstOperands,
60741 /* 172106 */ // GIR_Coverage, 2267,
60742 /* 172106 */ GIR_Done,
60743 /* 172107 */ // Label 3784: @172107
60744 /* 172107 */ GIM_Try, /*On fail goto*//*Label 3785*/ GIMT_Encode4(172138), // Rule ID 6672 //
60745 /* 172112 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
60746 /* 172115 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60747 /* 172119 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60748 /* 172123 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60749 /* 172127 */ // (fdiv:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VDIVPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
60750 /* 172127 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ256rr),
60751 /* 172132 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60752 /* 172136 */ GIR_RootConstrainSelectedInstOperands,
60753 /* 172137 */ // GIR_Coverage, 6672,
60754 /* 172137 */ GIR_Done,
60755 /* 172138 */ // Label 3785: @172138
60756 /* 172138 */ GIM_Reject,
60757 /* 172139 */ // Label 3781: @172139
60758 /* 172139 */ GIM_Reject,
60759 /* 172140 */ // Label 3713: @172140
60760 /* 172140 */ GIM_Try, /*On fail goto*//*Label 3786*/ GIMT_Encode4(172237),
60761 /* 172145 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
60762 /* 172148 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
60763 /* 172151 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60764 /* 172155 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60765 /* 172159 */ GIM_Try, /*On fail goto*//*Label 3787*/ GIMT_Encode4(172213), // Rule ID 6700 //
60766 /* 172164 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
60767 /* 172167 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60768 /* 172171 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60769 /* 172175 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60770 /* 172178 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60771 /* 172182 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60772 /* 172186 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60773 /* 172188 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60774 /* 172195 */ // (fdiv:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
60775 /* 172195 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ128rm),
60776 /* 172198 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60777 /* 172200 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60778 /* 172202 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60779 /* 172206 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60780 /* 172211 */ GIR_RootConstrainSelectedInstOperands,
60781 /* 172212 */ // GIR_Coverage, 6700,
60782 /* 172212 */ GIR_EraseRootFromParent_Done,
60783 /* 172213 */ // Label 3787: @172213
60784 /* 172213 */ GIM_Try, /*On fail goto*//*Label 3788*/ GIMT_Encode4(172236), // Rule ID 6696 //
60785 /* 172218 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
60786 /* 172221 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60787 /* 172225 */ // (fdiv:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VDIVPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
60788 /* 172225 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ128rr),
60789 /* 172230 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60790 /* 172234 */ GIR_RootConstrainSelectedInstOperands,
60791 /* 172235 */ // GIR_Coverage, 6696,
60792 /* 172235 */ GIR_Done,
60793 /* 172236 */ // Label 3788: @172236
60794 /* 172236 */ GIM_Reject,
60795 /* 172237 */ // Label 3786: @172237
60796 /* 172237 */ GIM_Reject,
60797 /* 172238 */ // Label 3714: @172238
60798 /* 172238 */ GIM_Try, /*On fail goto*//*Label 3789*/ GIMT_Encode4(172436),
60799 /* 172243 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
60800 /* 172246 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
60801 /* 172249 */ GIM_Try, /*On fail goto*//*Label 3790*/ GIMT_Encode4(172311), // Rule ID 2265 //
60802 /* 172254 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
60803 /* 172257 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60804 /* 172261 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60805 /* 172265 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60806 /* 172269 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60807 /* 172273 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60808 /* 172276 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60809 /* 172280 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60810 /* 172284 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60811 /* 172286 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60812 /* 172293 */ // (fdiv:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
60813 /* 172293 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSYrm),
60814 /* 172296 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60815 /* 172298 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60816 /* 172300 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60817 /* 172304 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60818 /* 172309 */ GIR_RootConstrainSelectedInstOperands,
60819 /* 172310 */ // GIR_Coverage, 2265,
60820 /* 172310 */ GIR_EraseRootFromParent_Done,
60821 /* 172311 */ // Label 3790: @172311
60822 /* 172311 */ GIM_Try, /*On fail goto*//*Label 3791*/ GIMT_Encode4(172373), // Rule ID 6652 //
60823 /* 172316 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
60824 /* 172319 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60825 /* 172323 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60826 /* 172327 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60827 /* 172331 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60828 /* 172335 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60829 /* 172338 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60830 /* 172342 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60831 /* 172346 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60832 /* 172348 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60833 /* 172355 */ // (fdiv:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
60834 /* 172355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ256rm),
60835 /* 172358 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60836 /* 172360 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60837 /* 172362 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60838 /* 172366 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60839 /* 172371 */ GIR_RootConstrainSelectedInstOperands,
60840 /* 172372 */ // GIR_Coverage, 6652,
60841 /* 172372 */ GIR_EraseRootFromParent_Done,
60842 /* 172373 */ // Label 3791: @172373
60843 /* 172373 */ GIM_Try, /*On fail goto*//*Label 3792*/ GIMT_Encode4(172404), // Rule ID 2263 //
60844 /* 172378 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
60845 /* 172381 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60846 /* 172385 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60847 /* 172389 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60848 /* 172393 */ // (fdiv:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VDIVPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
60849 /* 172393 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSYrr),
60850 /* 172398 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60851 /* 172402 */ GIR_RootConstrainSelectedInstOperands,
60852 /* 172403 */ // GIR_Coverage, 2263,
60853 /* 172403 */ GIR_Done,
60854 /* 172404 */ // Label 3792: @172404
60855 /* 172404 */ GIM_Try, /*On fail goto*//*Label 3793*/ GIMT_Encode4(172435), // Rule ID 6648 //
60856 /* 172409 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
60857 /* 172412 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60858 /* 172416 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60859 /* 172420 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60860 /* 172424 */ // (fdiv:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VDIVPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
60861 /* 172424 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ256rr),
60862 /* 172429 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60863 /* 172433 */ GIR_RootConstrainSelectedInstOperands,
60864 /* 172434 */ // GIR_Coverage, 6648,
60865 /* 172434 */ GIR_Done,
60866 /* 172435 */ // Label 3793: @172435
60867 /* 172435 */ GIM_Reject,
60868 /* 172436 */ // Label 3789: @172436
60869 /* 172436 */ GIM_Reject,
60870 /* 172437 */ // Label 3715: @172437
60871 /* 172437 */ GIM_Try, /*On fail goto*//*Label 3794*/ GIMT_Encode4(172534),
60872 /* 172442 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
60873 /* 172445 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
60874 /* 172448 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60875 /* 172452 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60876 /* 172456 */ GIM_Try, /*On fail goto*//*Label 3795*/ GIMT_Encode4(172510), // Rule ID 6628 //
60877 /* 172461 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
60878 /* 172464 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60879 /* 172468 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60880 /* 172472 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60881 /* 172475 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60882 /* 172479 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60883 /* 172483 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60884 /* 172485 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60885 /* 172492 */ // (fdiv:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
60886 /* 172492 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZrm),
60887 /* 172495 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60888 /* 172497 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60889 /* 172499 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60890 /* 172503 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60891 /* 172508 */ GIR_RootConstrainSelectedInstOperands,
60892 /* 172509 */ // GIR_Coverage, 6628,
60893 /* 172509 */ GIR_EraseRootFromParent_Done,
60894 /* 172510 */ // Label 3795: @172510
60895 /* 172510 */ GIM_Try, /*On fail goto*//*Label 3796*/ GIMT_Encode4(172533), // Rule ID 6624 //
60896 /* 172515 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
60897 /* 172518 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60898 /* 172522 */ // (fdiv:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VDIVPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
60899 /* 172522 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZrr),
60900 /* 172527 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60901 /* 172531 */ GIR_RootConstrainSelectedInstOperands,
60902 /* 172532 */ // GIR_Coverage, 6624,
60903 /* 172532 */ GIR_Done,
60904 /* 172533 */ // Label 3796: @172533
60905 /* 172533 */ GIM_Reject,
60906 /* 172534 */ // Label 3794: @172534
60907 /* 172534 */ GIM_Reject,
60908 /* 172535 */ // Label 3716: @172535
60909 /* 172535 */ GIM_Try, /*On fail goto*//*Label 3797*/ GIMT_Encode4(172632),
60910 /* 172540 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
60911 /* 172543 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
60912 /* 172546 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60913 /* 172550 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60914 /* 172554 */ GIM_Try, /*On fail goto*//*Label 3798*/ GIMT_Encode4(172608), // Rule ID 6712 //
60915 /* 172559 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
60916 /* 172562 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60917 /* 172566 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60918 /* 172570 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60919 /* 172573 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60920 /* 172577 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60921 /* 172581 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60922 /* 172583 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60923 /* 172590 */ // (fdiv:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
60924 /* 172590 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ256rm),
60925 /* 172593 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60926 /* 172595 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60927 /* 172597 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60928 /* 172601 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60929 /* 172606 */ GIR_RootConstrainSelectedInstOperands,
60930 /* 172607 */ // GIR_Coverage, 6712,
60931 /* 172607 */ GIR_EraseRootFromParent_Done,
60932 /* 172608 */ // Label 3798: @172608
60933 /* 172608 */ GIM_Try, /*On fail goto*//*Label 3799*/ GIMT_Encode4(172631), // Rule ID 6708 //
60934 /* 172613 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
60935 /* 172616 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60936 /* 172620 */ // (fdiv:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VDIVPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
60937 /* 172620 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ256rr),
60938 /* 172625 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60939 /* 172629 */ GIR_RootConstrainSelectedInstOperands,
60940 /* 172630 */ // GIR_Coverage, 6708,
60941 /* 172630 */ GIR_Done,
60942 /* 172631 */ // Label 3799: @172631
60943 /* 172631 */ GIM_Reject,
60944 /* 172632 */ // Label 3797: @172632
60945 /* 172632 */ GIM_Reject,
60946 /* 172633 */ // Label 3717: @172633
60947 /* 172633 */ GIM_Try, /*On fail goto*//*Label 3800*/ GIMT_Encode4(172730),
60948 /* 172638 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
60949 /* 172641 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
60950 /* 172644 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60951 /* 172648 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60952 /* 172652 */ GIM_Try, /*On fail goto*//*Label 3801*/ GIMT_Encode4(172706), // Rule ID 6616 //
60953 /* 172657 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
60954 /* 172660 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60955 /* 172664 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60956 /* 172668 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60957 /* 172671 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60958 /* 172675 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60959 /* 172679 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60960 /* 172681 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60961 /* 172688 */ // (fdiv:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
60962 /* 172688 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZrm),
60963 /* 172691 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60964 /* 172693 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60965 /* 172695 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60966 /* 172699 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60967 /* 172704 */ GIR_RootConstrainSelectedInstOperands,
60968 /* 172705 */ // GIR_Coverage, 6616,
60969 /* 172705 */ GIR_EraseRootFromParent_Done,
60970 /* 172706 */ // Label 3801: @172706
60971 /* 172706 */ GIM_Try, /*On fail goto*//*Label 3802*/ GIMT_Encode4(172729), // Rule ID 6612 //
60972 /* 172711 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
60973 /* 172714 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60974 /* 172718 */ // (fdiv:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VDIVPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
60975 /* 172718 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZrr),
60976 /* 172723 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60977 /* 172727 */ GIR_RootConstrainSelectedInstOperands,
60978 /* 172728 */ // GIR_Coverage, 6612,
60979 /* 172728 */ GIR_Done,
60980 /* 172729 */ // Label 3802: @172729
60981 /* 172729 */ GIM_Reject,
60982 /* 172730 */ // Label 3800: @172730
60983 /* 172730 */ GIM_Reject,
60984 /* 172731 */ // Label 3718: @172731
60985 /* 172731 */ GIM_Try, /*On fail goto*//*Label 3803*/ GIMT_Encode4(172828),
60986 /* 172736 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
60987 /* 172739 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
60988 /* 172742 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60989 /* 172746 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60990 /* 172750 */ GIM_Try, /*On fail goto*//*Label 3804*/ GIMT_Encode4(172804), // Rule ID 6688 //
60991 /* 172755 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
60992 /* 172758 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60993 /* 172762 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60994 /* 172766 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60995 /* 172769 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60996 /* 172773 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60997 /* 172777 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60998 /* 172779 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60999 /* 172786 */ // (fdiv:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
61000 /* 172786 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZrm),
61001 /* 172789 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61002 /* 172791 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61003 /* 172793 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61004 /* 172797 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61005 /* 172802 */ GIR_RootConstrainSelectedInstOperands,
61006 /* 172803 */ // GIR_Coverage, 6688,
61007 /* 172803 */ GIR_EraseRootFromParent_Done,
61008 /* 172804 */ // Label 3804: @172804
61009 /* 172804 */ GIM_Try, /*On fail goto*//*Label 3805*/ GIMT_Encode4(172827), // Rule ID 6684 //
61010 /* 172809 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
61011 /* 172812 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61012 /* 172816 */ // (fdiv:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VDIVPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
61013 /* 172816 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZrr),
61014 /* 172821 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61015 /* 172825 */ GIR_RootConstrainSelectedInstOperands,
61016 /* 172826 */ // GIR_Coverage, 6684,
61017 /* 172826 */ GIR_Done,
61018 /* 172827 */ // Label 3805: @172827
61019 /* 172827 */ GIM_Reject,
61020 /* 172828 */ // Label 3803: @172828
61021 /* 172828 */ GIM_Reject,
61022 /* 172829 */ // Label 3719: @172829
61023 /* 172829 */ GIM_Reject,
61024 /* 172830 */ // Label 47: @172830
61025 /* 172830 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 3809*/ GIMT_Encode4(172952),
61026 /* 172841 */ /*GILLT_s32*//*Label 3806*/ GIMT_Encode4(172853),
61027 /* 172845 */ /*GILLT_s64*//*Label 3807*/ GIMT_Encode4(172886),
61028 /* 172849 */ /*GILLT_s80*//*Label 3808*/ GIMT_Encode4(172919),
61029 /* 172853 */ // Label 3806: @172853
61030 /* 172853 */ GIM_Try, /*On fail goto*//*Label 3810*/ GIMT_Encode4(172885), // Rule ID 1042 //
61031 /* 172858 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
61032 /* 172861 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61033 /* 172864 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61034 /* 172868 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61035 /* 172872 */ // (fneg:{ *:[f32] } RFP32:{ *:[f32] }:$src) => (CHS_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src)
61036 /* 172872 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CHS_Fp32),
61037 /* 172877 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
61038 /* 172883 */ GIR_RootConstrainSelectedInstOperands,
61039 /* 172884 */ // GIR_Coverage, 1042,
61040 /* 172884 */ GIR_Done,
61041 /* 172885 */ // Label 3810: @172885
61042 /* 172885 */ GIM_Reject,
61043 /* 172886 */ // Label 3807: @172886
61044 /* 172886 */ GIM_Try, /*On fail goto*//*Label 3811*/ GIMT_Encode4(172918), // Rule ID 1043 //
61045 /* 172891 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
61046 /* 172894 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61047 /* 172897 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61048 /* 172901 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61049 /* 172905 */ // (fneg:{ *:[f64] } RFP64:{ *:[f64] }:$src) => (CHS_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src)
61050 /* 172905 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CHS_Fp64),
61051 /* 172910 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
61052 /* 172916 */ GIR_RootConstrainSelectedInstOperands,
61053 /* 172917 */ // GIR_Coverage, 1043,
61054 /* 172917 */ GIR_Done,
61055 /* 172918 */ // Label 3811: @172918
61056 /* 172918 */ GIM_Reject,
61057 /* 172919 */ // Label 3808: @172919
61058 /* 172919 */ GIM_Try, /*On fail goto*//*Label 3812*/ GIMT_Encode4(172951), // Rule ID 1044 //
61059 /* 172924 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
61060 /* 172927 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
61061 /* 172930 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
61062 /* 172934 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
61063 /* 172938 */ // (fneg:{ *:[f80] } RFP80:{ *:[f80] }:$src) => (CHS_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src)
61064 /* 172938 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CHS_Fp80),
61065 /* 172943 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
61066 /* 172949 */ GIR_RootConstrainSelectedInstOperands,
61067 /* 172950 */ // GIR_Coverage, 1044,
61068 /* 172950 */ GIR_Done,
61069 /* 172951 */ // Label 3812: @172951
61070 /* 172951 */ GIM_Reject,
61071 /* 172952 */ // Label 3809: @172952
61072 /* 172952 */ GIM_Reject,
61073 /* 172953 */ // Label 48: @172953
61074 /* 172953 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(20), /*)*//*default:*//*Label 3820*/ GIMT_Encode4(173884),
61075 /* 172964 */ /*GILLT_s32*//*Label 3813*/ GIMT_Encode4(173032),
61076 /* 172968 */ /*GILLT_s64*//*Label 3814*/ GIMT_Encode4(173153),
61077 /* 172972 */ /*GILLT_s80*//*Label 3815*/ GIMT_Encode4(173636), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
61078 /* 172996 */ /*GILLT_v4s64*//*Label 3816*/ GIMT_Encode4(173697), GIMT_Encode4(0), GIMT_Encode4(0),
61079 /* 173008 */ /*GILLT_v8s32*//*Label 3817*/ GIMT_Encode4(173761),
61080 /* 173012 */ /*GILLT_v8s64*//*Label 3818*/ GIMT_Encode4(173792), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
61081 /* 173028 */ /*GILLT_v16s32*//*Label 3819*/ GIMT_Encode4(173853),
61082 /* 173032 */ // Label 3813: @173032
61083 /* 173032 */ GIM_Try, /*On fail goto*//*Label 3821*/ GIMT_Encode4(173152),
61084 /* 173037 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
61085 /* 173040 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
61086 /* 173044 */ GIM_Try, /*On fail goto*//*Label 3822*/ GIMT_Encode4(173113), // Rule ID 21215 //
61087 /* 173049 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_OptForSize),
61088 /* 173052 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61089 /* 173056 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61090 /* 173060 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61091 /* 173063 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61092 /* 173067 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61093 /* 173071 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61094 /* 173073 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61095 /* 173080 */ // (fpextend:{ *:[f32] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSH2SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
61096 /* 173080 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
61097 /* 173083 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61098 /* 173087 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61099 /* 173092 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61100 /* 173094 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSH2SSZrm),
61101 /* 173097 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61102 /* 173099 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61103 /* 173102 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61104 /* 173106 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61105 /* 173111 */ GIR_RootConstrainSelectedInstOperands,
61106 /* 173112 */ // GIR_Coverage, 21215,
61107 /* 173112 */ GIR_EraseRootFromParent_Done,
61108 /* 173113 */ // Label 3822: @173113
61109 /* 173113 */ GIM_Try, /*On fail goto*//*Label 3823*/ GIMT_Encode4(173151), // Rule ID 21213 //
61110 /* 173118 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
61111 /* 173121 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
61112 /* 173125 */ // (fpextend:{ *:[f32] } FR16X:{ *:[f16] }:$src) => (VCVTSH2SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR16X:{ *:[f16] }:$src)
61113 /* 173125 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
61114 /* 173128 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61115 /* 173132 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61116 /* 173137 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61117 /* 173139 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSH2SSZrr),
61118 /* 173142 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61119 /* 173144 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61120 /* 173147 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61121 /* 173149 */ GIR_RootConstrainSelectedInstOperands,
61122 /* 173150 */ // GIR_Coverage, 21213,
61123 /* 173150 */ GIR_EraseRootFromParent_Done,
61124 /* 173151 */ // Label 3823: @173151
61125 /* 173151 */ GIM_Reject,
61126 /* 173152 */ // Label 3821: @173152
61127 /* 173152 */ GIM_Reject,
61128 /* 173153 */ // Label 3814: @173153
61129 /* 173153 */ GIM_Try, /*On fail goto*//*Label 3824*/ GIMT_Encode4(173212), // Rule ID 1894 //
61130 /* 173158 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseSSE2),
61131 /* 173161 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61132 /* 173164 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61133 /* 173168 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61134 /* 173172 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61135 /* 173176 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61136 /* 173179 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61137 /* 173183 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61138 /* 173187 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61139 /* 173189 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61140 /* 173196 */ // (fpextend:{ *:[f64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSS2SDrm:{ *:[f64] } addr:{ *:[iPTR] }:$src)
61141 /* 173196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSS2SDrm),
61142 /* 173199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61143 /* 173201 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61144 /* 173205 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61145 /* 173210 */ GIR_RootConstrainSelectedInstOperands,
61146 /* 173211 */ // GIR_Coverage, 1894,
61147 /* 173211 */ GIR_EraseRootFromParent_Done,
61148 /* 173212 */ // Label 3824: @173212
61149 /* 173212 */ GIM_Try, /*On fail goto*//*Label 3825*/ GIMT_Encode4(173288), // Rule ID 17992 //
61150 /* 173217 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseAVX),
61151 /* 173220 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61152 /* 173223 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61153 /* 173227 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61154 /* 173231 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61155 /* 173235 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61156 /* 173238 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61157 /* 173242 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61158 /* 173246 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61159 /* 173248 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61160 /* 173255 */ // (fpextend:{ *:[f64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SDrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
61161 /* 173255 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61162 /* 173258 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61163 /* 173262 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61164 /* 173267 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61165 /* 173269 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SDrm),
61166 /* 173272 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61167 /* 173274 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61168 /* 173277 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61169 /* 173281 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61170 /* 173286 */ GIR_RootConstrainSelectedInstOperands,
61171 /* 173287 */ // GIR_Coverage, 17992,
61172 /* 173287 */ GIR_EraseRootFromParent_Done,
61173 /* 173288 */ // Label 3825: @173288
61174 /* 173288 */ GIM_Try, /*On fail goto*//*Label 3826*/ GIMT_Encode4(173364), // Rule ID 21209 //
61175 /* 173293 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_OptForSize),
61176 /* 173296 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61177 /* 173299 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61178 /* 173303 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61179 /* 173307 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61180 /* 173311 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61181 /* 173314 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61182 /* 173318 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61183 /* 173322 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61184 /* 173324 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61185 /* 173331 */ // (fpextend:{ *:[f64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
61186 /* 173331 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61187 /* 173334 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61188 /* 173338 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61189 /* 173343 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61190 /* 173345 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SDZrm),
61191 /* 173348 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61192 /* 173350 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61193 /* 173353 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61194 /* 173357 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61195 /* 173362 */ GIR_RootConstrainSelectedInstOperands,
61196 /* 173363 */ // GIR_Coverage, 21209,
61197 /* 173363 */ GIR_EraseRootFromParent_Done,
61198 /* 173364 */ // Label 3826: @173364
61199 /* 173364 */ GIM_Try, /*On fail goto*//*Label 3827*/ GIMT_Encode4(173440), // Rule ID 21219 //
61200 /* 173369 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_OptForSize),
61201 /* 173372 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
61202 /* 173375 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61203 /* 173379 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61204 /* 173383 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61205 /* 173387 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61206 /* 173390 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61207 /* 173394 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61208 /* 173398 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61209 /* 173400 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61210 /* 173407 */ // (fpextend:{ *:[f64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSH2SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
61211 /* 173407 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61212 /* 173410 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61213 /* 173414 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61214 /* 173419 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61215 /* 173421 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSH2SDZrm),
61216 /* 173424 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61217 /* 173426 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61218 /* 173429 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61219 /* 173433 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61220 /* 173438 */ GIR_RootConstrainSelectedInstOperands,
61221 /* 173439 */ // GIR_Coverage, 21219,
61222 /* 173439 */ GIR_EraseRootFromParent_Done,
61223 /* 173440 */ // Label 3827: @173440
61224 /* 173440 */ GIM_Try, /*On fail goto*//*Label 3828*/ GIMT_Encode4(173470), // Rule ID 1892 //
61225 /* 173445 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
61226 /* 173448 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61227 /* 173451 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61228 /* 173455 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61229 /* 173459 */ // (fpextend:{ *:[f64] } FR32:{ *:[f32] }:$src) => (CVTSS2SDrr:{ *:[f64] } FR32:{ *:[f32] }:$src)
61230 /* 173459 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSS2SDrr),
61231 /* 173464 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61232 /* 173468 */ GIR_RootConstrainSelectedInstOperands,
61233 /* 173469 */ // GIR_Coverage, 1892,
61234 /* 173469 */ GIR_Done,
61235 /* 173470 */ // Label 3828: @173470
61236 /* 173470 */ GIM_Try, /*On fail goto*//*Label 3829*/ GIMT_Encode4(173500), // Rule ID 17717 //
61237 /* 173475 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
61238 /* 173478 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61239 /* 173481 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61240 /* 173485 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61241 /* 173489 */ // (fpextend:{ *:[f64] } RFP32:{ *:[f32] }:$src) => (COPY_TO_REGCLASS:{ *:[f64] } RFP32:{ *:[f32] }:$src, RFP64:{ *:[i32] })
61242 /* 173489 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
61243 /* 173494 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP64RegClassID),
61244 /* 173499 */ // GIR_Coverage, 17717,
61245 /* 173499 */ GIR_Done,
61246 /* 173500 */ // Label 3829: @173500
61247 /* 173500 */ GIM_Try, /*On fail goto*//*Label 3830*/ GIMT_Encode4(173545), // Rule ID 17990 //
61248 /* 173505 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
61249 /* 173508 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61250 /* 173511 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61251 /* 173515 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61252 /* 173519 */ // (fpextend:{ *:[f64] } FR32:{ *:[f32] }:$src) => (VCVTSS2SDrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR32:{ *:[f32] }:$src)
61253 /* 173519 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61254 /* 173522 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61255 /* 173526 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61256 /* 173531 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61257 /* 173533 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SDrr),
61258 /* 173536 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61259 /* 173538 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61260 /* 173541 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61261 /* 173543 */ GIR_RootConstrainSelectedInstOperands,
61262 /* 173544 */ // GIR_Coverage, 17990,
61263 /* 173544 */ GIR_EraseRootFromParent_Done,
61264 /* 173545 */ // Label 3830: @173545
61265 /* 173545 */ GIM_Try, /*On fail goto*//*Label 3831*/ GIMT_Encode4(173590), // Rule ID 21207 //
61266 /* 173550 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61267 /* 173553 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61268 /* 173556 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61269 /* 173560 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
61270 /* 173564 */ // (fpextend:{ *:[f64] } FR32X:{ *:[f32] }:$src) => (VCVTSS2SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR32X:{ *:[f32] }:$src)
61271 /* 173564 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61272 /* 173567 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61273 /* 173571 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61274 /* 173576 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61275 /* 173578 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SDZrr),
61276 /* 173581 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61277 /* 173583 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61278 /* 173586 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61279 /* 173588 */ GIR_RootConstrainSelectedInstOperands,
61280 /* 173589 */ // GIR_Coverage, 21207,
61281 /* 173589 */ GIR_EraseRootFromParent_Done,
61282 /* 173590 */ // Label 3831: @173590
61283 /* 173590 */ GIM_Try, /*On fail goto*//*Label 3832*/ GIMT_Encode4(173635), // Rule ID 21217 //
61284 /* 173595 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
61285 /* 173598 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
61286 /* 173601 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61287 /* 173605 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
61288 /* 173609 */ // (fpextend:{ *:[f64] } FR16X:{ *:[f16] }:$src) => (VCVTSH2SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR16X:{ *:[f16] }:$src)
61289 /* 173609 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61290 /* 173612 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61291 /* 173616 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61292 /* 173621 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61293 /* 173623 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSH2SDZrr),
61294 /* 173626 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61295 /* 173628 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61296 /* 173631 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61297 /* 173633 */ GIR_RootConstrainSelectedInstOperands,
61298 /* 173634 */ // GIR_Coverage, 21217,
61299 /* 173634 */ GIR_EraseRootFromParent_Done,
61300 /* 173635 */ // Label 3832: @173635
61301 /* 173635 */ GIM_Reject,
61302 /* 173636 */ // Label 3815: @173636
61303 /* 173636 */ GIM_Try, /*On fail goto*//*Label 3833*/ GIMT_Encode4(173666), // Rule ID 17719 //
61304 /* 173641 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
61305 /* 173644 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61306 /* 173647 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
61307 /* 173651 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61308 /* 173655 */ // (fpextend:{ *:[f80] } RFP32:{ *:[f32] }:$src) => (COPY_TO_REGCLASS:{ *:[f80] } RFP32:{ *:[f32] }:$src, RFP80:{ *:[i32] })
61309 /* 173655 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
61310 /* 173660 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP80RegClassID),
61311 /* 173665 */ // GIR_Coverage, 17719,
61312 /* 173665 */ GIR_Done,
61313 /* 173666 */ // Label 3833: @173666
61314 /* 173666 */ GIM_Try, /*On fail goto*//*Label 3834*/ GIMT_Encode4(173696), // Rule ID 17721 //
61315 /* 173671 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
61316 /* 173674 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61317 /* 173677 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
61318 /* 173681 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61319 /* 173685 */ // (fpextend:{ *:[f80] } RFP64:{ *:[f64] }:$src) => (COPY_TO_REGCLASS:{ *:[f80] } RFP64:{ *:[f64] }:$src, RFP80:{ *:[i32] })
61320 /* 173685 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
61321 /* 173690 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP80RegClassID),
61322 /* 173695 */ // GIR_Coverage, 17721,
61323 /* 173695 */ GIR_Done,
61324 /* 173696 */ // Label 3834: @173696
61325 /* 173696 */ GIM_Reject,
61326 /* 173697 */ // Label 3816: @173697
61327 /* 173697 */ GIM_Try, /*On fail goto*//*Label 3835*/ GIMT_Encode4(173760),
61328 /* 173702 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
61329 /* 173705 */ GIM_Try, /*On fail goto*//*Label 3836*/ GIMT_Encode4(173732), // Rule ID 1935 //
61330 /* 173710 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
61331 /* 173713 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61332 /* 173717 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61333 /* 173721 */ // (fpextend:{ *:[v4f64] } VR128:{ *:[v4f32] }:$src) => (VCVTPS2PDYrr:{ *:[v4f64] } VR128:{ *:[v4f32] }:$src)
61334 /* 173721 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2PDYrr),
61335 /* 173726 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61336 /* 173730 */ GIR_RootConstrainSelectedInstOperands,
61337 /* 173731 */ // GIR_Coverage, 1935,
61338 /* 173731 */ GIR_Done,
61339 /* 173732 */ // Label 3836: @173732
61340 /* 173732 */ GIM_Try, /*On fail goto*//*Label 3837*/ GIMT_Encode4(173759), // Rule ID 10579 //
61341 /* 173737 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
61342 /* 173740 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61343 /* 173744 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61344 /* 173748 */ // (fpextend:{ *:[v4f64] } VR128X:{ *:[v4f32] }:$src) => (VCVTPS2PDZ256rr:{ *:[v4f64] } VR128X:{ *:[v4f32] }:$src)
61345 /* 173748 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2PDZ256rr),
61346 /* 173753 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61347 /* 173757 */ GIR_RootConstrainSelectedInstOperands,
61348 /* 173758 */ // GIR_Coverage, 10579,
61349 /* 173758 */ GIR_Done,
61350 /* 173759 */ // Label 3837: @173759
61351 /* 173759 */ GIM_Reject,
61352 /* 173760 */ // Label 3835: @173760
61353 /* 173760 */ GIM_Reject,
61354 /* 173761 */ // Label 3817: @173761
61355 /* 173761 */ GIM_Try, /*On fail goto*//*Label 3838*/ GIMT_Encode4(173791), // Rule ID 10642 //
61356 /* 173766 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
61357 /* 173769 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
61358 /* 173772 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61359 /* 173776 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61360 /* 173780 */ // (fpextend:{ *:[v8f32] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2PSXZ256rr:{ *:[v8f32] } VR128X:{ *:[v8f16] }:$src)
61361 /* 173780 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2PSXZ256rr),
61362 /* 173785 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61363 /* 173789 */ GIR_RootConstrainSelectedInstOperands,
61364 /* 173790 */ // GIR_Coverage, 10642,
61365 /* 173790 */ GIR_Done,
61366 /* 173791 */ // Label 3838: @173791
61367 /* 173791 */ GIM_Reject,
61368 /* 173792 */ // Label 3818: @173792
61369 /* 173792 */ GIM_Try, /*On fail goto*//*Label 3839*/ GIMT_Encode4(173822), // Rule ID 10554 //
61370 /* 173797 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61371 /* 173800 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
61372 /* 173803 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61373 /* 173807 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61374 /* 173811 */ // (fpextend:{ *:[v8f64] } VR256X:{ *:[v8f32] }:$src) => (VCVTPS2PDZrr:{ *:[v8f64] } VR256X:{ *:[v8f32] }:$src)
61375 /* 173811 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2PDZrr),
61376 /* 173816 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61377 /* 173820 */ GIR_RootConstrainSelectedInstOperands,
61378 /* 173821 */ // GIR_Coverage, 10554,
61379 /* 173821 */ GIR_Done,
61380 /* 173822 */ // Label 3839: @173822
61381 /* 173822 */ GIM_Try, /*On fail goto*//*Label 3840*/ GIMT_Encode4(173852), // Rule ID 10668 //
61382 /* 173827 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
61383 /* 173830 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
61384 /* 173833 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61385 /* 173837 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61386 /* 173841 */ // (fpextend:{ *:[v8f64] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2PDZrr:{ *:[v8f64] } VR128X:{ *:[v8f16] }:$src)
61387 /* 173841 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2PDZrr),
61388 /* 173846 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61389 /* 173850 */ GIR_RootConstrainSelectedInstOperands,
61390 /* 173851 */ // GIR_Coverage, 10668,
61391 /* 173851 */ GIR_Done,
61392 /* 173852 */ // Label 3840: @173852
61393 /* 173852 */ GIM_Reject,
61394 /* 173853 */ // Label 3819: @173853
61395 /* 173853 */ GIM_Try, /*On fail goto*//*Label 3841*/ GIMT_Encode4(173883), // Rule ID 10617 //
61396 /* 173858 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
61397 /* 173861 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
61398 /* 173864 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61399 /* 173868 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61400 /* 173872 */ // (fpextend:{ *:[v16f32] } VR256X:{ *:[v16f16] }:$src) => (VCVTPH2PSXZrr:{ *:[v16f32] } VR256X:{ *:[v16f16] }:$src)
61401 /* 173872 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2PSXZrr),
61402 /* 173877 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61403 /* 173881 */ GIR_RootConstrainSelectedInstOperands,
61404 /* 173882 */ // GIR_Coverage, 10617,
61405 /* 173882 */ GIR_Done,
61406 /* 173883 */ // Label 3841: @173883
61407 /* 173883 */ GIM_Reject,
61408 /* 173884 */ // Label 3820: @173884
61409 /* 173884 */ GIM_Reject,
61410 /* 173885 */ // Label 49: @173885
61411 /* 173885 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 3845*/ GIMT_Encode4(174270),
61412 /* 173896 */ /*GILLT_s16*//*Label 3842*/ GIMT_Encode4(173908),
61413 /* 173900 */ /*GILLT_s32*//*Label 3843*/ GIMT_Encode4(173999),
61414 /* 173904 */ /*GILLT_s64*//*Label 3844*/ GIMT_Encode4(174239),
61415 /* 173908 */ // Label 3842: @173908
61416 /* 173908 */ GIM_Try, /*On fail goto*//*Label 3846*/ GIMT_Encode4(173953), // Rule ID 21221 //
61417 /* 173913 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
61418 /* 173916 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61419 /* 173919 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
61420 /* 173923 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
61421 /* 173927 */ // (fpround:{ *:[f16] } FR32X:{ *:[f32] }:$src) => (VCVTSS2SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), FR32X:{ *:[f32] }:$src)
61422 /* 173927 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
61423 /* 173930 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61424 /* 173934 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61425 /* 173939 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61426 /* 173941 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SHZrr),
61427 /* 173944 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61428 /* 173946 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61429 /* 173949 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61430 /* 173951 */ GIR_RootConstrainSelectedInstOperands,
61431 /* 173952 */ // GIR_Coverage, 21221,
61432 /* 173952 */ GIR_EraseRootFromParent_Done,
61433 /* 173953 */ // Label 3846: @173953
61434 /* 173953 */ GIM_Try, /*On fail goto*//*Label 3847*/ GIMT_Encode4(173998), // Rule ID 21223 //
61435 /* 173958 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
61436 /* 173961 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61437 /* 173964 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
61438 /* 173968 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61439 /* 173972 */ // (fpround:{ *:[f16] } FR64X:{ *:[f64] }:$src) => (VCVTSD2SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), FR64X:{ *:[f64] }:$src)
61440 /* 173972 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
61441 /* 173975 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61442 /* 173979 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61443 /* 173984 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61444 /* 173986 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SHZrr),
61445 /* 173989 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61446 /* 173991 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61447 /* 173994 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61448 /* 173996 */ GIR_RootConstrainSelectedInstOperands,
61449 /* 173997 */ // GIR_Coverage, 21223,
61450 /* 173997 */ GIR_EraseRootFromParent_Done,
61451 /* 173998 */ // Label 3847: @173998
61452 /* 173998 */ GIM_Reject,
61453 /* 173999 */ // Label 3843: @173999
61454 /* 173999 */ GIM_Try, /*On fail goto*//*Label 3848*/ GIMT_Encode4(174058), // Rule ID 1882 //
61455 /* 174004 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseSSE2),
61456 /* 174007 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61457 /* 174010 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61458 /* 174014 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61459 /* 174018 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61460 /* 174022 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61461 /* 174025 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61462 /* 174029 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61463 /* 174033 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61464 /* 174035 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61465 /* 174042 */ // (fpround:{ *:[f32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSD2SSrm:{ *:[f32] } addr:{ *:[iPTR] }:$src)
61466 /* 174042 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSD2SSrm),
61467 /* 174045 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61468 /* 174047 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61469 /* 174051 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61470 /* 174056 */ GIR_RootConstrainSelectedInstOperands,
61471 /* 174057 */ // GIR_Coverage, 1882,
61472 /* 174057 */ GIR_EraseRootFromParent_Done,
61473 /* 174058 */ // Label 3848: @174058
61474 /* 174058 */ GIM_Try, /*On fail goto*//*Label 3849*/ GIMT_Encode4(174088), // Rule ID 1880 //
61475 /* 174063 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
61476 /* 174066 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61477 /* 174069 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61478 /* 174073 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61479 /* 174077 */ // (fpround:{ *:[f32] } FR64:{ *:[f64] }:$src) => (CVTSD2SSrr:{ *:[f32] } FR64:{ *:[f64] }:$src)
61480 /* 174077 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSD2SSrr),
61481 /* 174082 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61482 /* 174086 */ GIR_RootConstrainSelectedInstOperands,
61483 /* 174087 */ // GIR_Coverage, 1880,
61484 /* 174087 */ GIR_Done,
61485 /* 174088 */ // Label 3849: @174088
61486 /* 174088 */ GIM_Try, /*On fail goto*//*Label 3850*/ GIMT_Encode4(174118), // Rule ID 17723 //
61487 /* 174093 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
61488 /* 174096 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61489 /* 174099 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61490 /* 174103 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61491 /* 174107 */ // (fpround:{ *:[f32] } RFP64:{ *:[f64] }:$src) => (COPY_TO_REGCLASS:{ *:[f32] } RFP64:{ *:[f64] }:$src, RFP32:{ *:[i32] })
61492 /* 174107 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
61493 /* 174112 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP32RegClassID),
61494 /* 174117 */ // GIR_Coverage, 17723,
61495 /* 174117 */ GIR_Done,
61496 /* 174118 */ // Label 3850: @174118
61497 /* 174118 */ GIM_Try, /*On fail goto*//*Label 3851*/ GIMT_Encode4(174148), // Rule ID 17725 //
61498 /* 174123 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
61499 /* 174126 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
61500 /* 174129 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61501 /* 174133 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
61502 /* 174137 */ // (fpround:{ *:[f32] } RFP80:{ *:[f80] }:$src) => (COPY_TO_REGCLASS:{ *:[f32] } RFP80:{ *:[f80] }:$src, RFP32:{ *:[i32] })
61503 /* 174137 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
61504 /* 174142 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP32RegClassID),
61505 /* 174147 */ // GIR_Coverage, 17725,
61506 /* 174147 */ GIR_Done,
61507 /* 174148 */ // Label 3851: @174148
61508 /* 174148 */ GIM_Try, /*On fail goto*//*Label 3852*/ GIMT_Encode4(174193), // Rule ID 17988 //
61509 /* 174153 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
61510 /* 174156 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61511 /* 174159 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61512 /* 174163 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61513 /* 174167 */ // (fpround:{ *:[f32] } FR64:{ *:[f64] }:$src) => (VCVTSD2SSrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR64:{ *:[f64] }:$src)
61514 /* 174167 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
61515 /* 174170 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61516 /* 174174 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61517 /* 174179 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61518 /* 174181 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SSrr),
61519 /* 174184 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61520 /* 174186 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61521 /* 174189 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61522 /* 174191 */ GIR_RootConstrainSelectedInstOperands,
61523 /* 174192 */ // GIR_Coverage, 17988,
61524 /* 174192 */ GIR_EraseRootFromParent_Done,
61525 /* 174193 */ // Label 3852: @174193
61526 /* 174193 */ GIM_Try, /*On fail goto*//*Label 3853*/ GIMT_Encode4(174238), // Rule ID 21211 //
61527 /* 174198 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61528 /* 174201 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61529 /* 174204 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
61530 /* 174208 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61531 /* 174212 */ // (fpround:{ *:[f32] } FR64X:{ *:[f64] }:$src) => (VCVTSD2SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR64X:{ *:[f64] }:$src)
61532 /* 174212 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
61533 /* 174215 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61534 /* 174219 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61535 /* 174224 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61536 /* 174226 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SSZrr),
61537 /* 174229 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61538 /* 174231 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61539 /* 174234 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61540 /* 174236 */ GIR_RootConstrainSelectedInstOperands,
61541 /* 174237 */ // GIR_Coverage, 21211,
61542 /* 174237 */ GIR_EraseRootFromParent_Done,
61543 /* 174238 */ // Label 3853: @174238
61544 /* 174238 */ GIM_Reject,
61545 /* 174239 */ // Label 3844: @174239
61546 /* 174239 */ GIM_Try, /*On fail goto*//*Label 3854*/ GIMT_Encode4(174269), // Rule ID 17727 //
61547 /* 174244 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
61548 /* 174247 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
61549 /* 174250 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61550 /* 174254 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
61551 /* 174258 */ // (fpround:{ *:[f64] } RFP80:{ *:[f80] }:$src) => (COPY_TO_REGCLASS:{ *:[f64] } RFP80:{ *:[f80] }:$src, RFP64:{ *:[i32] })
61552 /* 174258 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
61553 /* 174263 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP64RegClassID),
61554 /* 174268 */ // GIR_Coverage, 17727,
61555 /* 174268 */ GIR_Done,
61556 /* 174269 */ // Label 3854: @174269
61557 /* 174269 */ GIM_Reject,
61558 /* 174270 */ // Label 3845: @174270
61559 /* 174270 */ GIM_Reject,
61560 /* 174271 */ // Label 50: @174271
61561 /* 174271 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(11), /*)*//*default:*//*Label 3858*/ GIMT_Encode4(175651),
61562 /* 174282 */ /*GILLT_s32*//*Label 3855*/ GIMT_Encode4(174314),
61563 /* 174286 */ /*GILLT_s64*//*Label 3856*/ GIMT_Encode4(174938), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
61564 /* 174310 */ /*GILLT_v4s32*//*Label 3857*/ GIMT_Encode4(175562),
61565 /* 174314 */ // Label 3855: @174314
61566 /* 174314 */ GIM_Try, /*On fail goto*//*Label 3859*/ GIMT_Encode4(174373), // Rule ID 1742 //
61567 /* 174319 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
61568 /* 174322 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61569 /* 174325 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61570 /* 174329 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61571 /* 174333 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61572 /* 174337 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61573 /* 174340 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61574 /* 174344 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61575 /* 174348 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61576 /* 174350 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61577 /* 174357 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
61578 /* 174357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SIrm),
61579 /* 174360 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61580 /* 174362 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61581 /* 174366 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61582 /* 174371 */ GIR_RootConstrainSelectedInstOperands,
61583 /* 174372 */ // GIR_Coverage, 1742,
61584 /* 174372 */ GIR_EraseRootFromParent_Done,
61585 /* 174373 */ // Label 3859: @174373
61586 /* 174373 */ GIM_Try, /*On fail goto*//*Label 3860*/ GIMT_Encode4(174432), // Rule ID 1750 //
61587 /* 174378 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
61588 /* 174381 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61589 /* 174384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61590 /* 174388 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61591 /* 174392 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61592 /* 174396 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61593 /* 174399 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61594 /* 174403 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61595 /* 174407 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61596 /* 174409 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61597 /* 174416 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
61598 /* 174416 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SIrm),
61599 /* 174419 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61600 /* 174421 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61601 /* 174425 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61602 /* 174430 */ GIR_RootConstrainSelectedInstOperands,
61603 /* 174431 */ // GIR_Coverage, 1750,
61604 /* 174431 */ GIR_EraseRootFromParent_Done,
61605 /* 174432 */ // Label 3860: @174432
61606 /* 174432 */ GIM_Try, /*On fail goto*//*Label 3861*/ GIMT_Encode4(174491), // Rule ID 1766 //
61607 /* 174437 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
61608 /* 174440 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61609 /* 174443 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61610 /* 174447 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61611 /* 174451 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61612 /* 174455 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61613 /* 174458 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61614 /* 174462 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61615 /* 174466 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61616 /* 174468 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61617 /* 174475 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTTSS2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
61618 /* 174475 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTTSS2SIrm),
61619 /* 174478 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61620 /* 174480 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61621 /* 174484 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61622 /* 174489 */ GIR_RootConstrainSelectedInstOperands,
61623 /* 174490 */ // GIR_Coverage, 1766,
61624 /* 174490 */ GIR_EraseRootFromParent_Done,
61625 /* 174491 */ // Label 3861: @174491
61626 /* 174491 */ GIM_Try, /*On fail goto*//*Label 3862*/ GIMT_Encode4(174550), // Rule ID 1774 //
61627 /* 174496 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
61628 /* 174499 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61629 /* 174502 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61630 /* 174506 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61631 /* 174510 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61632 /* 174514 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61633 /* 174517 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61634 /* 174521 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61635 /* 174525 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61636 /* 174527 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61637 /* 174534 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTTSD2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
61638 /* 174534 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTTSD2SIrm),
61639 /* 174537 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61640 /* 174539 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61641 /* 174543 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61642 /* 174548 */ GIR_RootConstrainSelectedInstOperands,
61643 /* 174549 */ // GIR_Coverage, 1774,
61644 /* 174549 */ GIR_EraseRootFromParent_Done,
61645 /* 174550 */ // Label 3862: @174550
61646 /* 174550 */ GIM_Try, /*On fail goto*//*Label 3863*/ GIMT_Encode4(174609), // Rule ID 10367 //
61647 /* 174555 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61648 /* 174558 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61649 /* 174561 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61650 /* 174565 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61651 /* 174569 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61652 /* 174573 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61653 /* 174576 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61654 /* 174580 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61655 /* 174584 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61656 /* 174586 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61657 /* 174593 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
61658 /* 174593 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SIZrm),
61659 /* 174596 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61660 /* 174598 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61661 /* 174602 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61662 /* 174607 */ GIR_RootConstrainSelectedInstOperands,
61663 /* 174608 */ // GIR_Coverage, 10367,
61664 /* 174608 */ GIR_EraseRootFromParent_Done,
61665 /* 174609 */ // Label 3863: @174609
61666 /* 174609 */ GIM_Try, /*On fail goto*//*Label 3864*/ GIMT_Encode4(174668), // Rule ID 10385 //
61667 /* 174614 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61668 /* 174617 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61669 /* 174620 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61670 /* 174624 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61671 /* 174628 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61672 /* 174632 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61673 /* 174635 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61674 /* 174639 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61675 /* 174643 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61676 /* 174645 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61677 /* 174652 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
61678 /* 174652 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SIZrm),
61679 /* 174655 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61680 /* 174657 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61681 /* 174661 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61682 /* 174666 */ GIR_RootConstrainSelectedInstOperands,
61683 /* 174667 */ // GIR_Coverage, 10385,
61684 /* 174667 */ GIR_EraseRootFromParent_Done,
61685 /* 174668 */ // Label 3864: @174668
61686 /* 174668 */ GIM_Try, /*On fail goto*//*Label 3865*/ GIMT_Encode4(174727), // Rule ID 15175 //
61687 /* 174673 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
61688 /* 174676 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
61689 /* 174679 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61690 /* 174683 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61691 /* 174687 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61692 /* 174691 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61693 /* 174694 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61694 /* 174698 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61695 /* 174702 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61696 /* 174704 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61697 /* 174711 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
61698 /* 174711 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrm),
61699 /* 174714 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61700 /* 174716 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61701 /* 174720 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61702 /* 174725 */ GIR_RootConstrainSelectedInstOperands,
61703 /* 174726 */ // GIR_Coverage, 15175,
61704 /* 174726 */ GIR_EraseRootFromParent_Done,
61705 /* 174727 */ // Label 3865: @174727
61706 /* 174727 */ GIM_Try, /*On fail goto*//*Label 3866*/ GIMT_Encode4(174757), // Rule ID 1740 //
61707 /* 174732 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
61708 /* 174735 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61709 /* 174738 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61710 /* 174742 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61711 /* 174746 */ // (fp_to_sint:{ *:[i32] } FR32:{ *:[f32] }:$src) => (VCVTTSS2SIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
61712 /* 174746 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SIrr),
61713 /* 174751 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61714 /* 174755 */ GIR_RootConstrainSelectedInstOperands,
61715 /* 174756 */ // GIR_Coverage, 1740,
61716 /* 174756 */ GIR_Done,
61717 /* 174757 */ // Label 3866: @174757
61718 /* 174757 */ GIM_Try, /*On fail goto*//*Label 3867*/ GIMT_Encode4(174787), // Rule ID 1748 //
61719 /* 174762 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
61720 /* 174765 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61721 /* 174768 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61722 /* 174772 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61723 /* 174776 */ // (fp_to_sint:{ *:[i32] } FR64:{ *:[f64] }:$src) => (VCVTTSD2SIrr:{ *:[i32] } FR64:{ *:[f64] }:$src)
61724 /* 174776 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SIrr),
61725 /* 174781 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61726 /* 174785 */ GIR_RootConstrainSelectedInstOperands,
61727 /* 174786 */ // GIR_Coverage, 1748,
61728 /* 174786 */ GIR_Done,
61729 /* 174787 */ // Label 3867: @174787
61730 /* 174787 */ GIM_Try, /*On fail goto*//*Label 3868*/ GIMT_Encode4(174817), // Rule ID 1764 //
61731 /* 174792 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
61732 /* 174795 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61733 /* 174798 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61734 /* 174802 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61735 /* 174806 */ // (fp_to_sint:{ *:[i32] } FR32:{ *:[f32] }:$src) => (CVTTSS2SIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
61736 /* 174806 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTTSS2SIrr),
61737 /* 174811 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61738 /* 174815 */ GIR_RootConstrainSelectedInstOperands,
61739 /* 174816 */ // GIR_Coverage, 1764,
61740 /* 174816 */ GIR_Done,
61741 /* 174817 */ // Label 3868: @174817
61742 /* 174817 */ GIM_Try, /*On fail goto*//*Label 3869*/ GIMT_Encode4(174847), // Rule ID 1772 //
61743 /* 174822 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
61744 /* 174825 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61745 /* 174828 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61746 /* 174832 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61747 /* 174836 */ // (fp_to_sint:{ *:[i32] } FR64:{ *:[f64] }:$src) => (CVTTSD2SIrr:{ *:[i32] } FR64:{ *:[f64] }:$src)
61748 /* 174836 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTTSD2SIrr),
61749 /* 174841 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61750 /* 174845 */ GIR_RootConstrainSelectedInstOperands,
61751 /* 174846 */ // GIR_Coverage, 1772,
61752 /* 174846 */ GIR_Done,
61753 /* 174847 */ // Label 3869: @174847
61754 /* 174847 */ GIM_Try, /*On fail goto*//*Label 3870*/ GIMT_Encode4(174877), // Rule ID 10365 //
61755 /* 174852 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61756 /* 174855 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61757 /* 174858 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61758 /* 174862 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
61759 /* 174866 */ // (fp_to_sint:{ *:[i32] } FR32X:{ *:[f32] }:$src) => (VCVTTSS2SIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src)
61760 /* 174866 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SIZrr),
61761 /* 174871 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61762 /* 174875 */ GIR_RootConstrainSelectedInstOperands,
61763 /* 174876 */ // GIR_Coverage, 10365,
61764 /* 174876 */ GIR_Done,
61765 /* 174877 */ // Label 3870: @174877
61766 /* 174877 */ GIM_Try, /*On fail goto*//*Label 3871*/ GIMT_Encode4(174907), // Rule ID 10383 //
61767 /* 174882 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61768 /* 174885 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61769 /* 174888 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61770 /* 174892 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61771 /* 174896 */ // (fp_to_sint:{ *:[i32] } FR64X:{ *:[f64] }:$src) => (VCVTTSD2SIZrr:{ *:[i32] } FR64X:{ *:[f64] }:$src)
61772 /* 174896 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SIZrr),
61773 /* 174901 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61774 /* 174905 */ GIR_RootConstrainSelectedInstOperands,
61775 /* 174906 */ // GIR_Coverage, 10383,
61776 /* 174906 */ GIR_Done,
61777 /* 174907 */ // Label 3871: @174907
61778 /* 174907 */ GIM_Try, /*On fail goto*//*Label 3872*/ GIMT_Encode4(174937), // Rule ID 15173 //
61779 /* 174912 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
61780 /* 174915 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
61781 /* 174918 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61782 /* 174922 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
61783 /* 174926 */ // (fp_to_sint:{ *:[i32] } FR16X:{ *:[f16] }:$src) => (VCVTTSH2SIZrr:{ *:[i32] } FR16X:{ *:[f16] }:$src)
61784 /* 174926 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrr),
61785 /* 174931 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61786 /* 174935 */ GIR_RootConstrainSelectedInstOperands,
61787 /* 174936 */ // GIR_Coverage, 15173,
61788 /* 174936 */ GIR_Done,
61789 /* 174937 */ // Label 3872: @174937
61790 /* 174937 */ GIM_Reject,
61791 /* 174938 */ // Label 3856: @174938
61792 /* 174938 */ GIM_Try, /*On fail goto*//*Label 3873*/ GIMT_Encode4(174997), // Rule ID 1746 //
61793 /* 174943 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
61794 /* 174946 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61795 /* 174949 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
61796 /* 174953 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61797 /* 174957 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61798 /* 174961 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61799 /* 174964 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61800 /* 174968 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61801 /* 174972 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61802 /* 174974 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61803 /* 174981 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
61804 /* 174981 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SI64rm),
61805 /* 174984 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61806 /* 174986 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61807 /* 174990 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61808 /* 174995 */ GIR_RootConstrainSelectedInstOperands,
61809 /* 174996 */ // GIR_Coverage, 1746,
61810 /* 174996 */ GIR_EraseRootFromParent_Done,
61811 /* 174997 */ // Label 3873: @174997
61812 /* 174997 */ GIM_Try, /*On fail goto*//*Label 3874*/ GIMT_Encode4(175056), // Rule ID 1754 //
61813 /* 175002 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
61814 /* 175005 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61815 /* 175008 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
61816 /* 175012 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61817 /* 175016 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61818 /* 175020 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61819 /* 175023 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61820 /* 175027 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61821 /* 175031 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61822 /* 175033 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61823 /* 175040 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
61824 /* 175040 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SI64rm),
61825 /* 175043 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61826 /* 175045 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61827 /* 175049 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61828 /* 175054 */ GIR_RootConstrainSelectedInstOperands,
61829 /* 175055 */ // GIR_Coverage, 1754,
61830 /* 175055 */ GIR_EraseRootFromParent_Done,
61831 /* 175056 */ // Label 3874: @175056
61832 /* 175056 */ GIM_Try, /*On fail goto*//*Label 3875*/ GIMT_Encode4(175115), // Rule ID 1770 //
61833 /* 175061 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
61834 /* 175064 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61835 /* 175067 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
61836 /* 175071 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61837 /* 175075 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61838 /* 175079 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61839 /* 175082 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61840 /* 175086 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61841 /* 175090 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61842 /* 175092 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61843 /* 175099 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
61844 /* 175099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTTSS2SI64rm),
61845 /* 175102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61846 /* 175104 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61847 /* 175108 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61848 /* 175113 */ GIR_RootConstrainSelectedInstOperands,
61849 /* 175114 */ // GIR_Coverage, 1770,
61850 /* 175114 */ GIR_EraseRootFromParent_Done,
61851 /* 175115 */ // Label 3875: @175115
61852 /* 175115 */ GIM_Try, /*On fail goto*//*Label 3876*/ GIMT_Encode4(175174), // Rule ID 1778 //
61853 /* 175120 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
61854 /* 175123 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61855 /* 175126 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
61856 /* 175130 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61857 /* 175134 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61858 /* 175138 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61859 /* 175141 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61860 /* 175145 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61861 /* 175149 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61862 /* 175151 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61863 /* 175158 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
61864 /* 175158 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTTSD2SI64rm),
61865 /* 175161 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61866 /* 175163 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61867 /* 175167 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61868 /* 175172 */ GIR_RootConstrainSelectedInstOperands,
61869 /* 175173 */ // GIR_Coverage, 1778,
61870 /* 175173 */ GIR_EraseRootFromParent_Done,
61871 /* 175174 */ // Label 3876: @175174
61872 /* 175174 */ GIM_Try, /*On fail goto*//*Label 3877*/ GIMT_Encode4(175233), // Rule ID 10376 //
61873 /* 175179 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61874 /* 175182 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61875 /* 175185 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
61876 /* 175189 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61877 /* 175193 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61878 /* 175197 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61879 /* 175200 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61880 /* 175204 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61881 /* 175208 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61882 /* 175210 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61883 /* 175217 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
61884 /* 175217 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SI64Zrm),
61885 /* 175220 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61886 /* 175222 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61887 /* 175226 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61888 /* 175231 */ GIR_RootConstrainSelectedInstOperands,
61889 /* 175232 */ // GIR_Coverage, 10376,
61890 /* 175232 */ GIR_EraseRootFromParent_Done,
61891 /* 175233 */ // Label 3877: @175233
61892 /* 175233 */ GIM_Try, /*On fail goto*//*Label 3878*/ GIMT_Encode4(175292), // Rule ID 10394 //
61893 /* 175238 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61894 /* 175241 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61895 /* 175244 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
61896 /* 175248 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61897 /* 175252 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61898 /* 175256 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61899 /* 175259 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61900 /* 175263 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61901 /* 175267 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61902 /* 175269 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61903 /* 175276 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
61904 /* 175276 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SI64Zrm),
61905 /* 175279 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61906 /* 175281 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61907 /* 175285 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61908 /* 175290 */ GIR_RootConstrainSelectedInstOperands,
61909 /* 175291 */ // GIR_Coverage, 10394,
61910 /* 175291 */ GIR_EraseRootFromParent_Done,
61911 /* 175292 */ // Label 3878: @175292
61912 /* 175292 */ GIM_Try, /*On fail goto*//*Label 3879*/ GIMT_Encode4(175351), // Rule ID 15184 //
61913 /* 175297 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
61914 /* 175300 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
61915 /* 175303 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
61916 /* 175307 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61917 /* 175311 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61918 /* 175315 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61919 /* 175318 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61920 /* 175322 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61921 /* 175326 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61922 /* 175328 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61923 /* 175335 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
61924 /* 175335 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrm),
61925 /* 175338 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61926 /* 175340 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61927 /* 175344 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61928 /* 175349 */ GIR_RootConstrainSelectedInstOperands,
61929 /* 175350 */ // GIR_Coverage, 15184,
61930 /* 175350 */ GIR_EraseRootFromParent_Done,
61931 /* 175351 */ // Label 3879: @175351
61932 /* 175351 */ GIM_Try, /*On fail goto*//*Label 3880*/ GIMT_Encode4(175381), // Rule ID 1744 //
61933 /* 175356 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
61934 /* 175359 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61935 /* 175362 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
61936 /* 175366 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61937 /* 175370 */ // (fp_to_sint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (VCVTTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
61938 /* 175370 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SI64rr),
61939 /* 175375 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61940 /* 175379 */ GIR_RootConstrainSelectedInstOperands,
61941 /* 175380 */ // GIR_Coverage, 1744,
61942 /* 175380 */ GIR_Done,
61943 /* 175381 */ // Label 3880: @175381
61944 /* 175381 */ GIM_Try, /*On fail goto*//*Label 3881*/ GIMT_Encode4(175411), // Rule ID 1752 //
61945 /* 175386 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
61946 /* 175389 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61947 /* 175392 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
61948 /* 175396 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61949 /* 175400 */ // (fp_to_sint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VCVTTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
61950 /* 175400 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SI64rr),
61951 /* 175405 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61952 /* 175409 */ GIR_RootConstrainSelectedInstOperands,
61953 /* 175410 */ // GIR_Coverage, 1752,
61954 /* 175410 */ GIR_Done,
61955 /* 175411 */ // Label 3881: @175411
61956 /* 175411 */ GIM_Try, /*On fail goto*//*Label 3882*/ GIMT_Encode4(175441), // Rule ID 1768 //
61957 /* 175416 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
61958 /* 175419 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61959 /* 175422 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
61960 /* 175426 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61961 /* 175430 */ // (fp_to_sint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (CVTTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
61962 /* 175430 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTTSS2SI64rr),
61963 /* 175435 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61964 /* 175439 */ GIR_RootConstrainSelectedInstOperands,
61965 /* 175440 */ // GIR_Coverage, 1768,
61966 /* 175440 */ GIR_Done,
61967 /* 175441 */ // Label 3882: @175441
61968 /* 175441 */ GIM_Try, /*On fail goto*//*Label 3883*/ GIMT_Encode4(175471), // Rule ID 1776 //
61969 /* 175446 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
61970 /* 175449 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61971 /* 175452 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
61972 /* 175456 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61973 /* 175460 */ // (fp_to_sint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (CVTTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
61974 /* 175460 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTTSD2SI64rr),
61975 /* 175465 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61976 /* 175469 */ GIR_RootConstrainSelectedInstOperands,
61977 /* 175470 */ // GIR_Coverage, 1776,
61978 /* 175470 */ GIR_Done,
61979 /* 175471 */ // Label 3883: @175471
61980 /* 175471 */ GIM_Try, /*On fail goto*//*Label 3884*/ GIMT_Encode4(175501), // Rule ID 10374 //
61981 /* 175476 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61982 /* 175479 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61983 /* 175482 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
61984 /* 175486 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
61985 /* 175490 */ // (fp_to_sint:{ *:[i64] } FR32X:{ *:[f32] }:$src) => (VCVTTSS2SI64Zrr:{ *:[i64] } FR32X:{ *:[f32] }:$src)
61986 /* 175490 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SI64Zrr),
61987 /* 175495 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61988 /* 175499 */ GIR_RootConstrainSelectedInstOperands,
61989 /* 175500 */ // GIR_Coverage, 10374,
61990 /* 175500 */ GIR_Done,
61991 /* 175501 */ // Label 3884: @175501
61992 /* 175501 */ GIM_Try, /*On fail goto*//*Label 3885*/ GIMT_Encode4(175531), // Rule ID 10392 //
61993 /* 175506 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61994 /* 175509 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61995 /* 175512 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
61996 /* 175516 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61997 /* 175520 */ // (fp_to_sint:{ *:[i64] } FR64X:{ *:[f64] }:$src) => (VCVTTSD2SI64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src)
61998 /* 175520 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SI64Zrr),
61999 /* 175525 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62000 /* 175529 */ GIR_RootConstrainSelectedInstOperands,
62001 /* 175530 */ // GIR_Coverage, 10392,
62002 /* 175530 */ GIR_Done,
62003 /* 175531 */ // Label 3885: @175531
62004 /* 175531 */ GIM_Try, /*On fail goto*//*Label 3886*/ GIMT_Encode4(175561), // Rule ID 15182 //
62005 /* 175536 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62006 /* 175539 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
62007 /* 175542 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62008 /* 175546 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62009 /* 175550 */ // (fp_to_sint:{ *:[i64] } FR16X:{ *:[f16] }:$src) => (VCVTTSH2SI64Zrr:{ *:[i64] } FR16X:{ *:[f16] }:$src)
62010 /* 175550 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrr),
62011 /* 175555 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62012 /* 175559 */ GIR_RootConstrainSelectedInstOperands,
62013 /* 175560 */ // GIR_Coverage, 15182,
62014 /* 175560 */ GIR_Done,
62015 /* 175561 */ // Label 3886: @175561
62016 /* 175561 */ GIM_Reject,
62017 /* 175562 */ // Label 3857: @175562
62018 /* 175562 */ GIM_Try, /*On fail goto*//*Label 3887*/ GIMT_Encode4(175650),
62019 /* 175567 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
62020 /* 175570 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
62021 /* 175574 */ GIM_Try, /*On fail goto*//*Label 3888*/ GIMT_Encode4(175626), // Rule ID 18044 //
62022 /* 175579 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
62023 /* 175582 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62024 /* 175586 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62025 /* 175590 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62026 /* 175593 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62027 /* 175597 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62028 /* 175601 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62029 /* 175603 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62030 /* 175610 */ // (fp_to_sint:{ *:[v4i32] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTPD2DQYrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
62031 /* 175610 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2DQYrm),
62032 /* 175613 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62033 /* 175615 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62034 /* 175619 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62035 /* 175624 */ GIR_RootConstrainSelectedInstOperands,
62036 /* 175625 */ // GIR_Coverage, 18044,
62037 /* 175625 */ GIR_EraseRootFromParent_Done,
62038 /* 175626 */ // Label 3888: @175626
62039 /* 175626 */ GIM_Try, /*On fail goto*//*Label 3889*/ GIMT_Encode4(175649), // Rule ID 18042 //
62040 /* 175631 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
62041 /* 175634 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
62042 /* 175638 */ // (fp_to_sint:{ *:[v4i32] } VR256:{ *:[v4f64] }:$src) => (VCVTTPD2DQYrr:{ *:[v4i32] } VR256:{ *:[v4f64] }:$src)
62043 /* 175638 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2DQYrr),
62044 /* 175643 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62045 /* 175647 */ GIR_RootConstrainSelectedInstOperands,
62046 /* 175648 */ // GIR_Coverage, 18042,
62047 /* 175648 */ GIR_Done,
62048 /* 175649 */ // Label 3889: @175649
62049 /* 175649 */ GIM_Reject,
62050 /* 175650 */ // Label 3887: @175650
62051 /* 175650 */ GIM_Reject,
62052 /* 175651 */ // Label 3858: @175651
62053 /* 175651 */ GIM_Reject,
62054 /* 175652 */ // Label 51: @175652
62055 /* 175652 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 3892*/ GIMT_Encode4(176207),
62056 /* 175663 */ /*GILLT_s32*//*Label 3890*/ GIMT_Encode4(175671),
62057 /* 175667 */ /*GILLT_s64*//*Label 3891*/ GIMT_Encode4(175939),
62058 /* 175671 */ // Label 3890: @175671
62059 /* 175671 */ GIM_Try, /*On fail goto*//*Label 3893*/ GIMT_Encode4(175730), // Rule ID 10403 //
62060 /* 175676 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62061 /* 175679 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62062 /* 175682 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62063 /* 175686 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62064 /* 175690 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62065 /* 175694 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62066 /* 175697 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62067 /* 175701 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62068 /* 175705 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62069 /* 175707 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62070 /* 175714 */ // (fp_to_uint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2USIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
62071 /* 175714 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USIZrm),
62072 /* 175717 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62073 /* 175719 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62074 /* 175723 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62075 /* 175728 */ GIR_RootConstrainSelectedInstOperands,
62076 /* 175729 */ // GIR_Coverage, 10403,
62077 /* 175729 */ GIR_EraseRootFromParent_Done,
62078 /* 175730 */ // Label 3893: @175730
62079 /* 175730 */ GIM_Try, /*On fail goto*//*Label 3894*/ GIMT_Encode4(175789), // Rule ID 10421 //
62080 /* 175735 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62081 /* 175738 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62082 /* 175741 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62083 /* 175745 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62084 /* 175749 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62085 /* 175753 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62086 /* 175756 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62087 /* 175760 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62088 /* 175764 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62089 /* 175766 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62090 /* 175773 */ // (fp_to_uint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2USIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
62091 /* 175773 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USIZrm),
62092 /* 175776 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62093 /* 175778 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62094 /* 175782 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62095 /* 175787 */ GIR_RootConstrainSelectedInstOperands,
62096 /* 175788 */ // GIR_Coverage, 10421,
62097 /* 175788 */ GIR_EraseRootFromParent_Done,
62098 /* 175789 */ // Label 3894: @175789
62099 /* 175789 */ GIM_Try, /*On fail goto*//*Label 3895*/ GIMT_Encode4(175848), // Rule ID 15193 //
62100 /* 175794 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62101 /* 175797 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
62102 /* 175800 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62103 /* 175804 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62104 /* 175808 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62105 /* 175812 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62106 /* 175815 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62107 /* 175819 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62108 /* 175823 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62109 /* 175825 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62110 /* 175832 */ // (fp_to_uint:{ *:[i32] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2USIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
62111 /* 175832 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2USIZrm),
62112 /* 175835 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62113 /* 175837 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62114 /* 175841 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62115 /* 175846 */ GIR_RootConstrainSelectedInstOperands,
62116 /* 175847 */ // GIR_Coverage, 15193,
62117 /* 175847 */ GIR_EraseRootFromParent_Done,
62118 /* 175848 */ // Label 3895: @175848
62119 /* 175848 */ GIM_Try, /*On fail goto*//*Label 3896*/ GIMT_Encode4(175878), // Rule ID 10401 //
62120 /* 175853 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62121 /* 175856 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62122 /* 175859 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62123 /* 175863 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62124 /* 175867 */ // (fp_to_uint:{ *:[i32] } FR32X:{ *:[f32] }:$src) => (VCVTTSS2USIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src)
62125 /* 175867 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USIZrr),
62126 /* 175872 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62127 /* 175876 */ GIR_RootConstrainSelectedInstOperands,
62128 /* 175877 */ // GIR_Coverage, 10401,
62129 /* 175877 */ GIR_Done,
62130 /* 175878 */ // Label 3896: @175878
62131 /* 175878 */ GIM_Try, /*On fail goto*//*Label 3897*/ GIMT_Encode4(175908), // Rule ID 10419 //
62132 /* 175883 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62133 /* 175886 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62134 /* 175889 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62135 /* 175893 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
62136 /* 175897 */ // (fp_to_uint:{ *:[i32] } FR64X:{ *:[f64] }:$src) => (VCVTTSD2USIZrr:{ *:[i32] } FR64X:{ *:[f64] }:$src)
62137 /* 175897 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USIZrr),
62138 /* 175902 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62139 /* 175906 */ GIR_RootConstrainSelectedInstOperands,
62140 /* 175907 */ // GIR_Coverage, 10419,
62141 /* 175907 */ GIR_Done,
62142 /* 175908 */ // Label 3897: @175908
62143 /* 175908 */ GIM_Try, /*On fail goto*//*Label 3898*/ GIMT_Encode4(175938), // Rule ID 15191 //
62144 /* 175913 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62145 /* 175916 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
62146 /* 175919 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62147 /* 175923 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62148 /* 175927 */ // (fp_to_uint:{ *:[i32] } FR16X:{ *:[f16] }:$src) => (VCVTTSH2USIZrr:{ *:[i32] } FR16X:{ *:[f16] }:$src)
62149 /* 175927 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2USIZrr),
62150 /* 175932 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62151 /* 175936 */ GIR_RootConstrainSelectedInstOperands,
62152 /* 175937 */ // GIR_Coverage, 15191,
62153 /* 175937 */ GIR_Done,
62154 /* 175938 */ // Label 3898: @175938
62155 /* 175938 */ GIM_Reject,
62156 /* 175939 */ // Label 3891: @175939
62157 /* 175939 */ GIM_Try, /*On fail goto*//*Label 3899*/ GIMT_Encode4(175998), // Rule ID 10412 //
62158 /* 175944 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62159 /* 175947 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62160 /* 175950 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62161 /* 175954 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62162 /* 175958 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62163 /* 175962 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62164 /* 175965 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62165 /* 175969 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62166 /* 175973 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62167 /* 175975 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62168 /* 175982 */ // (fp_to_uint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2USI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
62169 /* 175982 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USI64Zrm),
62170 /* 175985 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62171 /* 175987 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62172 /* 175991 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62173 /* 175996 */ GIR_RootConstrainSelectedInstOperands,
62174 /* 175997 */ // GIR_Coverage, 10412,
62175 /* 175997 */ GIR_EraseRootFromParent_Done,
62176 /* 175998 */ // Label 3899: @175998
62177 /* 175998 */ GIM_Try, /*On fail goto*//*Label 3900*/ GIMT_Encode4(176057), // Rule ID 10430 //
62178 /* 176003 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62179 /* 176006 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62180 /* 176009 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62181 /* 176013 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62182 /* 176017 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62183 /* 176021 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62184 /* 176024 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62185 /* 176028 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62186 /* 176032 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62187 /* 176034 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62188 /* 176041 */ // (fp_to_uint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2USI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
62189 /* 176041 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USI64Zrm),
62190 /* 176044 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62191 /* 176046 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62192 /* 176050 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62193 /* 176055 */ GIR_RootConstrainSelectedInstOperands,
62194 /* 176056 */ // GIR_Coverage, 10430,
62195 /* 176056 */ GIR_EraseRootFromParent_Done,
62196 /* 176057 */ // Label 3900: @176057
62197 /* 176057 */ GIM_Try, /*On fail goto*//*Label 3901*/ GIMT_Encode4(176116), // Rule ID 15202 //
62198 /* 176062 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62199 /* 176065 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
62200 /* 176068 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62201 /* 176072 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62202 /* 176076 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62203 /* 176080 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62204 /* 176083 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62205 /* 176087 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62206 /* 176091 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62207 /* 176093 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62208 /* 176100 */ // (fp_to_uint:{ *:[i64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2USI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
62209 /* 176100 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2USI64Zrm),
62210 /* 176103 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62211 /* 176105 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62212 /* 176109 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62213 /* 176114 */ GIR_RootConstrainSelectedInstOperands,
62214 /* 176115 */ // GIR_Coverage, 15202,
62215 /* 176115 */ GIR_EraseRootFromParent_Done,
62216 /* 176116 */ // Label 3901: @176116
62217 /* 176116 */ GIM_Try, /*On fail goto*//*Label 3902*/ GIMT_Encode4(176146), // Rule ID 10410 //
62218 /* 176121 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62219 /* 176124 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62220 /* 176127 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62221 /* 176131 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62222 /* 176135 */ // (fp_to_uint:{ *:[i64] } FR32X:{ *:[f32] }:$src) => (VCVTTSS2USI64Zrr:{ *:[i64] } FR32X:{ *:[f32] }:$src)
62223 /* 176135 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USI64Zrr),
62224 /* 176140 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62225 /* 176144 */ GIR_RootConstrainSelectedInstOperands,
62226 /* 176145 */ // GIR_Coverage, 10410,
62227 /* 176145 */ GIR_Done,
62228 /* 176146 */ // Label 3902: @176146
62229 /* 176146 */ GIM_Try, /*On fail goto*//*Label 3903*/ GIMT_Encode4(176176), // Rule ID 10428 //
62230 /* 176151 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62231 /* 176154 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62232 /* 176157 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62233 /* 176161 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
62234 /* 176165 */ // (fp_to_uint:{ *:[i64] } FR64X:{ *:[f64] }:$src) => (VCVTTSD2USI64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src)
62235 /* 176165 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USI64Zrr),
62236 /* 176170 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62237 /* 176174 */ GIR_RootConstrainSelectedInstOperands,
62238 /* 176175 */ // GIR_Coverage, 10428,
62239 /* 176175 */ GIR_Done,
62240 /* 176176 */ // Label 3903: @176176
62241 /* 176176 */ GIM_Try, /*On fail goto*//*Label 3904*/ GIMT_Encode4(176206), // Rule ID 15200 //
62242 /* 176181 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62243 /* 176184 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
62244 /* 176187 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62245 /* 176191 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62246 /* 176195 */ // (fp_to_uint:{ *:[i64] } FR16X:{ *:[f16] }:$src) => (VCVTTSH2USI64Zrr:{ *:[i64] } FR16X:{ *:[f16] }:$src)
62247 /* 176195 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2USI64Zrr),
62248 /* 176200 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62249 /* 176204 */ GIR_RootConstrainSelectedInstOperands,
62250 /* 176205 */ // GIR_Coverage, 15200,
62251 /* 176205 */ GIR_Done,
62252 /* 176206 */ // Label 3904: @176206
62253 /* 176206 */ GIM_Reject,
62254 /* 176207 */ // Label 3892: @176207
62255 /* 176207 */ GIM_Reject,
62256 /* 176208 */ // Label 52: @176208
62257 /* 176208 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 3917*/ GIMT_Encode4(179583),
62258 /* 176219 */ /*GILLT_s16*//*Label 3905*/ GIMT_Encode4(176303),
62259 /* 176223 */ /*GILLT_s32*//*Label 3906*/ GIMT_Encode4(176546),
62260 /* 176227 */ /*GILLT_s64*//*Label 3907*/ GIMT_Encode4(177209), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
62261 /* 176243 */ /*GILLT_v2s64*//*Label 3908*/ GIMT_Encode4(177868), GIMT_Encode4(0),
62262 /* 176251 */ /*GILLT_v4s32*//*Label 3909*/ GIMT_Encode4(177957),
62263 /* 176255 */ /*GILLT_v4s64*//*Label 3910*/ GIMT_Encode4(178255), GIMT_Encode4(0),
62264 /* 176263 */ /*GILLT_v8s16*//*Label 3911*/ GIMT_Encode4(178515),
62265 /* 176267 */ /*GILLT_v8s32*//*Label 3912*/ GIMT_Encode4(178783),
62266 /* 176271 */ /*GILLT_v8s64*//*Label 3913*/ GIMT_Encode4(179051), GIMT_Encode4(0), GIMT_Encode4(0),
62267 /* 176283 */ /*GILLT_v16s16*//*Label 3914*/ GIMT_Encode4(179226),
62268 /* 176287 */ /*GILLT_v16s32*//*Label 3915*/ GIMT_Encode4(179405), GIMT_Encode4(0), GIMT_Encode4(0),
62269 /* 176299 */ /*GILLT_v32s16*//*Label 3916*/ GIMT_Encode4(179494),
62270 /* 176303 */ // Label 3905: @176303
62271 /* 176303 */ GIM_Try, /*On fail goto*//*Label 3918*/ GIMT_Encode4(176379), // Rule ID 22240 //
62272 /* 176308 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62273 /* 176311 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62274 /* 176314 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62275 /* 176318 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62276 /* 176322 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62277 /* 176326 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62278 /* 176329 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62279 /* 176333 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62280 /* 176337 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62281 /* 176339 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62282 /* 176346 */ // (sint_to_fp:{ *:[f16] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SHZrm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
62283 /* 176346 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
62284 /* 176349 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62285 /* 176353 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62286 /* 176358 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62287 /* 176360 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SHZrm),
62288 /* 176363 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62289 /* 176365 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62290 /* 176368 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62291 /* 176372 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62292 /* 176377 */ GIR_RootConstrainSelectedInstOperands,
62293 /* 176378 */ // GIR_Coverage, 22240,
62294 /* 176378 */ GIR_EraseRootFromParent_Done,
62295 /* 176379 */ // Label 3918: @176379
62296 /* 176379 */ GIM_Try, /*On fail goto*//*Label 3919*/ GIMT_Encode4(176455), // Rule ID 22238 //
62297 /* 176384 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62298 /* 176387 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62299 /* 176390 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62300 /* 176394 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62301 /* 176398 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62302 /* 176402 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62303 /* 176405 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62304 /* 176409 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
62305 /* 176413 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62306 /* 176415 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62307 /* 176422 */ // (sint_to_fp:{ *:[f16] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SHZrm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
62308 /* 176422 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
62309 /* 176425 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62310 /* 176429 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62311 /* 176434 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62312 /* 176436 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SHZrm),
62313 /* 176439 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62314 /* 176441 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62315 /* 176444 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62316 /* 176448 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62317 /* 176453 */ GIR_RootConstrainSelectedInstOperands,
62318 /* 176454 */ // GIR_Coverage, 22238,
62319 /* 176454 */ GIR_EraseRootFromParent_Done,
62320 /* 176455 */ // Label 3919: @176455
62321 /* 176455 */ GIM_Try, /*On fail goto*//*Label 3920*/ GIMT_Encode4(176500), // Rule ID 22242 //
62322 /* 176460 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62323 /* 176463 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62324 /* 176466 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62325 /* 176470 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62326 /* 176474 */ // (sint_to_fp:{ *:[f16] } GR32:{ *:[i32] }:$src) => (VCVTSI2SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), GR32:{ *:[i32] }:$src)
62327 /* 176474 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
62328 /* 176477 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62329 /* 176481 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62330 /* 176486 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62331 /* 176488 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SHZrr),
62332 /* 176491 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62333 /* 176493 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62334 /* 176496 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62335 /* 176498 */ GIR_RootConstrainSelectedInstOperands,
62336 /* 176499 */ // GIR_Coverage, 22242,
62337 /* 176499 */ GIR_EraseRootFromParent_Done,
62338 /* 176500 */ // Label 3920: @176500
62339 /* 176500 */ GIM_Try, /*On fail goto*//*Label 3921*/ GIMT_Encode4(176545), // Rule ID 22244 //
62340 /* 176505 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62341 /* 176508 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62342 /* 176511 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62343 /* 176515 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62344 /* 176519 */ // (sint_to_fp:{ *:[f16] } GR64:{ *:[i64] }:$src) => (VCVTSI642SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), GR64:{ *:[i64] }:$src)
62345 /* 176519 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
62346 /* 176522 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62347 /* 176526 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62348 /* 176531 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62349 /* 176533 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SHZrr),
62350 /* 176536 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62351 /* 176538 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62352 /* 176541 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62353 /* 176543 */ GIR_RootConstrainSelectedInstOperands,
62354 /* 176544 */ // GIR_Coverage, 22244,
62355 /* 176544 */ GIR_EraseRootFromParent_Done,
62356 /* 176545 */ // Label 3921: @176545
62357 /* 176545 */ GIM_Reject,
62358 /* 176546 */ // Label 3906: @176546
62359 /* 176546 */ GIM_Try, /*On fail goto*//*Label 3922*/ GIMT_Encode4(176605), // Rule ID 1794 //
62360 /* 176551 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
62361 /* 176554 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62362 /* 176557 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62363 /* 176561 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62364 /* 176565 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62365 /* 176569 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62366 /* 176572 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62367 /* 176576 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62368 /* 176580 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62369 /* 176582 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62370 /* 176589 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSI642SSrm:{ *:[f32] } addr:{ *:[iPTR] }:$src)
62371 /* 176589 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSI642SSrm),
62372 /* 176592 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62373 /* 176594 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62374 /* 176598 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62375 /* 176603 */ GIR_RootConstrainSelectedInstOperands,
62376 /* 176604 */ // GIR_Coverage, 1794,
62377 /* 176604 */ GIR_EraseRootFromParent_Done,
62378 /* 176605 */ // Label 3922: @176605
62379 /* 176605 */ GIM_Try, /*On fail goto*//*Label 3923*/ GIMT_Encode4(176681), // Rule ID 17966 //
62380 /* 176610 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62381 /* 176613 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62382 /* 176616 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62383 /* 176620 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62384 /* 176624 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62385 /* 176628 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62386 /* 176631 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62387 /* 176635 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62388 /* 176639 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62389 /* 176641 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62390 /* 176648 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SSrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
62391 /* 176648 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62392 /* 176651 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62393 /* 176655 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62394 /* 176660 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62395 /* 176662 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SSrm),
62396 /* 176665 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62397 /* 176667 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62398 /* 176670 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62399 /* 176674 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62400 /* 176679 */ GIR_RootConstrainSelectedInstOperands,
62401 /* 176680 */ // GIR_Coverage, 17966,
62402 /* 176680 */ GIR_EraseRootFromParent_Done,
62403 /* 176681 */ // Label 3923: @176681
62404 /* 176681 */ GIM_Try, /*On fail goto*//*Label 3924*/ GIMT_Encode4(176757), // Rule ID 21141 //
62405 /* 176686 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62406 /* 176689 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62407 /* 176692 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62408 /* 176696 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62409 /* 176700 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62410 /* 176704 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62411 /* 176707 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62412 /* 176711 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62413 /* 176715 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62414 /* 176717 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62415 /* 176724 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
62416 /* 176724 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62417 /* 176727 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62418 /* 176731 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62419 /* 176736 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62420 /* 176738 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SSZrm),
62421 /* 176741 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62422 /* 176743 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62423 /* 176746 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62424 /* 176750 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62425 /* 176755 */ GIR_RootConstrainSelectedInstOperands,
62426 /* 176756 */ // GIR_Coverage, 21141,
62427 /* 176756 */ GIR_EraseRootFromParent_Done,
62428 /* 176757 */ // Label 3924: @176757
62429 /* 176757 */ GIM_Try, /*On fail goto*//*Label 3925*/ GIMT_Encode4(176816), // Rule ID 1790 //
62430 /* 176762 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
62431 /* 176765 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62432 /* 176768 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62433 /* 176772 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62434 /* 176776 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62435 /* 176780 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62436 /* 176783 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62437 /* 176787 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
62438 /* 176791 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62439 /* 176793 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62440 /* 176800 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (CVTSI2SSrm:{ *:[f32] } addr:{ *:[iPTR] }:$src)
62441 /* 176800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSI2SSrm),
62442 /* 176803 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62443 /* 176805 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62444 /* 176809 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62445 /* 176814 */ GIR_RootConstrainSelectedInstOperands,
62446 /* 176815 */ // GIR_Coverage, 1790,
62447 /* 176815 */ GIR_EraseRootFromParent_Done,
62448 /* 176816 */ // Label 3925: @176816
62449 /* 176816 */ GIM_Try, /*On fail goto*//*Label 3926*/ GIMT_Encode4(176892), // Rule ID 17964 //
62450 /* 176821 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62451 /* 176824 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62452 /* 176827 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62453 /* 176831 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62454 /* 176835 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62455 /* 176839 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62456 /* 176842 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62457 /* 176846 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
62458 /* 176850 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62459 /* 176852 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62460 /* 176859 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SSrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
62461 /* 176859 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62462 /* 176862 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62463 /* 176866 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62464 /* 176871 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62465 /* 176873 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SSrm),
62466 /* 176876 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62467 /* 176878 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62468 /* 176881 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62469 /* 176885 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62470 /* 176890 */ GIR_RootConstrainSelectedInstOperands,
62471 /* 176891 */ // GIR_Coverage, 17964,
62472 /* 176891 */ GIR_EraseRootFromParent_Done,
62473 /* 176892 */ // Label 3926: @176892
62474 /* 176892 */ GIM_Try, /*On fail goto*//*Label 3927*/ GIMT_Encode4(176968), // Rule ID 21139 //
62475 /* 176897 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62476 /* 176900 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62477 /* 176903 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62478 /* 176907 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62479 /* 176911 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62480 /* 176915 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62481 /* 176918 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62482 /* 176922 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
62483 /* 176926 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62484 /* 176928 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62485 /* 176935 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
62486 /* 176935 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62487 /* 176938 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62488 /* 176942 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62489 /* 176947 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62490 /* 176949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SSZrm),
62491 /* 176952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62492 /* 176954 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62493 /* 176957 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62494 /* 176961 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62495 /* 176966 */ GIR_RootConstrainSelectedInstOperands,
62496 /* 176967 */ // GIR_Coverage, 21139,
62497 /* 176967 */ GIR_EraseRootFromParent_Done,
62498 /* 176968 */ // Label 3927: @176968
62499 /* 176968 */ GIM_Try, /*On fail goto*//*Label 3928*/ GIMT_Encode4(176998), // Rule ID 1788 //
62500 /* 176973 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
62501 /* 176976 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62502 /* 176979 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62503 /* 176983 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62504 /* 176987 */ // (sint_to_fp:{ *:[f32] } GR32:{ *:[i32] }:$src) => (CVTSI2SSrr:{ *:[f32] } GR32:{ *:[i32] }:$src)
62505 /* 176987 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSI2SSrr),
62506 /* 176992 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62507 /* 176996 */ GIR_RootConstrainSelectedInstOperands,
62508 /* 176997 */ // GIR_Coverage, 1788,
62509 /* 176997 */ GIR_Done,
62510 /* 176998 */ // Label 3928: @176998
62511 /* 176998 */ GIM_Try, /*On fail goto*//*Label 3929*/ GIMT_Encode4(177028), // Rule ID 1792 //
62512 /* 177003 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
62513 /* 177006 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62514 /* 177009 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62515 /* 177013 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62516 /* 177017 */ // (sint_to_fp:{ *:[f32] } GR64:{ *:[i64] }:$src) => (CVTSI642SSrr:{ *:[f32] } GR64:{ *:[i64] }:$src)
62517 /* 177017 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSI642SSrr),
62518 /* 177022 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62519 /* 177026 */ GIR_RootConstrainSelectedInstOperands,
62520 /* 177027 */ // GIR_Coverage, 1792,
62521 /* 177027 */ GIR_Done,
62522 /* 177028 */ // Label 3929: @177028
62523 /* 177028 */ GIM_Try, /*On fail goto*//*Label 3930*/ GIMT_Encode4(177073), // Rule ID 17972 //
62524 /* 177033 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62525 /* 177036 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62526 /* 177039 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62527 /* 177043 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62528 /* 177047 */ // (sint_to_fp:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VCVTSI2SSrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR32:{ *:[i32] }:$src)
62529 /* 177047 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62530 /* 177050 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62531 /* 177054 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62532 /* 177059 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62533 /* 177061 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SSrr),
62534 /* 177064 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62535 /* 177066 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62536 /* 177069 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62537 /* 177071 */ GIR_RootConstrainSelectedInstOperands,
62538 /* 177072 */ // GIR_Coverage, 17972,
62539 /* 177072 */ GIR_EraseRootFromParent_Done,
62540 /* 177073 */ // Label 3930: @177073
62541 /* 177073 */ GIM_Try, /*On fail goto*//*Label 3931*/ GIMT_Encode4(177118), // Rule ID 17974 //
62542 /* 177078 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62543 /* 177081 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62544 /* 177084 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62545 /* 177088 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62546 /* 177092 */ // (sint_to_fp:{ *:[f32] } GR64:{ *:[i64] }:$src) => (VCVTSI642SSrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR64:{ *:[i64] }:$src)
62547 /* 177092 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62548 /* 177095 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62549 /* 177099 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62550 /* 177104 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62551 /* 177106 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SSrr),
62552 /* 177109 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62553 /* 177111 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62554 /* 177114 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62555 /* 177116 */ GIR_RootConstrainSelectedInstOperands,
62556 /* 177117 */ // GIR_Coverage, 17974,
62557 /* 177117 */ GIR_EraseRootFromParent_Done,
62558 /* 177118 */ // Label 3931: @177118
62559 /* 177118 */ GIM_Try, /*On fail goto*//*Label 3932*/ GIMT_Encode4(177163), // Rule ID 21147 //
62560 /* 177123 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62561 /* 177126 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62562 /* 177129 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62563 /* 177133 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62564 /* 177137 */ // (sint_to_fp:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VCVTSI2SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR32:{ *:[i32] }:$src)
62565 /* 177137 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62566 /* 177140 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62567 /* 177144 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62568 /* 177149 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62569 /* 177151 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SSZrr),
62570 /* 177154 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62571 /* 177156 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62572 /* 177159 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62573 /* 177161 */ GIR_RootConstrainSelectedInstOperands,
62574 /* 177162 */ // GIR_Coverage, 21147,
62575 /* 177162 */ GIR_EraseRootFromParent_Done,
62576 /* 177163 */ // Label 3932: @177163
62577 /* 177163 */ GIM_Try, /*On fail goto*//*Label 3933*/ GIMT_Encode4(177208), // Rule ID 21149 //
62578 /* 177168 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62579 /* 177171 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62580 /* 177174 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62581 /* 177178 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62582 /* 177182 */ // (sint_to_fp:{ *:[f32] } GR64:{ *:[i64] }:$src) => (VCVTSI642SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR64:{ *:[i64] }:$src)
62583 /* 177182 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62584 /* 177185 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62585 /* 177189 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62586 /* 177194 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62587 /* 177196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SSZrr),
62588 /* 177199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62589 /* 177201 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62590 /* 177204 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62591 /* 177206 */ GIR_RootConstrainSelectedInstOperands,
62592 /* 177207 */ // GIR_Coverage, 21149,
62593 /* 177207 */ GIR_EraseRootFromParent_Done,
62594 /* 177208 */ // Label 3933: @177208
62595 /* 177208 */ GIM_Reject,
62596 /* 177209 */ // Label 3907: @177209
62597 /* 177209 */ GIM_Try, /*On fail goto*//*Label 3934*/ GIMT_Encode4(177268), // Rule ID 1802 //
62598 /* 177214 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
62599 /* 177217 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62600 /* 177220 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
62601 /* 177224 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62602 /* 177228 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62603 /* 177232 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62604 /* 177235 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62605 /* 177239 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62606 /* 177243 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62607 /* 177245 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62608 /* 177252 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSI642SDrm:{ *:[f64] } addr:{ *:[iPTR] }:$src)
62609 /* 177252 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSI642SDrm),
62610 /* 177255 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62611 /* 177257 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62612 /* 177261 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62613 /* 177266 */ GIR_RootConstrainSelectedInstOperands,
62614 /* 177267 */ // GIR_Coverage, 1802,
62615 /* 177267 */ GIR_EraseRootFromParent_Done,
62616 /* 177268 */ // Label 3934: @177268
62617 /* 177268 */ GIM_Try, /*On fail goto*//*Label 3935*/ GIMT_Encode4(177344), // Rule ID 17970 //
62618 /* 177273 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62619 /* 177276 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62620 /* 177279 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
62621 /* 177283 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62622 /* 177287 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62623 /* 177291 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62624 /* 177294 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62625 /* 177298 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62626 /* 177302 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62627 /* 177304 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62628 /* 177311 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SDrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
62629 /* 177311 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
62630 /* 177314 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62631 /* 177318 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62632 /* 177323 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62633 /* 177325 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SDrm),
62634 /* 177328 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62635 /* 177330 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62636 /* 177333 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62637 /* 177337 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62638 /* 177342 */ GIR_RootConstrainSelectedInstOperands,
62639 /* 177343 */ // GIR_Coverage, 17970,
62640 /* 177343 */ GIR_EraseRootFromParent_Done,
62641 /* 177344 */ // Label 3935: @177344
62642 /* 177344 */ GIM_Try, /*On fail goto*//*Label 3936*/ GIMT_Encode4(177420), // Rule ID 21145 //
62643 /* 177349 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62644 /* 177352 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62645 /* 177355 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
62646 /* 177359 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62647 /* 177363 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62648 /* 177367 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62649 /* 177370 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62650 /* 177374 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62651 /* 177378 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62652 /* 177380 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62653 /* 177387 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
62654 /* 177387 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
62655 /* 177390 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62656 /* 177394 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62657 /* 177399 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62658 /* 177401 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SDZrm),
62659 /* 177404 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62660 /* 177406 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62661 /* 177409 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62662 /* 177413 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62663 /* 177418 */ GIR_RootConstrainSelectedInstOperands,
62664 /* 177419 */ // GIR_Coverage, 21145,
62665 /* 177419 */ GIR_EraseRootFromParent_Done,
62666 /* 177420 */ // Label 3936: @177420
62667 /* 177420 */ GIM_Try, /*On fail goto*//*Label 3937*/ GIMT_Encode4(177479), // Rule ID 1798 //
62668 /* 177425 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
62669 /* 177428 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62670 /* 177431 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
62671 /* 177435 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62672 /* 177439 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62673 /* 177443 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62674 /* 177446 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62675 /* 177450 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
62676 /* 177454 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62677 /* 177456 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62678 /* 177463 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (CVTSI2SDrm:{ *:[f64] } addr:{ *:[iPTR] }:$src)
62679 /* 177463 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSI2SDrm),
62680 /* 177466 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62681 /* 177468 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62682 /* 177472 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62683 /* 177477 */ GIR_RootConstrainSelectedInstOperands,
62684 /* 177478 */ // GIR_Coverage, 1798,
62685 /* 177478 */ GIR_EraseRootFromParent_Done,
62686 /* 177479 */ // Label 3937: @177479
62687 /* 177479 */ GIM_Try, /*On fail goto*//*Label 3938*/ GIMT_Encode4(177555), // Rule ID 17968 //
62688 /* 177484 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62689 /* 177487 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62690 /* 177490 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
62691 /* 177494 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62692 /* 177498 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62693 /* 177502 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62694 /* 177505 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62695 /* 177509 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
62696 /* 177513 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62697 /* 177515 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62698 /* 177522 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SDrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
62699 /* 177522 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
62700 /* 177525 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62701 /* 177529 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62702 /* 177534 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62703 /* 177536 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SDrm),
62704 /* 177539 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62705 /* 177541 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62706 /* 177544 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62707 /* 177548 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62708 /* 177553 */ GIR_RootConstrainSelectedInstOperands,
62709 /* 177554 */ // GIR_Coverage, 17968,
62710 /* 177554 */ GIR_EraseRootFromParent_Done,
62711 /* 177555 */ // Label 3938: @177555
62712 /* 177555 */ GIM_Try, /*On fail goto*//*Label 3939*/ GIMT_Encode4(177631), // Rule ID 21143 //
62713 /* 177560 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62714 /* 177563 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62715 /* 177566 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
62716 /* 177570 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62717 /* 177574 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62718 /* 177578 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62719 /* 177581 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62720 /* 177585 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
62721 /* 177589 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62722 /* 177591 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62723 /* 177598 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
62724 /* 177598 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
62725 /* 177601 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62726 /* 177605 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62727 /* 177610 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62728 /* 177612 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SDZrm),
62729 /* 177615 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62730 /* 177617 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62731 /* 177620 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62732 /* 177624 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62733 /* 177629 */ GIR_RootConstrainSelectedInstOperands,
62734 /* 177630 */ // GIR_Coverage, 21143,
62735 /* 177630 */ GIR_EraseRootFromParent_Done,
62736 /* 177631 */ // Label 3939: @177631
62737 /* 177631 */ GIM_Try, /*On fail goto*//*Label 3940*/ GIMT_Encode4(177657), // Rule ID 1796 //
62738 /* 177636 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
62739 /* 177639 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62740 /* 177642 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
62741 /* 177646 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62742 /* 177650 */ // (sint_to_fp:{ *:[f64] } GR32:{ *:[i32] }:$src) => (CVTSI2SDrr:{ *:[f64] } GR32:{ *:[i32] }:$src)
62743 /* 177650 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSI2SDrr),
62744 /* 177655 */ GIR_RootConstrainSelectedInstOperands,
62745 /* 177656 */ // GIR_Coverage, 1796,
62746 /* 177656 */ GIR_Done,
62747 /* 177657 */ // Label 3940: @177657
62748 /* 177657 */ GIM_Try, /*On fail goto*//*Label 3941*/ GIMT_Encode4(177687), // Rule ID 1800 //
62749 /* 177662 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
62750 /* 177665 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62751 /* 177668 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
62752 /* 177672 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62753 /* 177676 */ // (sint_to_fp:{ *:[f64] } GR64:{ *:[i64] }:$src) => (CVTSI642SDrr:{ *:[f64] } GR64:{ *:[i64] }:$src)
62754 /* 177676 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSI642SDrr),
62755 /* 177681 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62756 /* 177685 */ GIR_RootConstrainSelectedInstOperands,
62757 /* 177686 */ // GIR_Coverage, 1800,
62758 /* 177686 */ GIR_Done,
62759 /* 177687 */ // Label 3941: @177687
62760 /* 177687 */ GIM_Try, /*On fail goto*//*Label 3942*/ GIMT_Encode4(177732), // Rule ID 17976 //
62761 /* 177692 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62762 /* 177695 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62763 /* 177698 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
62764 /* 177702 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62765 /* 177706 */ // (sint_to_fp:{ *:[f64] } GR32:{ *:[i32] }:$src) => (VCVTSI2SDrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR32:{ *:[i32] }:$src)
62766 /* 177706 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
62767 /* 177709 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62768 /* 177713 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62769 /* 177718 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62770 /* 177720 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SDrr),
62771 /* 177723 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62772 /* 177725 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62773 /* 177728 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62774 /* 177730 */ GIR_RootConstrainSelectedInstOperands,
62775 /* 177731 */ // GIR_Coverage, 17976,
62776 /* 177731 */ GIR_EraseRootFromParent_Done,
62777 /* 177732 */ // Label 3942: @177732
62778 /* 177732 */ GIM_Try, /*On fail goto*//*Label 3943*/ GIMT_Encode4(177777), // Rule ID 17978 //
62779 /* 177737 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62780 /* 177740 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62781 /* 177743 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
62782 /* 177747 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62783 /* 177751 */ // (sint_to_fp:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VCVTSI642SDrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR64:{ *:[i64] }:$src)
62784 /* 177751 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
62785 /* 177754 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62786 /* 177758 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62787 /* 177763 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62788 /* 177765 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SDrr),
62789 /* 177768 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62790 /* 177770 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62791 /* 177773 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62792 /* 177775 */ GIR_RootConstrainSelectedInstOperands,
62793 /* 177776 */ // GIR_Coverage, 17978,
62794 /* 177776 */ GIR_EraseRootFromParent_Done,
62795 /* 177777 */ // Label 3943: @177777
62796 /* 177777 */ GIM_Try, /*On fail goto*//*Label 3944*/ GIMT_Encode4(177822), // Rule ID 21151 //
62797 /* 177782 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62798 /* 177785 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62799 /* 177788 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
62800 /* 177792 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62801 /* 177796 */ // (sint_to_fp:{ *:[f64] } GR32:{ *:[i32] }:$src) => (VCVTSI2SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR32:{ *:[i32] }:$src)
62802 /* 177796 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
62803 /* 177799 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62804 /* 177803 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62805 /* 177808 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62806 /* 177810 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SDZrr),
62807 /* 177813 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62808 /* 177815 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62809 /* 177818 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62810 /* 177820 */ GIR_RootConstrainSelectedInstOperands,
62811 /* 177821 */ // GIR_Coverage, 21151,
62812 /* 177821 */ GIR_EraseRootFromParent_Done,
62813 /* 177822 */ // Label 3944: @177822
62814 /* 177822 */ GIM_Try, /*On fail goto*//*Label 3945*/ GIMT_Encode4(177867), // Rule ID 21153 //
62815 /* 177827 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62816 /* 177830 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62817 /* 177833 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
62818 /* 177837 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62819 /* 177841 */ // (sint_to_fp:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VCVTSI642SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR64:{ *:[i64] }:$src)
62820 /* 177841 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
62821 /* 177844 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62822 /* 177848 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62823 /* 177853 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62824 /* 177855 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SDZrr),
62825 /* 177858 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62826 /* 177860 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62827 /* 177863 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62828 /* 177865 */ GIR_RootConstrainSelectedInstOperands,
62829 /* 177866 */ // GIR_Coverage, 21153,
62830 /* 177866 */ GIR_EraseRootFromParent_Done,
62831 /* 177867 */ // Label 3945: @177867
62832 /* 177867 */ GIM_Reject,
62833 /* 177868 */ // Label 3908: @177868
62834 /* 177868 */ GIM_Try, /*On fail goto*//*Label 3946*/ GIMT_Encode4(177956),
62835 /* 177873 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
62836 /* 177876 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62837 /* 177880 */ GIM_Try, /*On fail goto*//*Label 3947*/ GIMT_Encode4(177932), // Rule ID 11383 //
62838 /* 177885 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
62839 /* 177888 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62840 /* 177892 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62841 /* 177896 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62842 /* 177899 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62843 /* 177903 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62844 /* 177907 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62845 /* 177909 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62846 /* 177916 */ // (sint_to_fp:{ *:[v2f64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PDZ128rm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
62847 /* 177916 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZ128rm),
62848 /* 177919 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62849 /* 177921 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62850 /* 177925 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62851 /* 177930 */ GIR_RootConstrainSelectedInstOperands,
62852 /* 177931 */ // GIR_Coverage, 11383,
62853 /* 177931 */ GIR_EraseRootFromParent_Done,
62854 /* 177932 */ // Label 3947: @177932
62855 /* 177932 */ GIM_Try, /*On fail goto*//*Label 3948*/ GIMT_Encode4(177955), // Rule ID 11379 //
62856 /* 177937 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
62857 /* 177940 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62858 /* 177944 */ // (sint_to_fp:{ *:[v2f64] } VR128X:{ *:[v2i64] }:$src) => (VCVTQQ2PDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2i64] }:$src)
62859 /* 177944 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZ128rr),
62860 /* 177949 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62861 /* 177953 */ GIR_RootConstrainSelectedInstOperands,
62862 /* 177954 */ // GIR_Coverage, 11379,
62863 /* 177954 */ GIR_Done,
62864 /* 177955 */ // Label 3948: @177955
62865 /* 177955 */ GIM_Reject,
62866 /* 177956 */ // Label 3946: @177956
62867 /* 177956 */ GIM_Reject,
62868 /* 177957 */ // Label 3909: @177957
62869 /* 177957 */ GIM_Try, /*On fail goto*//*Label 3949*/ GIMT_Encode4(178016), // Rule ID 1870 //
62870 /* 177962 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
62871 /* 177965 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
62872 /* 177968 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
62873 /* 177972 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62874 /* 177976 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62875 /* 177980 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62876 /* 177983 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62877 /* 177987 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62878 /* 177991 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62879 /* 177993 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62880 /* 178000 */ // (sint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
62881 /* 178000 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSrm),
62882 /* 178003 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62883 /* 178005 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62884 /* 178009 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62885 /* 178014 */ GIR_RootConstrainSelectedInstOperands,
62886 /* 178015 */ // GIR_Coverage, 1870,
62887 /* 178015 */ GIR_EraseRootFromParent_Done,
62888 /* 178016 */ // Label 3949: @178016
62889 /* 178016 */ GIM_Try, /*On fail goto*//*Label 3950*/ GIMT_Encode4(178075), // Rule ID 10759 //
62890 /* 178021 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
62891 /* 178024 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
62892 /* 178027 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62893 /* 178031 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62894 /* 178035 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62895 /* 178039 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62896 /* 178042 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62897 /* 178046 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62898 /* 178050 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62899 /* 178052 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62900 /* 178059 */ // (sint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSZ128rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
62901 /* 178059 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZ128rm),
62902 /* 178062 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62903 /* 178064 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62904 /* 178068 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62905 /* 178073 */ GIR_RootConstrainSelectedInstOperands,
62906 /* 178074 */ // GIR_Coverage, 10759,
62907 /* 178074 */ GIR_EraseRootFromParent_Done,
62908 /* 178075 */ // Label 3950: @178075
62909 /* 178075 */ GIM_Try, /*On fail goto*//*Label 3951*/ GIMT_Encode4(178134), // Rule ID 11515 //
62910 /* 178080 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
62911 /* 178083 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
62912 /* 178086 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62913 /* 178090 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62914 /* 178094 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62915 /* 178098 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62916 /* 178101 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62917 /* 178105 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62918 /* 178109 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62919 /* 178111 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62920 /* 178118 */ // (sint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PSZ256rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
62921 /* 178118 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PSZ256rm),
62922 /* 178121 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62923 /* 178123 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62924 /* 178127 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62925 /* 178132 */ GIR_RootConstrainSelectedInstOperands,
62926 /* 178133 */ // GIR_Coverage, 11515,
62927 /* 178133 */ GIR_EraseRootFromParent_Done,
62928 /* 178134 */ // Label 3951: @178134
62929 /* 178134 */ GIM_Try, /*On fail goto*//*Label 3952*/ GIMT_Encode4(178164), // Rule ID 1868 //
62930 /* 178139 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
62931 /* 178142 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
62932 /* 178145 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
62933 /* 178149 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
62934 /* 178153 */ // (sint_to_fp:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src) => (VCVTDQ2PSrr:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src)
62935 /* 178153 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSrr),
62936 /* 178158 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62937 /* 178162 */ GIR_RootConstrainSelectedInstOperands,
62938 /* 178163 */ // GIR_Coverage, 1868,
62939 /* 178163 */ GIR_Done,
62940 /* 178164 */ // Label 3952: @178164
62941 /* 178164 */ GIM_Try, /*On fail goto*//*Label 3953*/ GIMT_Encode4(178194), // Rule ID 1876 //
62942 /* 178169 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
62943 /* 178172 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
62944 /* 178175 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
62945 /* 178179 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
62946 /* 178183 */ // (sint_to_fp:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src) => (CVTDQ2PSrr:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src)
62947 /* 178183 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTDQ2PSrr),
62948 /* 178188 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62949 /* 178192 */ GIR_RootConstrainSelectedInstOperands,
62950 /* 178193 */ // GIR_Coverage, 1876,
62951 /* 178193 */ GIR_Done,
62952 /* 178194 */ // Label 3953: @178194
62953 /* 178194 */ GIM_Try, /*On fail goto*//*Label 3954*/ GIMT_Encode4(178224), // Rule ID 10755 //
62954 /* 178199 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
62955 /* 178202 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
62956 /* 178205 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62957 /* 178209 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62958 /* 178213 */ // (sint_to_fp:{ *:[v4f32] } VR128X:{ *:[v4i32] }:$src) => (VCVTDQ2PSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4i32] }:$src)
62959 /* 178213 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZ128rr),
62960 /* 178218 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62961 /* 178222 */ GIR_RootConstrainSelectedInstOperands,
62962 /* 178223 */ // GIR_Coverage, 10755,
62963 /* 178223 */ GIR_Done,
62964 /* 178224 */ // Label 3954: @178224
62965 /* 178224 */ GIM_Try, /*On fail goto*//*Label 3955*/ GIMT_Encode4(178254), // Rule ID 11511 //
62966 /* 178229 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
62967 /* 178232 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
62968 /* 178235 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62969 /* 178239 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62970 /* 178243 */ // (sint_to_fp:{ *:[v4f32] } VR256X:{ *:[v4i64] }:$src) => (VCVTQQ2PSZ256rr:{ *:[v4f32] } VR256X:{ *:[v4i64] }:$src)
62971 /* 178243 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PSZ256rr),
62972 /* 178248 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62973 /* 178252 */ GIR_RootConstrainSelectedInstOperands,
62974 /* 178253 */ // GIR_Coverage, 11511,
62975 /* 178253 */ GIR_Done,
62976 /* 178254 */ // Label 3955: @178254
62977 /* 178254 */ GIM_Reject,
62978 /* 178255 */ // Label 3910: @178255
62979 /* 178255 */ GIM_Try, /*On fail goto*//*Label 3956*/ GIMT_Encode4(178314), // Rule ID 1945 //
62980 /* 178260 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
62981 /* 178263 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
62982 /* 178266 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
62983 /* 178270 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62984 /* 178274 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62985 /* 178278 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62986 /* 178281 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62987 /* 178285 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62988 /* 178289 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62989 /* 178291 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62990 /* 178298 */ // (sint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PDYrm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
62991 /* 178298 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDYrm),
62992 /* 178301 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62993 /* 178303 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62994 /* 178307 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62995 /* 178312 */ GIR_RootConstrainSelectedInstOperands,
62996 /* 178313 */ // GIR_Coverage, 1945,
62997 /* 178313 */ GIR_EraseRootFromParent_Done,
62998 /* 178314 */ // Label 3956: @178314
62999 /* 178314 */ GIM_Try, /*On fail goto*//*Label 3957*/ GIMT_Encode4(178373), // Rule ID 10732 //
63000 /* 178319 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
63001 /* 178322 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
63002 /* 178325 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63003 /* 178329 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63004 /* 178333 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63005 /* 178337 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63006 /* 178340 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63007 /* 178344 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63008 /* 178348 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63009 /* 178350 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63010 /* 178357 */ // (sint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
63011 /* 178357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDZ256rm),
63012 /* 178360 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63013 /* 178362 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63014 /* 178366 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63015 /* 178371 */ GIR_RootConstrainSelectedInstOperands,
63016 /* 178372 */ // GIR_Coverage, 10732,
63017 /* 178372 */ GIR_EraseRootFromParent_Done,
63018 /* 178373 */ // Label 3957: @178373
63019 /* 178373 */ GIM_Try, /*On fail goto*//*Label 3958*/ GIMT_Encode4(178432), // Rule ID 11395 //
63020 /* 178378 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
63021 /* 178381 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
63022 /* 178384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63023 /* 178388 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63024 /* 178392 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63025 /* 178396 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63026 /* 178399 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63027 /* 178403 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63028 /* 178407 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63029 /* 178409 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63030 /* 178416 */ // (sint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
63031 /* 178416 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZ256rm),
63032 /* 178419 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63033 /* 178421 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63034 /* 178425 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63035 /* 178430 */ GIR_RootConstrainSelectedInstOperands,
63036 /* 178431 */ // GIR_Coverage, 11395,
63037 /* 178431 */ GIR_EraseRootFromParent_Done,
63038 /* 178432 */ // Label 3958: @178432
63039 /* 178432 */ GIM_Try, /*On fail goto*//*Label 3959*/ GIMT_Encode4(178458), // Rule ID 1947 //
63040 /* 178437 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
63041 /* 178440 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
63042 /* 178443 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63043 /* 178447 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63044 /* 178451 */ // (sint_to_fp:{ *:[v4f64] } VR128:{ *:[v4i32] }:$src) => (VCVTDQ2PDYrr:{ *:[v4f64] } VR128:{ *:[v4i32] }:$src)
63045 /* 178451 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDYrr),
63046 /* 178456 */ GIR_RootConstrainSelectedInstOperands,
63047 /* 178457 */ // GIR_Coverage, 1947,
63048 /* 178457 */ GIR_Done,
63049 /* 178458 */ // Label 3959: @178458
63050 /* 178458 */ GIM_Try, /*On fail goto*//*Label 3960*/ GIMT_Encode4(178484), // Rule ID 10728 //
63051 /* 178463 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
63052 /* 178466 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
63053 /* 178469 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63054 /* 178473 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63055 /* 178477 */ // (sint_to_fp:{ *:[v4f64] } VR128X:{ *:[v4i32] }:$src) => (VCVTDQ2PDZ256rr:{ *:[v4f64] } VR128X:{ *:[v4i32] }:$src)
63056 /* 178477 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDZ256rr),
63057 /* 178482 */ GIR_RootConstrainSelectedInstOperands,
63058 /* 178483 */ // GIR_Coverage, 10728,
63059 /* 178483 */ GIR_Done,
63060 /* 178484 */ // Label 3960: @178484
63061 /* 178484 */ GIM_Try, /*On fail goto*//*Label 3961*/ GIMT_Encode4(178514), // Rule ID 11391 //
63062 /* 178489 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
63063 /* 178492 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
63064 /* 178495 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63065 /* 178499 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63066 /* 178503 */ // (sint_to_fp:{ *:[v4f64] } VR256X:{ *:[v4i64] }:$src) => (VCVTQQ2PDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4i64] }:$src)
63067 /* 178503 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZ256rr),
63068 /* 178508 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63069 /* 178512 */ GIR_RootConstrainSelectedInstOperands,
63070 /* 178513 */ // GIR_Coverage, 11391,
63071 /* 178513 */ GIR_Done,
63072 /* 178514 */ // Label 3961: @178514
63073 /* 178514 */ GIM_Reject,
63074 /* 178515 */ // Label 3911: @178515
63075 /* 178515 */ GIM_Try, /*On fail goto*//*Label 3962*/ GIMT_Encode4(178574), // Rule ID 11461 //
63076 /* 178520 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
63077 /* 178523 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
63078 /* 178526 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63079 /* 178530 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63080 /* 178534 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63081 /* 178538 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63082 /* 178541 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63083 /* 178545 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63084 /* 178549 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63085 /* 178551 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63086 /* 178558 */ // (sint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PHZ256rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
63087 /* 178558 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PHZ256rm),
63088 /* 178561 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63089 /* 178563 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63090 /* 178567 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63091 /* 178572 */ GIR_RootConstrainSelectedInstOperands,
63092 /* 178573 */ // GIR_Coverage, 11461,
63093 /* 178573 */ GIR_EraseRootFromParent_Done,
63094 /* 178574 */ // Label 3962: @178574
63095 /* 178574 */ GIM_Try, /*On fail goto*//*Label 3963*/ GIMT_Encode4(178633), // Rule ID 14827 //
63096 /* 178579 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
63097 /* 178582 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
63098 /* 178585 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63099 /* 178589 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63100 /* 178593 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63101 /* 178597 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63102 /* 178600 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63103 /* 178604 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63104 /* 178608 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63105 /* 178610 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63106 /* 178617 */ // (sint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTW2PHZ128rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
63107 /* 178617 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZ128rm),
63108 /* 178620 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63109 /* 178622 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63110 /* 178626 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63111 /* 178631 */ GIR_RootConstrainSelectedInstOperands,
63112 /* 178632 */ // GIR_Coverage, 14827,
63113 /* 178632 */ GIR_EraseRootFromParent_Done,
63114 /* 178633 */ // Label 3963: @178633
63115 /* 178633 */ GIM_Try, /*On fail goto*//*Label 3964*/ GIMT_Encode4(178692), // Rule ID 15127 //
63116 /* 178638 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63117 /* 178641 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
63118 /* 178644 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63119 /* 178648 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63120 /* 178652 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63121 /* 178656 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63122 /* 178659 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63123 /* 178663 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63124 /* 178667 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63125 /* 178669 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63126 /* 178676 */ // (sint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PHZrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
63127 /* 178676 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PHZrm),
63128 /* 178679 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63129 /* 178681 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63130 /* 178685 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63131 /* 178690 */ GIR_RootConstrainSelectedInstOperands,
63132 /* 178691 */ // GIR_Coverage, 15127,
63133 /* 178691 */ GIR_EraseRootFromParent_Done,
63134 /* 178692 */ // Label 3964: @178692
63135 /* 178692 */ GIM_Try, /*On fail goto*//*Label 3965*/ GIMT_Encode4(178722), // Rule ID 11457 //
63136 /* 178697 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
63137 /* 178700 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
63138 /* 178703 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63139 /* 178707 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63140 /* 178711 */ // (sint_to_fp:{ *:[v8f16] } VR256X:{ *:[v8i32] }:$src) => (VCVTDQ2PHZ256rr:{ *:[v8f16] } VR256X:{ *:[v8i32] }:$src)
63141 /* 178711 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PHZ256rr),
63142 /* 178716 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63143 /* 178720 */ GIR_RootConstrainSelectedInstOperands,
63144 /* 178721 */ // GIR_Coverage, 11457,
63145 /* 178721 */ GIR_Done,
63146 /* 178722 */ // Label 3965: @178722
63147 /* 178722 */ GIM_Try, /*On fail goto*//*Label 3966*/ GIMT_Encode4(178752), // Rule ID 14823 //
63148 /* 178727 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
63149 /* 178730 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
63150 /* 178733 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63151 /* 178737 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63152 /* 178741 */ // (sint_to_fp:{ *:[v8f16] } VR128X:{ *:[v8i16] }:$src) => (VCVTW2PHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8i16] }:$src)
63153 /* 178741 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZ128rr),
63154 /* 178746 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63155 /* 178750 */ GIR_RootConstrainSelectedInstOperands,
63156 /* 178751 */ // GIR_Coverage, 14823,
63157 /* 178751 */ GIR_Done,
63158 /* 178752 */ // Label 3966: @178752
63159 /* 178752 */ GIM_Try, /*On fail goto*//*Label 3967*/ GIMT_Encode4(178782), // Rule ID 15123 //
63160 /* 178757 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63161 /* 178760 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
63162 /* 178763 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63163 /* 178767 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63164 /* 178771 */ // (sint_to_fp:{ *:[v8f16] } VR512:{ *:[v8i64] }:$src) => (VCVTQQ2PHZrr:{ *:[v8f16] } VR512:{ *:[v8i64] }:$src)
63165 /* 178771 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PHZrr),
63166 /* 178776 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63167 /* 178780 */ GIR_RootConstrainSelectedInstOperands,
63168 /* 178781 */ // GIR_Coverage, 15123,
63169 /* 178781 */ GIR_Done,
63170 /* 178782 */ // Label 3967: @178782
63171 /* 178782 */ GIM_Reject,
63172 /* 178783 */ // Label 3912: @178783
63173 /* 178783 */ GIM_Try, /*On fail goto*//*Label 3968*/ GIMT_Encode4(178842), // Rule ID 1874 //
63174 /* 178788 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
63175 /* 178791 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
63176 /* 178794 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63177 /* 178798 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63178 /* 178802 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63179 /* 178806 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63180 /* 178809 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63181 /* 178813 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63182 /* 178817 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63183 /* 178819 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63184 /* 178826 */ // (sint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
63185 /* 178826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSYrm),
63186 /* 178829 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63187 /* 178831 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63188 /* 178835 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63189 /* 178840 */ GIR_RootConstrainSelectedInstOperands,
63190 /* 178841 */ // GIR_Coverage, 1874,
63191 /* 178841 */ GIR_EraseRootFromParent_Done,
63192 /* 178842 */ // Label 3968: @178842
63193 /* 178842 */ GIM_Try, /*On fail goto*//*Label 3969*/ GIMT_Encode4(178901), // Rule ID 10771 //
63194 /* 178847 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
63195 /* 178850 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
63196 /* 178853 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63197 /* 178857 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63198 /* 178861 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63199 /* 178865 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63200 /* 178868 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63201 /* 178872 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63202 /* 178876 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63203 /* 178878 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63204 /* 178885 */ // (sint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSZ256rm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
63205 /* 178885 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZ256rm),
63206 /* 178888 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63207 /* 178890 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63208 /* 178894 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63209 /* 178899 */ GIR_RootConstrainSelectedInstOperands,
63210 /* 178900 */ // GIR_Coverage, 10771,
63211 /* 178900 */ GIR_EraseRootFromParent_Done,
63212 /* 178901 */ // Label 3969: @178901
63213 /* 178901 */ GIM_Try, /*On fail goto*//*Label 3970*/ GIMT_Encode4(178960), // Rule ID 11500 //
63214 /* 178906 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
63215 /* 178909 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
63216 /* 178912 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63217 /* 178916 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63218 /* 178920 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63219 /* 178924 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63220 /* 178927 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63221 /* 178931 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63222 /* 178935 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63223 /* 178937 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63224 /* 178944 */ // (sint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PSZrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
63225 /* 178944 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PSZrm),
63226 /* 178947 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63227 /* 178949 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63228 /* 178953 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63229 /* 178958 */ GIR_RootConstrainSelectedInstOperands,
63230 /* 178959 */ // GIR_Coverage, 11500,
63231 /* 178959 */ GIR_EraseRootFromParent_Done,
63232 /* 178960 */ // Label 3970: @178960
63233 /* 178960 */ GIM_Try, /*On fail goto*//*Label 3971*/ GIMT_Encode4(178990), // Rule ID 1872 //
63234 /* 178965 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
63235 /* 178968 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
63236 /* 178971 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63237 /* 178975 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63238 /* 178979 */ // (sint_to_fp:{ *:[v8f32] } VR256:{ *:[v8i32] }:$src) => (VCVTDQ2PSYrr:{ *:[v8f32] } VR256:{ *:[v8i32] }:$src)
63239 /* 178979 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSYrr),
63240 /* 178984 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63241 /* 178988 */ GIR_RootConstrainSelectedInstOperands,
63242 /* 178989 */ // GIR_Coverage, 1872,
63243 /* 178989 */ GIR_Done,
63244 /* 178990 */ // Label 3971: @178990
63245 /* 178990 */ GIM_Try, /*On fail goto*//*Label 3972*/ GIMT_Encode4(179020), // Rule ID 10767 //
63246 /* 178995 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
63247 /* 178998 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
63248 /* 179001 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63249 /* 179005 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63250 /* 179009 */ // (sint_to_fp:{ *:[v8f32] } VR256X:{ *:[v8i32] }:$src) => (VCVTDQ2PSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8i32] }:$src)
63251 /* 179009 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZ256rr),
63252 /* 179014 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63253 /* 179018 */ GIR_RootConstrainSelectedInstOperands,
63254 /* 179019 */ // GIR_Coverage, 10767,
63255 /* 179019 */ GIR_Done,
63256 /* 179020 */ // Label 3972: @179020
63257 /* 179020 */ GIM_Try, /*On fail goto*//*Label 3973*/ GIMT_Encode4(179050), // Rule ID 11496 //
63258 /* 179025 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
63259 /* 179028 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
63260 /* 179031 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63261 /* 179035 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63262 /* 179039 */ // (sint_to_fp:{ *:[v8f32] } VR512:{ *:[v8i64] }:$src) => (VCVTQQ2PSZrr:{ *:[v8f32] } VR512:{ *:[v8i64] }:$src)
63263 /* 179039 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PSZrr),
63264 /* 179044 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63265 /* 179048 */ GIR_RootConstrainSelectedInstOperands,
63266 /* 179049 */ // GIR_Coverage, 11496,
63267 /* 179049 */ GIR_Done,
63268 /* 179050 */ // Label 3973: @179050
63269 /* 179050 */ GIM_Reject,
63270 /* 179051 */ // Label 3913: @179051
63271 /* 179051 */ GIM_Try, /*On fail goto*//*Label 3974*/ GIMT_Encode4(179110), // Rule ID 10708 //
63272 /* 179056 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63273 /* 179059 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
63274 /* 179062 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63275 /* 179066 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63276 /* 179070 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63277 /* 179074 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63278 /* 179077 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63279 /* 179081 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63280 /* 179085 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63281 /* 179087 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63282 /* 179094 */ // (sint_to_fp:{ *:[v8f64] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
63283 /* 179094 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDZrm),
63284 /* 179097 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63285 /* 179099 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63286 /* 179103 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63287 /* 179108 */ GIR_RootConstrainSelectedInstOperands,
63288 /* 179109 */ // GIR_Coverage, 10708,
63289 /* 179109 */ GIR_EraseRootFromParent_Done,
63290 /* 179110 */ // Label 3974: @179110
63291 /* 179110 */ GIM_Try, /*On fail goto*//*Label 3975*/ GIMT_Encode4(179169), // Rule ID 11368 //
63292 /* 179115 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
63293 /* 179118 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
63294 /* 179121 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63295 /* 179125 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63296 /* 179129 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63297 /* 179133 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63298 /* 179136 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63299 /* 179140 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63300 /* 179144 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63301 /* 179146 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63302 /* 179153 */ // (sint_to_fp:{ *:[v8f64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
63303 /* 179153 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZrm),
63304 /* 179156 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63305 /* 179158 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63306 /* 179162 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63307 /* 179167 */ GIR_RootConstrainSelectedInstOperands,
63308 /* 179168 */ // GIR_Coverage, 11368,
63309 /* 179168 */ GIR_EraseRootFromParent_Done,
63310 /* 179169 */ // Label 3975: @179169
63311 /* 179169 */ GIM_Try, /*On fail goto*//*Label 3976*/ GIMT_Encode4(179195), // Rule ID 10704 //
63312 /* 179174 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63313 /* 179177 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
63314 /* 179180 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63315 /* 179184 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63316 /* 179188 */ // (sint_to_fp:{ *:[v8f64] } VR256X:{ *:[v8i32] }:$src) => (VCVTDQ2PDZrr:{ *:[v8f64] } VR256X:{ *:[v8i32] }:$src)
63317 /* 179188 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDZrr),
63318 /* 179193 */ GIR_RootConstrainSelectedInstOperands,
63319 /* 179194 */ // GIR_Coverage, 10704,
63320 /* 179194 */ GIR_Done,
63321 /* 179195 */ // Label 3976: @179195
63322 /* 179195 */ GIM_Try, /*On fail goto*//*Label 3977*/ GIMT_Encode4(179225), // Rule ID 11364 //
63323 /* 179200 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
63324 /* 179203 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
63325 /* 179206 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63326 /* 179210 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63327 /* 179214 */ // (sint_to_fp:{ *:[v8f64] } VR512:{ *:[v8i64] }:$src) => (VCVTQQ2PDZrr:{ *:[v8f64] } VR512:{ *:[v8i64] }:$src)
63328 /* 179214 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZrr),
63329 /* 179219 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63330 /* 179223 */ GIR_RootConstrainSelectedInstOperands,
63331 /* 179224 */ // GIR_Coverage, 11364,
63332 /* 179224 */ GIR_Done,
63333 /* 179225 */ // Label 3977: @179225
63334 /* 179225 */ GIM_Reject,
63335 /* 179226 */ // Label 3914: @179226
63336 /* 179226 */ GIM_Try, /*On fail goto*//*Label 3978*/ GIMT_Encode4(179285), // Rule ID 11446 //
63337 /* 179231 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63338 /* 179234 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
63339 /* 179237 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63340 /* 179241 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63341 /* 179245 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63342 /* 179249 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63343 /* 179252 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63344 /* 179256 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63345 /* 179260 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63346 /* 179262 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63347 /* 179269 */ // (sint_to_fp:{ *:[v16f16] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PHZrm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
63348 /* 179269 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PHZrm),
63349 /* 179272 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63350 /* 179274 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63351 /* 179278 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63352 /* 179283 */ GIR_RootConstrainSelectedInstOperands,
63353 /* 179284 */ // GIR_Coverage, 11446,
63354 /* 179284 */ GIR_EraseRootFromParent_Done,
63355 /* 179285 */ // Label 3978: @179285
63356 /* 179285 */ GIM_Try, /*On fail goto*//*Label 3979*/ GIMT_Encode4(179344), // Rule ID 14839 //
63357 /* 179290 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
63358 /* 179293 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
63359 /* 179296 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63360 /* 179300 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63361 /* 179304 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63362 /* 179308 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63363 /* 179311 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63364 /* 179315 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63365 /* 179319 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63366 /* 179321 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63367 /* 179328 */ // (sint_to_fp:{ *:[v16f16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTW2PHZ256rm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
63368 /* 179328 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZ256rm),
63369 /* 179331 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63370 /* 179333 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63371 /* 179337 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63372 /* 179342 */ GIR_RootConstrainSelectedInstOperands,
63373 /* 179343 */ // GIR_Coverage, 14839,
63374 /* 179343 */ GIR_EraseRootFromParent_Done,
63375 /* 179344 */ // Label 3979: @179344
63376 /* 179344 */ GIM_Try, /*On fail goto*//*Label 3980*/ GIMT_Encode4(179374), // Rule ID 11442 //
63377 /* 179349 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63378 /* 179352 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
63379 /* 179355 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63380 /* 179359 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63381 /* 179363 */ // (sint_to_fp:{ *:[v16f16] } VR512:{ *:[v16i32] }:$src) => (VCVTDQ2PHZrr:{ *:[v16f16] } VR512:{ *:[v16i32] }:$src)
63382 /* 179363 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PHZrr),
63383 /* 179368 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63384 /* 179372 */ GIR_RootConstrainSelectedInstOperands,
63385 /* 179373 */ // GIR_Coverage, 11442,
63386 /* 179373 */ GIR_Done,
63387 /* 179374 */ // Label 3980: @179374
63388 /* 179374 */ GIM_Try, /*On fail goto*//*Label 3981*/ GIMT_Encode4(179404), // Rule ID 14835 //
63389 /* 179379 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
63390 /* 179382 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
63391 /* 179385 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63392 /* 179389 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63393 /* 179393 */ // (sint_to_fp:{ *:[v16f16] } VR256X:{ *:[v16i16] }:$src) => (VCVTW2PHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16i16] }:$src)
63394 /* 179393 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZ256rr),
63395 /* 179398 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63396 /* 179402 */ GIR_RootConstrainSelectedInstOperands,
63397 /* 179403 */ // GIR_Coverage, 14835,
63398 /* 179403 */ GIR_Done,
63399 /* 179404 */ // Label 3981: @179404
63400 /* 179404 */ GIM_Reject,
63401 /* 179405 */ // Label 3915: @179405
63402 /* 179405 */ GIM_Try, /*On fail goto*//*Label 3982*/ GIMT_Encode4(179493),
63403 /* 179410 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
63404 /* 179413 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63405 /* 179417 */ GIM_Try, /*On fail goto*//*Label 3983*/ GIMT_Encode4(179469), // Rule ID 10744 //
63406 /* 179422 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63407 /* 179425 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63408 /* 179429 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63409 /* 179433 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63410 /* 179436 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63411 /* 179440 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63412 /* 179444 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63413 /* 179446 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63414 /* 179453 */ // (sint_to_fp:{ *:[v16f32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSZrm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
63415 /* 179453 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZrm),
63416 /* 179456 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63417 /* 179458 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63418 /* 179462 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63419 /* 179467 */ GIR_RootConstrainSelectedInstOperands,
63420 /* 179468 */ // GIR_Coverage, 10744,
63421 /* 179468 */ GIR_EraseRootFromParent_Done,
63422 /* 179469 */ // Label 3983: @179469
63423 /* 179469 */ GIM_Try, /*On fail goto*//*Label 3984*/ GIMT_Encode4(179492), // Rule ID 10740 //
63424 /* 179474 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63425 /* 179477 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63426 /* 179481 */ // (sint_to_fp:{ *:[v16f32] } VR512:{ *:[v16i32] }:$src) => (VCVTDQ2PSZrr:{ *:[v16f32] } VR512:{ *:[v16i32] }:$src)
63427 /* 179481 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZrr),
63428 /* 179486 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63429 /* 179490 */ GIR_RootConstrainSelectedInstOperands,
63430 /* 179491 */ // GIR_Coverage, 10740,
63431 /* 179491 */ GIR_Done,
63432 /* 179492 */ // Label 3984: @179492
63433 /* 179492 */ GIM_Reject,
63434 /* 179493 */ // Label 3982: @179493
63435 /* 179493 */ GIM_Reject,
63436 /* 179494 */ // Label 3916: @179494
63437 /* 179494 */ GIM_Try, /*On fail goto*//*Label 3985*/ GIMT_Encode4(179582),
63438 /* 179499 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
63439 /* 179502 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63440 /* 179506 */ GIM_Try, /*On fail goto*//*Label 3986*/ GIMT_Encode4(179558), // Rule ID 14812 //
63441 /* 179511 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63442 /* 179514 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63443 /* 179518 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63444 /* 179522 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63445 /* 179525 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63446 /* 179529 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63447 /* 179533 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63448 /* 179535 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63449 /* 179542 */ // (sint_to_fp:{ *:[v32f16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTW2PHZrm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
63450 /* 179542 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZrm),
63451 /* 179545 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63452 /* 179547 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63453 /* 179551 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63454 /* 179556 */ GIR_RootConstrainSelectedInstOperands,
63455 /* 179557 */ // GIR_Coverage, 14812,
63456 /* 179557 */ GIR_EraseRootFromParent_Done,
63457 /* 179558 */ // Label 3986: @179558
63458 /* 179558 */ GIM_Try, /*On fail goto*//*Label 3987*/ GIMT_Encode4(179581), // Rule ID 14808 //
63459 /* 179563 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63460 /* 179566 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63461 /* 179570 */ // (sint_to_fp:{ *:[v32f16] } VR512:{ *:[v32i16] }:$src) => (VCVTW2PHZrr:{ *:[v32f16] } VR512:{ *:[v32i16] }:$src)
63462 /* 179570 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZrr),
63463 /* 179575 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63464 /* 179579 */ GIR_RootConstrainSelectedInstOperands,
63465 /* 179580 */ // GIR_Coverage, 14808,
63466 /* 179580 */ GIR_Done,
63467 /* 179581 */ // Label 3987: @179581
63468 /* 179581 */ GIM_Reject,
63469 /* 179582 */ // Label 3985: @179582
63470 /* 179582 */ GIM_Reject,
63471 /* 179583 */ // Label 3917: @179583
63472 /* 179583 */ GIM_Reject,
63473 /* 179584 */ // Label 53: @179584
63474 /* 179584 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 4000*/ GIMT_Encode4(181830),
63475 /* 179595 */ /*GILLT_s16*//*Label 3988*/ GIMT_Encode4(179679),
63476 /* 179599 */ /*GILLT_s32*//*Label 3989*/ GIMT_Encode4(179922),
63477 /* 179603 */ /*GILLT_s64*//*Label 3990*/ GIMT_Encode4(180165), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
63478 /* 179619 */ /*GILLT_v2s64*//*Label 3991*/ GIMT_Encode4(180408), GIMT_Encode4(0),
63479 /* 179627 */ /*GILLT_v4s32*//*Label 3992*/ GIMT_Encode4(180497),
63480 /* 179631 */ /*GILLT_v4s64*//*Label 3993*/ GIMT_Encode4(180676), GIMT_Encode4(0),
63481 /* 179639 */ /*GILLT_v8s16*//*Label 3994*/ GIMT_Encode4(180851),
63482 /* 179643 */ /*GILLT_v8s32*//*Label 3995*/ GIMT_Encode4(181119),
63483 /* 179647 */ /*GILLT_v8s64*//*Label 3996*/ GIMT_Encode4(181298), GIMT_Encode4(0), GIMT_Encode4(0),
63484 /* 179659 */ /*GILLT_v16s16*//*Label 3997*/ GIMT_Encode4(181473),
63485 /* 179663 */ /*GILLT_v16s32*//*Label 3998*/ GIMT_Encode4(181652), GIMT_Encode4(0), GIMT_Encode4(0),
63486 /* 179675 */ /*GILLT_v32s16*//*Label 3999*/ GIMT_Encode4(181741),
63487 /* 179679 */ // Label 3988: @179679
63488 /* 179679 */ GIM_Try, /*On fail goto*//*Label 4001*/ GIMT_Encode4(179755), // Rule ID 22248 //
63489 /* 179684 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63490 /* 179687 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63491 /* 179690 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
63492 /* 179694 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63493 /* 179698 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63494 /* 179702 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63495 /* 179705 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63496 /* 179709 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63497 /* 179713 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63498 /* 179715 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63499 /* 179722 */ // (uint_to_fp:{ *:[f16] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUSI642SHZrm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
63500 /* 179722 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
63501 /* 179725 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63502 /* 179729 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63503 /* 179734 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63504 /* 179736 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SHZrm),
63505 /* 179739 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63506 /* 179741 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63507 /* 179744 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63508 /* 179748 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63509 /* 179753 */ GIR_RootConstrainSelectedInstOperands,
63510 /* 179754 */ // GIR_Coverage, 22248,
63511 /* 179754 */ GIR_EraseRootFromParent_Done,
63512 /* 179755 */ // Label 4001: @179755
63513 /* 179755 */ GIM_Try, /*On fail goto*//*Label 4002*/ GIMT_Encode4(179831), // Rule ID 22246 //
63514 /* 179760 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63515 /* 179763 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63516 /* 179766 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
63517 /* 179770 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63518 /* 179774 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63519 /* 179778 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63520 /* 179781 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63521 /* 179785 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
63522 /* 179789 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63523 /* 179791 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63524 /* 179798 */ // (uint_to_fp:{ *:[f16] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTUSI2SHZrm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
63525 /* 179798 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
63526 /* 179801 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63527 /* 179805 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63528 /* 179810 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63529 /* 179812 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SHZrm),
63530 /* 179815 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63531 /* 179817 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63532 /* 179820 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63533 /* 179824 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63534 /* 179829 */ GIR_RootConstrainSelectedInstOperands,
63535 /* 179830 */ // GIR_Coverage, 22246,
63536 /* 179830 */ GIR_EraseRootFromParent_Done,
63537 /* 179831 */ // Label 4002: @179831
63538 /* 179831 */ GIM_Try, /*On fail goto*//*Label 4003*/ GIMT_Encode4(179876), // Rule ID 22250 //
63539 /* 179836 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63540 /* 179839 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63541 /* 179842 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
63542 /* 179846 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63543 /* 179850 */ // (uint_to_fp:{ *:[f16] } GR32:{ *:[i32] }:$src) => (VCVTUSI2SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), GR32:{ *:[i32] }:$src)
63544 /* 179850 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
63545 /* 179853 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63546 /* 179857 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63547 /* 179862 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63548 /* 179864 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SHZrr),
63549 /* 179867 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63550 /* 179869 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63551 /* 179872 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
63552 /* 179874 */ GIR_RootConstrainSelectedInstOperands,
63553 /* 179875 */ // GIR_Coverage, 22250,
63554 /* 179875 */ GIR_EraseRootFromParent_Done,
63555 /* 179876 */ // Label 4003: @179876
63556 /* 179876 */ GIM_Try, /*On fail goto*//*Label 4004*/ GIMT_Encode4(179921), // Rule ID 22252 //
63557 /* 179881 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63558 /* 179884 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63559 /* 179887 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
63560 /* 179891 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63561 /* 179895 */ // (uint_to_fp:{ *:[f16] } GR64:{ *:[i64] }:$src) => (VCVTUSI642SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), GR64:{ *:[i64] }:$src)
63562 /* 179895 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
63563 /* 179898 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63564 /* 179902 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63565 /* 179907 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63566 /* 179909 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SHZrr),
63567 /* 179912 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63568 /* 179914 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63569 /* 179917 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
63570 /* 179919 */ GIR_RootConstrainSelectedInstOperands,
63571 /* 179920 */ // GIR_Coverage, 22252,
63572 /* 179920 */ GIR_EraseRootFromParent_Done,
63573 /* 179921 */ // Label 4004: @179921
63574 /* 179921 */ GIM_Reject,
63575 /* 179922 */ // Label 3989: @179922
63576 /* 179922 */ GIM_Try, /*On fail goto*//*Label 4005*/ GIMT_Encode4(179998), // Rule ID 21157 //
63577 /* 179927 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63578 /* 179930 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63579 /* 179933 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
63580 /* 179937 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63581 /* 179941 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63582 /* 179945 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63583 /* 179948 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63584 /* 179952 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63585 /* 179956 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63586 /* 179958 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63587 /* 179965 */ // (uint_to_fp:{ *:[f32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUSI642SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
63588 /* 179965 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
63589 /* 179968 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63590 /* 179972 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63591 /* 179977 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63592 /* 179979 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SSZrm),
63593 /* 179982 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63594 /* 179984 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63595 /* 179987 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63596 /* 179991 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63597 /* 179996 */ GIR_RootConstrainSelectedInstOperands,
63598 /* 179997 */ // GIR_Coverage, 21157,
63599 /* 179997 */ GIR_EraseRootFromParent_Done,
63600 /* 179998 */ // Label 4005: @179998
63601 /* 179998 */ GIM_Try, /*On fail goto*//*Label 4006*/ GIMT_Encode4(180074), // Rule ID 21155 //
63602 /* 180003 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63603 /* 180006 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63604 /* 180009 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
63605 /* 180013 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63606 /* 180017 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63607 /* 180021 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63608 /* 180024 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63609 /* 180028 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
63610 /* 180032 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63611 /* 180034 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63612 /* 180041 */ // (uint_to_fp:{ *:[f32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTUSI2SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
63613 /* 180041 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
63614 /* 180044 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63615 /* 180048 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63616 /* 180053 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63617 /* 180055 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SSZrm),
63618 /* 180058 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63619 /* 180060 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63620 /* 180063 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63621 /* 180067 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63622 /* 180072 */ GIR_RootConstrainSelectedInstOperands,
63623 /* 180073 */ // GIR_Coverage, 21155,
63624 /* 180073 */ GIR_EraseRootFromParent_Done,
63625 /* 180074 */ // Label 4006: @180074
63626 /* 180074 */ GIM_Try, /*On fail goto*//*Label 4007*/ GIMT_Encode4(180119), // Rule ID 21163 //
63627 /* 180079 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63628 /* 180082 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63629 /* 180085 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
63630 /* 180089 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63631 /* 180093 */ // (uint_to_fp:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VCVTUSI2SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR32:{ *:[i32] }:$src)
63632 /* 180093 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
63633 /* 180096 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63634 /* 180100 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63635 /* 180105 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63636 /* 180107 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SSZrr),
63637 /* 180110 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63638 /* 180112 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63639 /* 180115 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
63640 /* 180117 */ GIR_RootConstrainSelectedInstOperands,
63641 /* 180118 */ // GIR_Coverage, 21163,
63642 /* 180118 */ GIR_EraseRootFromParent_Done,
63643 /* 180119 */ // Label 4007: @180119
63644 /* 180119 */ GIM_Try, /*On fail goto*//*Label 4008*/ GIMT_Encode4(180164), // Rule ID 21165 //
63645 /* 180124 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63646 /* 180127 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63647 /* 180130 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
63648 /* 180134 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63649 /* 180138 */ // (uint_to_fp:{ *:[f32] } GR64:{ *:[i64] }:$src) => (VCVTUSI642SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR64:{ *:[i64] }:$src)
63650 /* 180138 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
63651 /* 180141 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63652 /* 180145 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63653 /* 180150 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63654 /* 180152 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SSZrr),
63655 /* 180155 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63656 /* 180157 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63657 /* 180160 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
63658 /* 180162 */ GIR_RootConstrainSelectedInstOperands,
63659 /* 180163 */ // GIR_Coverage, 21165,
63660 /* 180163 */ GIR_EraseRootFromParent_Done,
63661 /* 180164 */ // Label 4008: @180164
63662 /* 180164 */ GIM_Reject,
63663 /* 180165 */ // Label 3990: @180165
63664 /* 180165 */ GIM_Try, /*On fail goto*//*Label 4009*/ GIMT_Encode4(180241), // Rule ID 21161 //
63665 /* 180170 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63666 /* 180173 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63667 /* 180176 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
63668 /* 180180 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63669 /* 180184 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63670 /* 180188 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63671 /* 180191 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63672 /* 180195 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63673 /* 180199 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63674 /* 180201 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63675 /* 180208 */ // (uint_to_fp:{ *:[f64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUSI642SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
63676 /* 180208 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
63677 /* 180211 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63678 /* 180215 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63679 /* 180220 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63680 /* 180222 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SDZrm),
63681 /* 180225 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63682 /* 180227 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63683 /* 180230 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63684 /* 180234 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63685 /* 180239 */ GIR_RootConstrainSelectedInstOperands,
63686 /* 180240 */ // GIR_Coverage, 21161,
63687 /* 180240 */ GIR_EraseRootFromParent_Done,
63688 /* 180241 */ // Label 4009: @180241
63689 /* 180241 */ GIM_Try, /*On fail goto*//*Label 4010*/ GIMT_Encode4(180317), // Rule ID 21159 //
63690 /* 180246 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63691 /* 180249 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63692 /* 180252 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
63693 /* 180256 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63694 /* 180260 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63695 /* 180264 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63696 /* 180267 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63697 /* 180271 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
63698 /* 180275 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63699 /* 180277 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63700 /* 180284 */ // (uint_to_fp:{ *:[f64] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTUSI2SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
63701 /* 180284 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
63702 /* 180287 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63703 /* 180291 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63704 /* 180296 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63705 /* 180298 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SDZrm),
63706 /* 180301 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63707 /* 180303 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63708 /* 180306 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63709 /* 180310 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63710 /* 180315 */ GIR_RootConstrainSelectedInstOperands,
63711 /* 180316 */ // GIR_Coverage, 21159,
63712 /* 180316 */ GIR_EraseRootFromParent_Done,
63713 /* 180317 */ // Label 4010: @180317
63714 /* 180317 */ GIM_Try, /*On fail goto*//*Label 4011*/ GIMT_Encode4(180362), // Rule ID 21167 //
63715 /* 180322 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63716 /* 180325 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63717 /* 180328 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
63718 /* 180332 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63719 /* 180336 */ // (uint_to_fp:{ *:[f64] } GR32:{ *:[i32] }:$src) => (VCVTUSI2SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR32:{ *:[i32] }:$src)
63720 /* 180336 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
63721 /* 180339 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63722 /* 180343 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63723 /* 180348 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63724 /* 180350 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SDZrr),
63725 /* 180353 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63726 /* 180355 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63727 /* 180358 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
63728 /* 180360 */ GIR_RootConstrainSelectedInstOperands,
63729 /* 180361 */ // GIR_Coverage, 21167,
63730 /* 180361 */ GIR_EraseRootFromParent_Done,
63731 /* 180362 */ // Label 4011: @180362
63732 /* 180362 */ GIM_Try, /*On fail goto*//*Label 4012*/ GIMT_Encode4(180407), // Rule ID 21169 //
63733 /* 180367 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63734 /* 180370 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63735 /* 180373 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
63736 /* 180377 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63737 /* 180381 */ // (uint_to_fp:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VCVTUSI642SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR64:{ *:[i64] }:$src)
63738 /* 180381 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
63739 /* 180384 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63740 /* 180388 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63741 /* 180393 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63742 /* 180395 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SDZrr),
63743 /* 180398 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63744 /* 180400 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63745 /* 180403 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
63746 /* 180405 */ GIR_RootConstrainSelectedInstOperands,
63747 /* 180406 */ // GIR_Coverage, 21169,
63748 /* 180406 */ GIR_EraseRootFromParent_Done,
63749 /* 180407 */ // Label 4012: @180407
63750 /* 180407 */ GIM_Reject,
63751 /* 180408 */ // Label 3991: @180408
63752 /* 180408 */ GIM_Try, /*On fail goto*//*Label 4013*/ GIMT_Encode4(180496),
63753 /* 180413 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
63754 /* 180416 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63755 /* 180420 */ GIM_Try, /*On fail goto*//*Label 4014*/ GIMT_Encode4(180472), // Rule ID 11422 //
63756 /* 180425 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
63757 /* 180428 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63758 /* 180432 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63759 /* 180436 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63760 /* 180439 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63761 /* 180443 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63762 /* 180447 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63763 /* 180449 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63764 /* 180456 */ // (uint_to_fp:{ *:[v2f64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PDZ128rm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
63765 /* 180456 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZ128rm),
63766 /* 180459 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63767 /* 180461 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63768 /* 180465 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63769 /* 180470 */ GIR_RootConstrainSelectedInstOperands,
63770 /* 180471 */ // GIR_Coverage, 11422,
63771 /* 180471 */ GIR_EraseRootFromParent_Done,
63772 /* 180472 */ // Label 4014: @180472
63773 /* 180472 */ GIM_Try, /*On fail goto*//*Label 4015*/ GIMT_Encode4(180495), // Rule ID 11418 //
63774 /* 180477 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
63775 /* 180480 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63776 /* 180484 */ // (uint_to_fp:{ *:[v2f64] } VR128X:{ *:[v2i64] }:$src) => (VCVTUQQ2PDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2i64] }:$src)
63777 /* 180484 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZ128rr),
63778 /* 180489 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63779 /* 180493 */ GIR_RootConstrainSelectedInstOperands,
63780 /* 180494 */ // GIR_Coverage, 11418,
63781 /* 180494 */ GIR_Done,
63782 /* 180495 */ // Label 4015: @180495
63783 /* 180495 */ GIM_Reject,
63784 /* 180496 */ // Label 4013: @180496
63785 /* 180496 */ GIM_Reject,
63786 /* 180497 */ // Label 3992: @180497
63787 /* 180497 */ GIM_Try, /*On fail goto*//*Label 4016*/ GIMT_Encode4(180556), // Rule ID 10966 //
63788 /* 180502 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
63789 /* 180505 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
63790 /* 180508 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63791 /* 180512 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63792 /* 180516 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63793 /* 180520 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63794 /* 180523 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63795 /* 180527 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63796 /* 180531 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63797 /* 180533 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63798 /* 180540 */ // (uint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PSZ128rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
63799 /* 180540 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZ128rm),
63800 /* 180543 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63801 /* 180545 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63802 /* 180549 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63803 /* 180554 */ GIR_RootConstrainSelectedInstOperands,
63804 /* 180555 */ // GIR_Coverage, 10966,
63805 /* 180555 */ GIR_EraseRootFromParent_Done,
63806 /* 180556 */ // Label 4016: @180556
63807 /* 180556 */ GIM_Try, /*On fail goto*//*Label 4017*/ GIMT_Encode4(180615), // Rule ID 11542 //
63808 /* 180561 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
63809 /* 180564 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
63810 /* 180567 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63811 /* 180571 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63812 /* 180575 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63813 /* 180579 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63814 /* 180582 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63815 /* 180586 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63816 /* 180590 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63817 /* 180592 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63818 /* 180599 */ // (uint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PSZ256rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
63819 /* 180599 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PSZ256rm),
63820 /* 180602 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63821 /* 180604 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63822 /* 180608 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63823 /* 180613 */ GIR_RootConstrainSelectedInstOperands,
63824 /* 180614 */ // GIR_Coverage, 11542,
63825 /* 180614 */ GIR_EraseRootFromParent_Done,
63826 /* 180615 */ // Label 4017: @180615
63827 /* 180615 */ GIM_Try, /*On fail goto*//*Label 4018*/ GIMT_Encode4(180645), // Rule ID 10962 //
63828 /* 180620 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
63829 /* 180623 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
63830 /* 180626 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63831 /* 180630 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63832 /* 180634 */ // (uint_to_fp:{ *:[v4f32] } VR128X:{ *:[v4i32] }:$src) => (VCVTUDQ2PSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4i32] }:$src)
63833 /* 180634 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZ128rr),
63834 /* 180639 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63835 /* 180643 */ GIR_RootConstrainSelectedInstOperands,
63836 /* 180644 */ // GIR_Coverage, 10962,
63837 /* 180644 */ GIR_Done,
63838 /* 180645 */ // Label 4018: @180645
63839 /* 180645 */ GIM_Try, /*On fail goto*//*Label 4019*/ GIMT_Encode4(180675), // Rule ID 11538 //
63840 /* 180650 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
63841 /* 180653 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
63842 /* 180656 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63843 /* 180660 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63844 /* 180664 */ // (uint_to_fp:{ *:[v4f32] } VR256X:{ *:[v4i64] }:$src) => (VCVTUQQ2PSZ256rr:{ *:[v4f32] } VR256X:{ *:[v4i64] }:$src)
63845 /* 180664 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PSZ256rr),
63846 /* 180669 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63847 /* 180673 */ GIR_RootConstrainSelectedInstOperands,
63848 /* 180674 */ // GIR_Coverage, 11538,
63849 /* 180674 */ GIR_Done,
63850 /* 180675 */ // Label 4019: @180675
63851 /* 180675 */ GIM_Reject,
63852 /* 180676 */ // Label 3993: @180676
63853 /* 180676 */ GIM_Try, /*On fail goto*//*Label 4020*/ GIMT_Encode4(180735), // Rule ID 10939 //
63854 /* 180681 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
63855 /* 180684 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
63856 /* 180687 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63857 /* 180691 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63858 /* 180695 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63859 /* 180699 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63860 /* 180702 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63861 /* 180706 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63862 /* 180710 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63863 /* 180712 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63864 /* 180719 */ // (uint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
63865 /* 180719 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PDZ256rm),
63866 /* 180722 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63867 /* 180724 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63868 /* 180728 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63869 /* 180733 */ GIR_RootConstrainSelectedInstOperands,
63870 /* 180734 */ // GIR_Coverage, 10939,
63871 /* 180734 */ GIR_EraseRootFromParent_Done,
63872 /* 180735 */ // Label 4020: @180735
63873 /* 180735 */ GIM_Try, /*On fail goto*//*Label 4021*/ GIMT_Encode4(180794), // Rule ID 11434 //
63874 /* 180740 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
63875 /* 180743 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
63876 /* 180746 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63877 /* 180750 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63878 /* 180754 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63879 /* 180758 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63880 /* 180761 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63881 /* 180765 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63882 /* 180769 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63883 /* 180771 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63884 /* 180778 */ // (uint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
63885 /* 180778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZ256rm),
63886 /* 180781 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63887 /* 180783 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63888 /* 180787 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63889 /* 180792 */ GIR_RootConstrainSelectedInstOperands,
63890 /* 180793 */ // GIR_Coverage, 11434,
63891 /* 180793 */ GIR_EraseRootFromParent_Done,
63892 /* 180794 */ // Label 4021: @180794
63893 /* 180794 */ GIM_Try, /*On fail goto*//*Label 4022*/ GIMT_Encode4(180820), // Rule ID 10935 //
63894 /* 180799 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
63895 /* 180802 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
63896 /* 180805 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63897 /* 180809 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63898 /* 180813 */ // (uint_to_fp:{ *:[v4f64] } VR128X:{ *:[v4i32] }:$src) => (VCVTUDQ2PDZ256rr:{ *:[v4f64] } VR128X:{ *:[v4i32] }:$src)
63899 /* 180813 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PDZ256rr),
63900 /* 180818 */ GIR_RootConstrainSelectedInstOperands,
63901 /* 180819 */ // GIR_Coverage, 10935,
63902 /* 180819 */ GIR_Done,
63903 /* 180820 */ // Label 4022: @180820
63904 /* 180820 */ GIM_Try, /*On fail goto*//*Label 4023*/ GIMT_Encode4(180850), // Rule ID 11430 //
63905 /* 180825 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
63906 /* 180828 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
63907 /* 180831 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63908 /* 180835 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63909 /* 180839 */ // (uint_to_fp:{ *:[v4f64] } VR256X:{ *:[v4i64] }:$src) => (VCVTUQQ2PDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4i64] }:$src)
63910 /* 180839 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZ256rr),
63911 /* 180844 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63912 /* 180848 */ GIR_RootConstrainSelectedInstOperands,
63913 /* 180849 */ // GIR_Coverage, 11430,
63914 /* 180849 */ GIR_Done,
63915 /* 180850 */ // Label 4023: @180850
63916 /* 180850 */ GIM_Reject,
63917 /* 180851 */ // Label 3994: @180851
63918 /* 180851 */ GIM_Try, /*On fail goto*//*Label 4024*/ GIMT_Encode4(180910), // Rule ID 11488 //
63919 /* 180856 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
63920 /* 180859 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
63921 /* 180862 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63922 /* 180866 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63923 /* 180870 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63924 /* 180874 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63925 /* 180877 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63926 /* 180881 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63927 /* 180885 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63928 /* 180887 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63929 /* 180894 */ // (uint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PHZ256rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
63930 /* 180894 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PHZ256rm),
63931 /* 180897 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63932 /* 180899 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63933 /* 180903 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63934 /* 180908 */ GIR_RootConstrainSelectedInstOperands,
63935 /* 180909 */ // GIR_Coverage, 11488,
63936 /* 180909 */ GIR_EraseRootFromParent_Done,
63937 /* 180910 */ // Label 4024: @180910
63938 /* 180910 */ GIM_Try, /*On fail goto*//*Label 4025*/ GIMT_Encode4(180969), // Rule ID 14680 //
63939 /* 180915 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
63940 /* 180918 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
63941 /* 180921 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63942 /* 180925 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63943 /* 180929 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63944 /* 180933 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63945 /* 180936 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63946 /* 180940 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63947 /* 180944 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63948 /* 180946 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63949 /* 180953 */ // (uint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUW2PHZ128rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
63950 /* 180953 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZ128rm),
63951 /* 180956 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63952 /* 180958 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63953 /* 180962 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63954 /* 180967 */ GIR_RootConstrainSelectedInstOperands,
63955 /* 180968 */ // GIR_Coverage, 14680,
63956 /* 180968 */ GIR_EraseRootFromParent_Done,
63957 /* 180969 */ // Label 4025: @180969
63958 /* 180969 */ GIM_Try, /*On fail goto*//*Label 4026*/ GIMT_Encode4(181028), // Rule ID 15142 //
63959 /* 180974 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63960 /* 180977 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
63961 /* 180980 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63962 /* 180984 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63963 /* 180988 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63964 /* 180992 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63965 /* 180995 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63966 /* 180999 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63967 /* 181003 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63968 /* 181005 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63969 /* 181012 */ // (uint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PHZrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
63970 /* 181012 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PHZrm),
63971 /* 181015 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63972 /* 181017 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63973 /* 181021 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63974 /* 181026 */ GIR_RootConstrainSelectedInstOperands,
63975 /* 181027 */ // GIR_Coverage, 15142,
63976 /* 181027 */ GIR_EraseRootFromParent_Done,
63977 /* 181028 */ // Label 4026: @181028
63978 /* 181028 */ GIM_Try, /*On fail goto*//*Label 4027*/ GIMT_Encode4(181058), // Rule ID 11484 //
63979 /* 181033 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
63980 /* 181036 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
63981 /* 181039 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63982 /* 181043 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63983 /* 181047 */ // (uint_to_fp:{ *:[v8f16] } VR256X:{ *:[v8i32] }:$src) => (VCVTUDQ2PHZ256rr:{ *:[v8f16] } VR256X:{ *:[v8i32] }:$src)
63984 /* 181047 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PHZ256rr),
63985 /* 181052 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63986 /* 181056 */ GIR_RootConstrainSelectedInstOperands,
63987 /* 181057 */ // GIR_Coverage, 11484,
63988 /* 181057 */ GIR_Done,
63989 /* 181058 */ // Label 4027: @181058
63990 /* 181058 */ GIM_Try, /*On fail goto*//*Label 4028*/ GIMT_Encode4(181088), // Rule ID 14676 //
63991 /* 181063 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
63992 /* 181066 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
63993 /* 181069 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63994 /* 181073 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63995 /* 181077 */ // (uint_to_fp:{ *:[v8f16] } VR128X:{ *:[v8i16] }:$src) => (VCVTUW2PHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8i16] }:$src)
63996 /* 181077 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZ128rr),
63997 /* 181082 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63998 /* 181086 */ GIR_RootConstrainSelectedInstOperands,
63999 /* 181087 */ // GIR_Coverage, 14676,
64000 /* 181087 */ GIR_Done,
64001 /* 181088 */ // Label 4028: @181088
64002 /* 181088 */ GIM_Try, /*On fail goto*//*Label 4029*/ GIMT_Encode4(181118), // Rule ID 15138 //
64003 /* 181093 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
64004 /* 181096 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
64005 /* 181099 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64006 /* 181103 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64007 /* 181107 */ // (uint_to_fp:{ *:[v8f16] } VR512:{ *:[v8i64] }:$src) => (VCVTUQQ2PHZrr:{ *:[v8f16] } VR512:{ *:[v8i64] }:$src)
64008 /* 181107 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PHZrr),
64009 /* 181112 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64010 /* 181116 */ GIR_RootConstrainSelectedInstOperands,
64011 /* 181117 */ // GIR_Coverage, 15138,
64012 /* 181117 */ GIR_Done,
64013 /* 181118 */ // Label 4029: @181118
64014 /* 181118 */ GIM_Reject,
64015 /* 181119 */ // Label 3995: @181119
64016 /* 181119 */ GIM_Try, /*On fail goto*//*Label 4030*/ GIMT_Encode4(181178), // Rule ID 10978 //
64017 /* 181124 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
64018 /* 181127 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
64019 /* 181130 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64020 /* 181134 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64021 /* 181138 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64022 /* 181142 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64023 /* 181145 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64024 /* 181149 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64025 /* 181153 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64026 /* 181155 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64027 /* 181162 */ // (uint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PSZ256rm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
64028 /* 181162 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZ256rm),
64029 /* 181165 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64030 /* 181167 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64031 /* 181171 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64032 /* 181176 */ GIR_RootConstrainSelectedInstOperands,
64033 /* 181177 */ // GIR_Coverage, 10978,
64034 /* 181177 */ GIR_EraseRootFromParent_Done,
64035 /* 181178 */ // Label 4030: @181178
64036 /* 181178 */ GIM_Try, /*On fail goto*//*Label 4031*/ GIMT_Encode4(181237), // Rule ID 11527 //
64037 /* 181183 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
64038 /* 181186 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
64039 /* 181189 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64040 /* 181193 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64041 /* 181197 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64042 /* 181201 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64043 /* 181204 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64044 /* 181208 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64045 /* 181212 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64046 /* 181214 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64047 /* 181221 */ // (uint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PSZrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
64048 /* 181221 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PSZrm),
64049 /* 181224 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64050 /* 181226 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64051 /* 181230 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64052 /* 181235 */ GIR_RootConstrainSelectedInstOperands,
64053 /* 181236 */ // GIR_Coverage, 11527,
64054 /* 181236 */ GIR_EraseRootFromParent_Done,
64055 /* 181237 */ // Label 4031: @181237
64056 /* 181237 */ GIM_Try, /*On fail goto*//*Label 4032*/ GIMT_Encode4(181267), // Rule ID 10974 //
64057 /* 181242 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
64058 /* 181245 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
64059 /* 181248 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64060 /* 181252 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64061 /* 181256 */ // (uint_to_fp:{ *:[v8f32] } VR256X:{ *:[v8i32] }:$src) => (VCVTUDQ2PSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8i32] }:$src)
64062 /* 181256 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZ256rr),
64063 /* 181261 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64064 /* 181265 */ GIR_RootConstrainSelectedInstOperands,
64065 /* 181266 */ // GIR_Coverage, 10974,
64066 /* 181266 */ GIR_Done,
64067 /* 181267 */ // Label 4032: @181267
64068 /* 181267 */ GIM_Try, /*On fail goto*//*Label 4033*/ GIMT_Encode4(181297), // Rule ID 11523 //
64069 /* 181272 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
64070 /* 181275 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
64071 /* 181278 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64072 /* 181282 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64073 /* 181286 */ // (uint_to_fp:{ *:[v8f32] } VR512:{ *:[v8i64] }:$src) => (VCVTUQQ2PSZrr:{ *:[v8f32] } VR512:{ *:[v8i64] }:$src)
64074 /* 181286 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PSZrr),
64075 /* 181291 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64076 /* 181295 */ GIR_RootConstrainSelectedInstOperands,
64077 /* 181296 */ // GIR_Coverage, 11523,
64078 /* 181296 */ GIR_Done,
64079 /* 181297 */ // Label 4033: @181297
64080 /* 181297 */ GIM_Reject,
64081 /* 181298 */ // Label 3996: @181298
64082 /* 181298 */ GIM_Try, /*On fail goto*//*Label 4034*/ GIMT_Encode4(181357), // Rule ID 10915 //
64083 /* 181303 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64084 /* 181306 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
64085 /* 181309 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64086 /* 181313 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64087 /* 181317 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64088 /* 181321 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64089 /* 181324 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64090 /* 181328 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64091 /* 181332 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64092 /* 181334 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64093 /* 181341 */ // (uint_to_fp:{ *:[v8f64] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
64094 /* 181341 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PDZrm),
64095 /* 181344 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64096 /* 181346 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64097 /* 181350 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64098 /* 181355 */ GIR_RootConstrainSelectedInstOperands,
64099 /* 181356 */ // GIR_Coverage, 10915,
64100 /* 181356 */ GIR_EraseRootFromParent_Done,
64101 /* 181357 */ // Label 4034: @181357
64102 /* 181357 */ GIM_Try, /*On fail goto*//*Label 4035*/ GIMT_Encode4(181416), // Rule ID 11407 //
64103 /* 181362 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
64104 /* 181365 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
64105 /* 181368 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64106 /* 181372 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64107 /* 181376 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64108 /* 181380 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64109 /* 181383 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64110 /* 181387 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64111 /* 181391 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64112 /* 181393 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64113 /* 181400 */ // (uint_to_fp:{ *:[v8f64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
64114 /* 181400 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZrm),
64115 /* 181403 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64116 /* 181405 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64117 /* 181409 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64118 /* 181414 */ GIR_RootConstrainSelectedInstOperands,
64119 /* 181415 */ // GIR_Coverage, 11407,
64120 /* 181415 */ GIR_EraseRootFromParent_Done,
64121 /* 181416 */ // Label 4035: @181416
64122 /* 181416 */ GIM_Try, /*On fail goto*//*Label 4036*/ GIMT_Encode4(181442), // Rule ID 10911 //
64123 /* 181421 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64124 /* 181424 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
64125 /* 181427 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64126 /* 181431 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64127 /* 181435 */ // (uint_to_fp:{ *:[v8f64] } VR256X:{ *:[v8i32] }:$src) => (VCVTUDQ2PDZrr:{ *:[v8f64] } VR256X:{ *:[v8i32] }:$src)
64128 /* 181435 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PDZrr),
64129 /* 181440 */ GIR_RootConstrainSelectedInstOperands,
64130 /* 181441 */ // GIR_Coverage, 10911,
64131 /* 181441 */ GIR_Done,
64132 /* 181442 */ // Label 4036: @181442
64133 /* 181442 */ GIM_Try, /*On fail goto*//*Label 4037*/ GIMT_Encode4(181472), // Rule ID 11403 //
64134 /* 181447 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
64135 /* 181450 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
64136 /* 181453 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64137 /* 181457 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64138 /* 181461 */ // (uint_to_fp:{ *:[v8f64] } VR512:{ *:[v8i64] }:$src) => (VCVTUQQ2PDZrr:{ *:[v8f64] } VR512:{ *:[v8i64] }:$src)
64139 /* 181461 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZrr),
64140 /* 181466 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64141 /* 181470 */ GIR_RootConstrainSelectedInstOperands,
64142 /* 181471 */ // GIR_Coverage, 11403,
64143 /* 181471 */ GIR_Done,
64144 /* 181472 */ // Label 4037: @181472
64145 /* 181472 */ GIM_Reject,
64146 /* 181473 */ // Label 3997: @181473
64147 /* 181473 */ GIM_Try, /*On fail goto*//*Label 4038*/ GIMT_Encode4(181532), // Rule ID 11473 //
64148 /* 181478 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
64149 /* 181481 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
64150 /* 181484 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64151 /* 181488 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64152 /* 181492 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64153 /* 181496 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64154 /* 181499 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64155 /* 181503 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64156 /* 181507 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64157 /* 181509 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64158 /* 181516 */ // (uint_to_fp:{ *:[v16f16] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PHZrm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
64159 /* 181516 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PHZrm),
64160 /* 181519 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64161 /* 181521 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64162 /* 181525 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64163 /* 181530 */ GIR_RootConstrainSelectedInstOperands,
64164 /* 181531 */ // GIR_Coverage, 11473,
64165 /* 181531 */ GIR_EraseRootFromParent_Done,
64166 /* 181532 */ // Label 4038: @181532
64167 /* 181532 */ GIM_Try, /*On fail goto*//*Label 4039*/ GIMT_Encode4(181591), // Rule ID 14692 //
64168 /* 181537 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
64169 /* 181540 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
64170 /* 181543 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64171 /* 181547 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64172 /* 181551 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64173 /* 181555 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64174 /* 181558 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64175 /* 181562 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64176 /* 181566 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64177 /* 181568 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64178 /* 181575 */ // (uint_to_fp:{ *:[v16f16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUW2PHZ256rm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
64179 /* 181575 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZ256rm),
64180 /* 181578 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64181 /* 181580 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64182 /* 181584 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64183 /* 181589 */ GIR_RootConstrainSelectedInstOperands,
64184 /* 181590 */ // GIR_Coverage, 14692,
64185 /* 181590 */ GIR_EraseRootFromParent_Done,
64186 /* 181591 */ // Label 4039: @181591
64187 /* 181591 */ GIM_Try, /*On fail goto*//*Label 4040*/ GIMT_Encode4(181621), // Rule ID 11469 //
64188 /* 181596 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
64189 /* 181599 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
64190 /* 181602 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64191 /* 181606 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64192 /* 181610 */ // (uint_to_fp:{ *:[v16f16] } VR512:{ *:[v16i32] }:$src) => (VCVTUDQ2PHZrr:{ *:[v16f16] } VR512:{ *:[v16i32] }:$src)
64193 /* 181610 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PHZrr),
64194 /* 181615 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64195 /* 181619 */ GIR_RootConstrainSelectedInstOperands,
64196 /* 181620 */ // GIR_Coverage, 11469,
64197 /* 181620 */ GIR_Done,
64198 /* 181621 */ // Label 4040: @181621
64199 /* 181621 */ GIM_Try, /*On fail goto*//*Label 4041*/ GIMT_Encode4(181651), // Rule ID 14688 //
64200 /* 181626 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
64201 /* 181629 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
64202 /* 181632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64203 /* 181636 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64204 /* 181640 */ // (uint_to_fp:{ *:[v16f16] } VR256X:{ *:[v16i16] }:$src) => (VCVTUW2PHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16i16] }:$src)
64205 /* 181640 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZ256rr),
64206 /* 181645 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64207 /* 181649 */ GIR_RootConstrainSelectedInstOperands,
64208 /* 181650 */ // GIR_Coverage, 14688,
64209 /* 181650 */ GIR_Done,
64210 /* 181651 */ // Label 4041: @181651
64211 /* 181651 */ GIM_Reject,
64212 /* 181652 */ // Label 3998: @181652
64213 /* 181652 */ GIM_Try, /*On fail goto*//*Label 4042*/ GIMT_Encode4(181740),
64214 /* 181657 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
64215 /* 181660 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64216 /* 181664 */ GIM_Try, /*On fail goto*//*Label 4043*/ GIMT_Encode4(181716), // Rule ID 10951 //
64217 /* 181669 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64218 /* 181672 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64219 /* 181676 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64220 /* 181680 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64221 /* 181683 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64222 /* 181687 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64223 /* 181691 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64224 /* 181693 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64225 /* 181700 */ // (uint_to_fp:{ *:[v16f32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PSZrm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
64226 /* 181700 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZrm),
64227 /* 181703 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64228 /* 181705 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64229 /* 181709 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64230 /* 181714 */ GIR_RootConstrainSelectedInstOperands,
64231 /* 181715 */ // GIR_Coverage, 10951,
64232 /* 181715 */ GIR_EraseRootFromParent_Done,
64233 /* 181716 */ // Label 4043: @181716
64234 /* 181716 */ GIM_Try, /*On fail goto*//*Label 4044*/ GIMT_Encode4(181739), // Rule ID 10947 //
64235 /* 181721 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64236 /* 181724 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64237 /* 181728 */ // (uint_to_fp:{ *:[v16f32] } VR512:{ *:[v16i32] }:$src) => (VCVTUDQ2PSZrr:{ *:[v16f32] } VR512:{ *:[v16i32] }:$src)
64238 /* 181728 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZrr),
64239 /* 181733 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64240 /* 181737 */ GIR_RootConstrainSelectedInstOperands,
64241 /* 181738 */ // GIR_Coverage, 10947,
64242 /* 181738 */ GIR_Done,
64243 /* 181739 */ // Label 4044: @181739
64244 /* 181739 */ GIM_Reject,
64245 /* 181740 */ // Label 4042: @181740
64246 /* 181740 */ GIM_Reject,
64247 /* 181741 */ // Label 3999: @181741
64248 /* 181741 */ GIM_Try, /*On fail goto*//*Label 4045*/ GIMT_Encode4(181829),
64249 /* 181746 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
64250 /* 181749 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64251 /* 181753 */ GIM_Try, /*On fail goto*//*Label 4046*/ GIMT_Encode4(181805), // Rule ID 14665 //
64252 /* 181758 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
64253 /* 181761 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64254 /* 181765 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64255 /* 181769 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64256 /* 181772 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64257 /* 181776 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64258 /* 181780 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64259 /* 181782 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64260 /* 181789 */ // (uint_to_fp:{ *:[v32f16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUW2PHZrm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
64261 /* 181789 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZrm),
64262 /* 181792 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64263 /* 181794 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64264 /* 181798 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64265 /* 181803 */ GIR_RootConstrainSelectedInstOperands,
64266 /* 181804 */ // GIR_Coverage, 14665,
64267 /* 181804 */ GIR_EraseRootFromParent_Done,
64268 /* 181805 */ // Label 4046: @181805
64269 /* 181805 */ GIM_Try, /*On fail goto*//*Label 4047*/ GIMT_Encode4(181828), // Rule ID 14661 //
64270 /* 181810 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
64271 /* 181813 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64272 /* 181817 */ // (uint_to_fp:{ *:[v32f16] } VR512:{ *:[v32i16] }:$src) => (VCVTUW2PHZrr:{ *:[v32f16] } VR512:{ *:[v32i16] }:$src)
64273 /* 181817 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZrr),
64274 /* 181822 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64275 /* 181826 */ GIR_RootConstrainSelectedInstOperands,
64276 /* 181827 */ // GIR_Coverage, 14661,
64277 /* 181827 */ GIR_Done,
64278 /* 181828 */ // Label 4047: @181828
64279 /* 181828 */ GIM_Reject,
64280 /* 181829 */ // Label 4045: @181829
64281 /* 181829 */ GIM_Reject,
64282 /* 181830 */ // Label 4000: @181830
64283 /* 181830 */ GIM_Reject,
64284 /* 181831 */ // Label 54: @181831
64285 /* 181831 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 4051*/ GIMT_Encode4(181953),
64286 /* 181842 */ /*GILLT_s32*//*Label 4048*/ GIMT_Encode4(181854),
64287 /* 181846 */ /*GILLT_s64*//*Label 4049*/ GIMT_Encode4(181887),
64288 /* 181850 */ /*GILLT_s80*//*Label 4050*/ GIMT_Encode4(181920),
64289 /* 181854 */ // Label 4048: @181854
64290 /* 181854 */ GIM_Try, /*On fail goto*//*Label 4052*/ GIMT_Encode4(181886), // Rule ID 1045 //
64291 /* 181859 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
64292 /* 181862 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
64293 /* 181865 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
64294 /* 181869 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
64295 /* 181873 */ // (fabs:{ *:[f32] } RFP32:{ *:[f32] }:$src) => (ABS_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src)
64296 /* 181873 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ABS_Fp32),
64297 /* 181878 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
64298 /* 181884 */ GIR_RootConstrainSelectedInstOperands,
64299 /* 181885 */ // GIR_Coverage, 1045,
64300 /* 181885 */ GIR_Done,
64301 /* 181886 */ // Label 4052: @181886
64302 /* 181886 */ GIM_Reject,
64303 /* 181887 */ // Label 4049: @181887
64304 /* 181887 */ GIM_Try, /*On fail goto*//*Label 4053*/ GIMT_Encode4(181919), // Rule ID 1046 //
64305 /* 181892 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
64306 /* 181895 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
64307 /* 181898 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
64308 /* 181902 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
64309 /* 181906 */ // (fabs:{ *:[f64] } RFP64:{ *:[f64] }:$src) => (ABS_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src)
64310 /* 181906 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ABS_Fp64),
64311 /* 181911 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
64312 /* 181917 */ GIR_RootConstrainSelectedInstOperands,
64313 /* 181918 */ // GIR_Coverage, 1046,
64314 /* 181918 */ GIR_Done,
64315 /* 181919 */ // Label 4053: @181919
64316 /* 181919 */ GIM_Reject,
64317 /* 181920 */ // Label 4050: @181920
64318 /* 181920 */ GIM_Try, /*On fail goto*//*Label 4054*/ GIMT_Encode4(181952), // Rule ID 1047 //
64319 /* 181925 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
64320 /* 181928 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
64321 /* 181931 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
64322 /* 181935 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
64323 /* 181939 */ // (fabs:{ *:[f80] } RFP80:{ *:[f80] }:$src) => (ABS_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src)
64324 /* 181939 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ABS_Fp80),
64325 /* 181944 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
64326 /* 181950 */ GIR_RootConstrainSelectedInstOperands,
64327 /* 181951 */ // GIR_Coverage, 1047,
64328 /* 181951 */ GIR_Done,
64329 /* 181952 */ // Label 4054: @181952
64330 /* 181952 */ GIM_Reject,
64331 /* 181953 */ // Label 4051: @181953
64332 /* 181953 */ GIM_Reject,
64333 /* 181954 */ // Label 55: @181954
64334 /* 181954 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(8), GIMT_Encode2(25), /*)*//*default:*//*Label 4067*/ GIMT_Encode4(185274),
64335 /* 181965 */ /*GILLT_v2s64*//*Label 4055*/ GIMT_Encode4(182033), GIMT_Encode4(0),
64336 /* 181973 */ /*GILLT_v4s32*//*Label 4056*/ GIMT_Encode4(182362),
64337 /* 181977 */ /*GILLT_v4s64*//*Label 4057*/ GIMT_Encode4(182704), GIMT_Encode4(0),
64338 /* 181985 */ /*GILLT_v8s16*//*Label 4058*/ GIMT_Encode4(183021),
64339 /* 181989 */ /*GILLT_v8s32*//*Label 4059*/ GIMT_Encode4(183363),
64340 /* 181993 */ /*GILLT_v8s64*//*Label 4060*/ GIMT_Encode4(183678), GIMT_Encode4(0),
64341 /* 182001 */ /*GILLT_v16s8*//*Label 4061*/ GIMT_Encode4(183834),
64342 /* 182005 */ /*GILLT_v16s16*//*Label 4062*/ GIMT_Encode4(184176),
64343 /* 182009 */ /*GILLT_v16s32*//*Label 4063*/ GIMT_Encode4(184491), GIMT_Encode4(0),
64344 /* 182017 */ /*GILLT_v32s8*//*Label 4064*/ GIMT_Encode4(184647),
64345 /* 182021 */ /*GILLT_v32s16*//*Label 4065*/ GIMT_Encode4(184962), GIMT_Encode4(0),
64346 /* 182029 */ /*GILLT_v64s8*//*Label 4066*/ GIMT_Encode4(185118),
64347 /* 182033 */ // Label 4055: @182033
64348 /* 182033 */ GIM_Try, /*On fail goto*//*Label 4068*/ GIMT_Encode4(182361),
64349 /* 182038 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
64350 /* 182041 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
64351 /* 182044 */ GIM_Try, /*On fail goto*//*Label 4069*/ GIMT_Encode4(182106), // Rule ID 24159 //
64352 /* 182049 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
64353 /* 182052 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64354 /* 182056 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64355 /* 182060 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64356 /* 182064 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64357 /* 182067 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64358 /* 182071 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64359 /* 182075 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64360 /* 182079 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64361 /* 182081 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64362 /* 182088 */ // (smin:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMINSQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
64363 /* 182088 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ128rm),
64364 /* 182091 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64365 /* 182093 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64366 /* 182095 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64367 /* 182099 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64368 /* 182104 */ GIR_RootConstrainSelectedInstOperands,
64369 /* 182105 */ // GIR_Coverage, 24159,
64370 /* 182105 */ GIR_EraseRootFromParent_Done,
64371 /* 182106 */ // Label 4069: @182106
64372 /* 182106 */ GIM_Try, /*On fail goto*//*Label 4070*/ GIMT_Encode4(182168), // Rule ID 5594 //
64373 /* 182111 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
64374 /* 182114 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64375 /* 182118 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64376 /* 182122 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64377 /* 182126 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64378 /* 182130 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64379 /* 182133 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64380 /* 182137 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64381 /* 182141 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64382 /* 182143 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64383 /* 182150 */ // (smin:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
64384 /* 182150 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ128rm),
64385 /* 182153 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64386 /* 182155 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64387 /* 182157 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64388 /* 182161 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64389 /* 182166 */ GIR_RootConstrainSelectedInstOperands,
64390 /* 182167 */ // GIR_Coverage, 5594,
64391 /* 182167 */ GIR_EraseRootFromParent_Done,
64392 /* 182168 */ // Label 4070: @182168
64393 /* 182168 */ GIM_Try, /*On fail goto*//*Label 4071*/ GIMT_Encode4(182195), // Rule ID 5591 //
64394 /* 182173 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
64395 /* 182176 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64396 /* 182180 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64397 /* 182184 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64398 /* 182188 */ // (smin:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMINSQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
64399 /* 182188 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ128rr),
64400 /* 182193 */ GIR_RootConstrainSelectedInstOperands,
64401 /* 182194 */ // GIR_Coverage, 5591,
64402 /* 182194 */ GIR_Done,
64403 /* 182195 */ // Label 4071: @182195
64404 /* 182195 */ GIM_Try, /*On fail goto*//*Label 4072*/ GIMT_Encode4(182360), // Rule ID 20023 //
64405 /* 182200 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
64406 /* 182203 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
64407 /* 182207 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64408 /* 182211 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64409 /* 182215 */ // (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] })
64410 /* 182215 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
64411 /* 182218 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64412 /* 182222 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64413 /* 182227 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
64414 /* 182229 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
64415 /* 182232 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
64416 /* 182236 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64417 /* 182241 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
64418 /* 182244 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
64419 /* 182248 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
64420 /* 182251 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
64421 /* 182256 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
64422 /* 182261 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
64423 /* 182266 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
64424 /* 182269 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64425 /* 182273 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64426 /* 182278 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
64427 /* 182280 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
64428 /* 182283 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
64429 /* 182287 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64430 /* 182292 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
64431 /* 182295 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
64432 /* 182299 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
64433 /* 182302 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
64434 /* 182307 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
64435 /* 182312 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
64436 /* 182317 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
64437 /* 182320 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrr),
64438 /* 182324 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64439 /* 182329 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
64440 /* 182332 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
64441 /* 182335 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64442 /* 182337 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
64443 /* 182340 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64444 /* 182342 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
64445 /* 182349 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
64446 /* 182354 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
64447 /* 182359 */ // GIR_Coverage, 20023,
64448 /* 182359 */ GIR_EraseRootFromParent_Done,
64449 /* 182360 */ // Label 4072: @182360
64450 /* 182360 */ GIM_Reject,
64451 /* 182361 */ // Label 4068: @182361
64452 /* 182361 */ GIM_Reject,
64453 /* 182362 */ // Label 4056: @182362
64454 /* 182362 */ GIM_Try, /*On fail goto*//*Label 4073*/ GIMT_Encode4(182703),
64455 /* 182367 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
64456 /* 182370 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
64457 /* 182373 */ GIM_Try, /*On fail goto*//*Label 4074*/ GIMT_Encode4(182435), // Rule ID 23583 //
64458 /* 182378 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
64459 /* 182381 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64460 /* 182385 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64461 /* 182389 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64462 /* 182393 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64463 /* 182396 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64464 /* 182400 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64465 /* 182404 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64466 /* 182408 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64467 /* 182410 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64468 /* 182417 */ // (smin:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMINSDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64469 /* 182417 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDrm),
64470 /* 182420 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64471 /* 182422 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64472 /* 182424 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64473 /* 182428 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64474 /* 182433 */ GIR_RootConstrainSelectedInstOperands,
64475 /* 182434 */ // GIR_Coverage, 23583,
64476 /* 182434 */ GIR_EraseRootFromParent_Done,
64477 /* 182435 */ // Label 4074: @182435
64478 /* 182435 */ GIM_Try, /*On fail goto*//*Label 4075*/ GIMT_Encode4(182497), // Rule ID 24141 //
64479 /* 182440 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
64480 /* 182443 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64481 /* 182447 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64482 /* 182451 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64483 /* 182455 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64484 /* 182458 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64485 /* 182462 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64486 /* 182466 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64487 /* 182470 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64488 /* 182472 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64489 /* 182479 */ // (smin:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMINSDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64490 /* 182479 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ128rm),
64491 /* 182482 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64492 /* 182484 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64493 /* 182486 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64494 /* 182490 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64495 /* 182495 */ GIR_RootConstrainSelectedInstOperands,
64496 /* 182496 */ // GIR_Coverage, 24141,
64497 /* 182496 */ GIR_EraseRootFromParent_Done,
64498 /* 182497 */ // Label 4075: @182497
64499 /* 182497 */ GIM_Try, /*On fail goto*//*Label 4076*/ GIMT_Encode4(182559), // Rule ID 3186 //
64500 /* 182502 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
64501 /* 182505 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64502 /* 182509 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64503 /* 182513 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64504 /* 182517 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64505 /* 182521 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64506 /* 182524 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64507 /* 182528 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64508 /* 182532 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64509 /* 182534 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64510 /* 182541 */ // (smin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64511 /* 182541 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDrm),
64512 /* 182544 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64513 /* 182546 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64514 /* 182548 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64515 /* 182552 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64516 /* 182557 */ GIR_RootConstrainSelectedInstOperands,
64517 /* 182558 */ // GIR_Coverage, 3186,
64518 /* 182558 */ GIR_EraseRootFromParent_Done,
64519 /* 182559 */ // Label 4076: @182559
64520 /* 182559 */ GIM_Try, /*On fail goto*//*Label 4077*/ GIMT_Encode4(182621), // Rule ID 5567 //
64521 /* 182564 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
64522 /* 182567 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64523 /* 182571 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64524 /* 182575 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64525 /* 182579 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64526 /* 182583 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64527 /* 182586 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64528 /* 182590 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64529 /* 182594 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64530 /* 182596 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64531 /* 182603 */ // (smin:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64532 /* 182603 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ128rm),
64533 /* 182606 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64534 /* 182608 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64535 /* 182610 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64536 /* 182614 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64537 /* 182619 */ GIR_RootConstrainSelectedInstOperands,
64538 /* 182620 */ // GIR_Coverage, 5567,
64539 /* 182620 */ GIR_EraseRootFromParent_Done,
64540 /* 182621 */ // Label 4077: @182621
64541 /* 182621 */ GIM_Try, /*On fail goto*//*Label 4078*/ GIMT_Encode4(182648), // Rule ID 3185 //
64542 /* 182626 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
64543 /* 182629 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64544 /* 182633 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64545 /* 182637 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64546 /* 182641 */ // (smin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMINSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
64547 /* 182641 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDrr),
64548 /* 182646 */ GIR_RootConstrainSelectedInstOperands,
64549 /* 182647 */ // GIR_Coverage, 3185,
64550 /* 182647 */ GIR_Done,
64551 /* 182648 */ // Label 4078: @182648
64552 /* 182648 */ GIM_Try, /*On fail goto*//*Label 4079*/ GIMT_Encode4(182675), // Rule ID 3223 //
64553 /* 182653 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
64554 /* 182656 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64555 /* 182660 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64556 /* 182664 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64557 /* 182668 */ // (smin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMINSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
64558 /* 182668 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINSDrr),
64559 /* 182673 */ GIR_RootConstrainSelectedInstOperands,
64560 /* 182674 */ // GIR_Coverage, 3223,
64561 /* 182674 */ GIR_Done,
64562 /* 182675 */ // Label 4079: @182675
64563 /* 182675 */ GIM_Try, /*On fail goto*//*Label 4080*/ GIMT_Encode4(182702), // Rule ID 5564 //
64564 /* 182680 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
64565 /* 182683 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64566 /* 182687 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64567 /* 182691 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64568 /* 182695 */ // (smin:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMINSDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
64569 /* 182695 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ128rr),
64570 /* 182700 */ GIR_RootConstrainSelectedInstOperands,
64571 /* 182701 */ // GIR_Coverage, 5564,
64572 /* 182701 */ GIR_Done,
64573 /* 182702 */ // Label 4080: @182702
64574 /* 182702 */ GIM_Reject,
64575 /* 182703 */ // Label 4073: @182703
64576 /* 182703 */ GIM_Reject,
64577 /* 182704 */ // Label 4057: @182704
64578 /* 182704 */ GIM_Try, /*On fail goto*//*Label 4081*/ GIMT_Encode4(183020),
64579 /* 182709 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
64580 /* 182712 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
64581 /* 182715 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64582 /* 182719 */ GIM_Try, /*On fail goto*//*Label 4082*/ GIMT_Encode4(182777), // Rule ID 24153 //
64583 /* 182724 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
64584 /* 182727 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64585 /* 182731 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64586 /* 182735 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64587 /* 182738 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64588 /* 182742 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64589 /* 182746 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64590 /* 182750 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64591 /* 182752 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64592 /* 182759 */ // (smin:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMINSQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
64593 /* 182759 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ256rm),
64594 /* 182762 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64595 /* 182764 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64596 /* 182766 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64597 /* 182770 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64598 /* 182775 */ GIR_RootConstrainSelectedInstOperands,
64599 /* 182776 */ // GIR_Coverage, 24153,
64600 /* 182776 */ GIR_EraseRootFromParent_Done,
64601 /* 182777 */ // Label 4082: @182777
64602 /* 182777 */ GIM_Try, /*On fail goto*//*Label 4083*/ GIMT_Encode4(182835), // Rule ID 5585 //
64603 /* 182782 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
64604 /* 182785 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64605 /* 182789 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64606 /* 182793 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64607 /* 182797 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64608 /* 182800 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64609 /* 182804 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64610 /* 182808 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64611 /* 182810 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64612 /* 182817 */ // (smin:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
64613 /* 182817 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ256rm),
64614 /* 182820 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64615 /* 182822 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64616 /* 182824 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64617 /* 182828 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64618 /* 182833 */ GIR_RootConstrainSelectedInstOperands,
64619 /* 182834 */ // GIR_Coverage, 5585,
64620 /* 182834 */ GIR_EraseRootFromParent_Done,
64621 /* 182835 */ // Label 4083: @182835
64622 /* 182835 */ GIM_Try, /*On fail goto*//*Label 4084*/ GIMT_Encode4(182858), // Rule ID 5582 //
64623 /* 182840 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
64624 /* 182843 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64625 /* 182847 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64626 /* 182851 */ // (smin:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMINSQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
64627 /* 182851 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ256rr),
64628 /* 182856 */ GIR_RootConstrainSelectedInstOperands,
64629 /* 182857 */ // GIR_Coverage, 5582,
64630 /* 182857 */ GIR_Done,
64631 /* 182858 */ // Label 4084: @182858
64632 /* 182858 */ GIM_Try, /*On fail goto*//*Label 4085*/ GIMT_Encode4(183019), // Rule ID 20021 //
64633 /* 182863 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
64634 /* 182866 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64635 /* 182870 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64636 /* 182874 */ // (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] })
64637 /* 182874 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
64638 /* 182877 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64639 /* 182881 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64640 /* 182886 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
64641 /* 182888 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
64642 /* 182891 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
64643 /* 182895 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64644 /* 182900 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
64645 /* 182903 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
64646 /* 182907 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
64647 /* 182910 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
64648 /* 182915 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
64649 /* 182920 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
64650 /* 182925 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
64651 /* 182928 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64652 /* 182932 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64653 /* 182937 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
64654 /* 182939 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
64655 /* 182942 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
64656 /* 182946 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64657 /* 182951 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
64658 /* 182954 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
64659 /* 182958 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
64660 /* 182961 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
64661 /* 182966 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
64662 /* 182971 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
64663 /* 182976 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
64664 /* 182979 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrr),
64665 /* 182983 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64666 /* 182988 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
64667 /* 182991 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
64668 /* 182994 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64669 /* 182996 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
64670 /* 182999 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64671 /* 183001 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
64672 /* 183008 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
64673 /* 183013 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
64674 /* 183018 */ // GIR_Coverage, 20021,
64675 /* 183018 */ GIR_EraseRootFromParent_Done,
64676 /* 183019 */ // Label 4085: @183019
64677 /* 183019 */ GIM_Reject,
64678 /* 183020 */ // Label 4081: @183020
64679 /* 183020 */ GIM_Reject,
64680 /* 183021 */ // Label 4058: @183021
64681 /* 183021 */ GIM_Try, /*On fail goto*//*Label 4086*/ GIMT_Encode4(183362),
64682 /* 183026 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
64683 /* 183029 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
64684 /* 183032 */ GIM_Try, /*On fail goto*//*Label 4087*/ GIMT_Encode4(183094), // Rule ID 23547 //
64685 /* 183037 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
64686 /* 183040 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64687 /* 183044 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64688 /* 183048 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64689 /* 183052 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64690 /* 183055 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64691 /* 183059 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64692 /* 183063 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64693 /* 183067 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64694 /* 183069 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64695 /* 183076 */ // (smin:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMINSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
64696 /* 183076 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWrm),
64697 /* 183079 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64698 /* 183081 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64699 /* 183083 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64700 /* 183087 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64701 /* 183092 */ GIR_RootConstrainSelectedInstOperands,
64702 /* 183093 */ // GIR_Coverage, 23547,
64703 /* 183093 */ GIR_EraseRootFromParent_Done,
64704 /* 183094 */ // Label 4087: @183094
64705 /* 183094 */ GIM_Try, /*On fail goto*//*Label 4088*/ GIMT_Encode4(183156), // Rule ID 24126 //
64706 /* 183099 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
64707 /* 183102 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64708 /* 183106 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64709 /* 183110 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64710 /* 183114 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64711 /* 183117 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64712 /* 183121 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64713 /* 183125 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64714 /* 183129 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64715 /* 183131 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64716 /* 183138 */ // (smin:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMINSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
64717 /* 183138 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ128rm),
64718 /* 183141 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64719 /* 183143 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64720 /* 183145 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64721 /* 183149 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64722 /* 183154 */ GIR_RootConstrainSelectedInstOperands,
64723 /* 183155 */ // GIR_Coverage, 24126,
64724 /* 183155 */ GIR_EraseRootFromParent_Done,
64725 /* 183156 */ // Label 4088: @183156
64726 /* 183156 */ GIM_Try, /*On fail goto*//*Label 4089*/ GIMT_Encode4(183218), // Rule ID 2643 //
64727 /* 183161 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
64728 /* 183164 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64729 /* 183168 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64730 /* 183172 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64731 /* 183176 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64732 /* 183180 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64733 /* 183183 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64734 /* 183187 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64735 /* 183191 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64736 /* 183193 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64737 /* 183200 */ // (smin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
64738 /* 183200 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWrm),
64739 /* 183203 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64740 /* 183205 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64741 /* 183207 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64742 /* 183211 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64743 /* 183216 */ GIR_RootConstrainSelectedInstOperands,
64744 /* 183217 */ // GIR_Coverage, 2643,
64745 /* 183217 */ GIR_EraseRootFromParent_Done,
64746 /* 183218 */ // Label 4089: @183218
64747 /* 183218 */ GIM_Try, /*On fail goto*//*Label 4090*/ GIMT_Encode4(183280), // Rule ID 5543 //
64748 /* 183223 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
64749 /* 183226 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64750 /* 183230 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64751 /* 183234 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64752 /* 183238 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64753 /* 183242 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64754 /* 183245 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64755 /* 183249 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64756 /* 183253 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64757 /* 183255 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64758 /* 183262 */ // (smin:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
64759 /* 183262 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ128rm),
64760 /* 183265 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64761 /* 183267 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64762 /* 183269 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64763 /* 183273 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64764 /* 183278 */ GIR_RootConstrainSelectedInstOperands,
64765 /* 183279 */ // GIR_Coverage, 5543,
64766 /* 183279 */ GIR_EraseRootFromParent_Done,
64767 /* 183280 */ // Label 4090: @183280
64768 /* 183280 */ GIM_Try, /*On fail goto*//*Label 4091*/ GIMT_Encode4(183307), // Rule ID 2642 //
64769 /* 183285 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
64770 /* 183288 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64771 /* 183292 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64772 /* 183296 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64773 /* 183300 */ // (smin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMINSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
64774 /* 183300 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWrr),
64775 /* 183305 */ GIR_RootConstrainSelectedInstOperands,
64776 /* 183306 */ // GIR_Coverage, 2642,
64777 /* 183306 */ GIR_Done,
64778 /* 183307 */ // Label 4091: @183307
64779 /* 183307 */ GIM_Try, /*On fail goto*//*Label 4092*/ GIMT_Encode4(183334), // Rule ID 2644 //
64780 /* 183312 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
64781 /* 183315 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64782 /* 183319 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64783 /* 183323 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64784 /* 183327 */ // (smin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMINSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
64785 /* 183327 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINSWrr),
64786 /* 183332 */ GIR_RootConstrainSelectedInstOperands,
64787 /* 183333 */ // GIR_Coverage, 2644,
64788 /* 183333 */ GIR_Done,
64789 /* 183334 */ // Label 4092: @183334
64790 /* 183334 */ GIM_Try, /*On fail goto*//*Label 4093*/ GIMT_Encode4(183361), // Rule ID 5540 //
64791 /* 183339 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
64792 /* 183342 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64793 /* 183346 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64794 /* 183350 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64795 /* 183354 */ // (smin:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMINSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
64796 /* 183354 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ128rr),
64797 /* 183359 */ GIR_RootConstrainSelectedInstOperands,
64798 /* 183360 */ // GIR_Coverage, 5540,
64799 /* 183360 */ GIR_Done,
64800 /* 183361 */ // Label 4093: @183361
64801 /* 183361 */ GIM_Reject,
64802 /* 183362 */ // Label 4086: @183362
64803 /* 183362 */ GIM_Reject,
64804 /* 183363 */ // Label 4059: @183363
64805 /* 183363 */ GIM_Try, /*On fail goto*//*Label 4094*/ GIMT_Encode4(183677),
64806 /* 183368 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
64807 /* 183371 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
64808 /* 183374 */ GIM_Try, /*On fail goto*//*Label 4095*/ GIMT_Encode4(183436), // Rule ID 23592 //
64809 /* 183379 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
64810 /* 183382 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64811 /* 183386 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64812 /* 183390 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64813 /* 183394 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64814 /* 183397 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64815 /* 183401 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64816 /* 183405 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64817 /* 183409 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64818 /* 183411 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64819 /* 183418 */ // (smin:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMINSDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64820 /* 183418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDYrm),
64821 /* 183421 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64822 /* 183423 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64823 /* 183425 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64824 /* 183429 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64825 /* 183434 */ GIR_RootConstrainSelectedInstOperands,
64826 /* 183435 */ // GIR_Coverage, 23592,
64827 /* 183435 */ GIR_EraseRootFromParent_Done,
64828 /* 183436 */ // Label 4095: @183436
64829 /* 183436 */ GIM_Try, /*On fail goto*//*Label 4096*/ GIMT_Encode4(183498), // Rule ID 24135 //
64830 /* 183441 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
64831 /* 183444 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64832 /* 183448 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64833 /* 183452 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64834 /* 183456 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64835 /* 183459 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64836 /* 183463 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64837 /* 183467 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64838 /* 183471 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64839 /* 183473 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64840 /* 183480 */ // (smin:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMINSDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64841 /* 183480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ256rm),
64842 /* 183483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64843 /* 183485 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64844 /* 183487 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64845 /* 183491 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64846 /* 183496 */ GIR_RootConstrainSelectedInstOperands,
64847 /* 183497 */ // GIR_Coverage, 24135,
64848 /* 183497 */ GIR_EraseRootFromParent_Done,
64849 /* 183498 */ // Label 4096: @183498
64850 /* 183498 */ GIM_Try, /*On fail goto*//*Label 4097*/ GIMT_Encode4(183560), // Rule ID 3204 //
64851 /* 183503 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
64852 /* 183506 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64853 /* 183510 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64854 /* 183514 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64855 /* 183518 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64856 /* 183522 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64857 /* 183525 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64858 /* 183529 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64859 /* 183533 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64860 /* 183535 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64861 /* 183542 */ // (smin:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64862 /* 183542 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDYrm),
64863 /* 183545 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64864 /* 183547 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64865 /* 183549 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64866 /* 183553 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64867 /* 183558 */ GIR_RootConstrainSelectedInstOperands,
64868 /* 183559 */ // GIR_Coverage, 3204,
64869 /* 183559 */ GIR_EraseRootFromParent_Done,
64870 /* 183560 */ // Label 4097: @183560
64871 /* 183560 */ GIM_Try, /*On fail goto*//*Label 4098*/ GIMT_Encode4(183622), // Rule ID 5558 //
64872 /* 183565 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
64873 /* 183568 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64874 /* 183572 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64875 /* 183576 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64876 /* 183580 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64877 /* 183584 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64878 /* 183587 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64879 /* 183591 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64880 /* 183595 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64881 /* 183597 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64882 /* 183604 */ // (smin:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64883 /* 183604 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ256rm),
64884 /* 183607 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64885 /* 183609 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64886 /* 183611 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64887 /* 183615 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64888 /* 183620 */ GIR_RootConstrainSelectedInstOperands,
64889 /* 183621 */ // GIR_Coverage, 5558,
64890 /* 183621 */ GIR_EraseRootFromParent_Done,
64891 /* 183622 */ // Label 4098: @183622
64892 /* 183622 */ GIM_Try, /*On fail goto*//*Label 4099*/ GIMT_Encode4(183649), // Rule ID 3203 //
64893 /* 183627 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
64894 /* 183630 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64895 /* 183634 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64896 /* 183638 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64897 /* 183642 */ // (smin:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMINSDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
64898 /* 183642 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDYrr),
64899 /* 183647 */ GIR_RootConstrainSelectedInstOperands,
64900 /* 183648 */ // GIR_Coverage, 3203,
64901 /* 183648 */ GIR_Done,
64902 /* 183649 */ // Label 4099: @183649
64903 /* 183649 */ GIM_Try, /*On fail goto*//*Label 4100*/ GIMT_Encode4(183676), // Rule ID 5555 //
64904 /* 183654 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
64905 /* 183657 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64906 /* 183661 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64907 /* 183665 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64908 /* 183669 */ // (smin:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMINSDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
64909 /* 183669 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ256rr),
64910 /* 183674 */ GIR_RootConstrainSelectedInstOperands,
64911 /* 183675 */ // GIR_Coverage, 5555,
64912 /* 183675 */ GIR_Done,
64913 /* 183676 */ // Label 4100: @183676
64914 /* 183676 */ GIM_Reject,
64915 /* 183677 */ // Label 4094: @183677
64916 /* 183677 */ GIM_Reject,
64917 /* 183678 */ // Label 4060: @183678
64918 /* 183678 */ GIM_Try, /*On fail goto*//*Label 4101*/ GIMT_Encode4(183833),
64919 /* 183683 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
64920 /* 183686 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
64921 /* 183689 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64922 /* 183693 */ GIM_Try, /*On fail goto*//*Label 4102*/ GIMT_Encode4(183751), // Rule ID 24147 //
64923 /* 183698 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64924 /* 183701 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64925 /* 183705 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64926 /* 183709 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64927 /* 183712 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64928 /* 183716 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64929 /* 183720 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64930 /* 183724 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64931 /* 183726 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64932 /* 183733 */ // (smin:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMINSQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
64933 /* 183733 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrm),
64934 /* 183736 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64935 /* 183738 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64936 /* 183740 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64937 /* 183744 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64938 /* 183749 */ GIR_RootConstrainSelectedInstOperands,
64939 /* 183750 */ // GIR_Coverage, 24147,
64940 /* 183750 */ GIR_EraseRootFromParent_Done,
64941 /* 183751 */ // Label 4102: @183751
64942 /* 183751 */ GIM_Try, /*On fail goto*//*Label 4103*/ GIMT_Encode4(183809), // Rule ID 5576 //
64943 /* 183756 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64944 /* 183759 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64945 /* 183763 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64946 /* 183767 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64947 /* 183771 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64948 /* 183774 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64949 /* 183778 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64950 /* 183782 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64951 /* 183784 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64952 /* 183791 */ // (smin:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
64953 /* 183791 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrm),
64954 /* 183794 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64955 /* 183796 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64956 /* 183798 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64957 /* 183802 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64958 /* 183807 */ GIR_RootConstrainSelectedInstOperands,
64959 /* 183808 */ // GIR_Coverage, 5576,
64960 /* 183808 */ GIR_EraseRootFromParent_Done,
64961 /* 183809 */ // Label 4103: @183809
64962 /* 183809 */ GIM_Try, /*On fail goto*//*Label 4104*/ GIMT_Encode4(183832), // Rule ID 5573 //
64963 /* 183814 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64964 /* 183817 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64965 /* 183821 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64966 /* 183825 */ // (smin:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMINSQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
64967 /* 183825 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrr),
64968 /* 183830 */ GIR_RootConstrainSelectedInstOperands,
64969 /* 183831 */ // GIR_Coverage, 5573,
64970 /* 183831 */ GIR_Done,
64971 /* 183832 */ // Label 4104: @183832
64972 /* 183832 */ GIM_Reject,
64973 /* 183833 */ // Label 4101: @183833
64974 /* 183833 */ GIM_Reject,
64975 /* 183834 */ // Label 4061: @183834
64976 /* 183834 */ GIM_Try, /*On fail goto*//*Label 4105*/ GIMT_Encode4(184175),
64977 /* 183839 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
64978 /* 183842 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
64979 /* 183845 */ GIM_Try, /*On fail goto*//*Label 4106*/ GIMT_Encode4(183907), // Rule ID 23588 //
64980 /* 183850 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
64981 /* 183853 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64982 /* 183857 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64983 /* 183861 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64984 /* 183865 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64985 /* 183868 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64986 /* 183872 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64987 /* 183876 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64988 /* 183880 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64989 /* 183882 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64990 /* 183889 */ // (smin:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPMINSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64991 /* 183889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBrm),
64992 /* 183892 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64993 /* 183894 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64994 /* 183896 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64995 /* 183900 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64996 /* 183905 */ GIR_RootConstrainSelectedInstOperands,
64997 /* 183906 */ // GIR_Coverage, 23588,
64998 /* 183906 */ GIR_EraseRootFromParent_Done,
64999 /* 183907 */ // Label 4106: @183907
65000 /* 183907 */ GIM_Try, /*On fail goto*//*Label 4107*/ GIMT_Encode4(183969), // Rule ID 24117 //
65001 /* 183912 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65002 /* 183915 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65003 /* 183919 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65004 /* 183923 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65005 /* 183927 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65006 /* 183930 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65007 /* 183934 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65008 /* 183938 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65009 /* 183942 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65010 /* 183944 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65011 /* 183951 */ // (smin:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPMINSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65012 /* 183951 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ128rm),
65013 /* 183954 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65014 /* 183956 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65015 /* 183958 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65016 /* 183962 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65017 /* 183967 */ GIR_RootConstrainSelectedInstOperands,
65018 /* 183968 */ // GIR_Coverage, 24117,
65019 /* 183968 */ GIR_EraseRootFromParent_Done,
65020 /* 183969 */ // Label 4107: @183969
65021 /* 183969 */ GIM_Try, /*On fail goto*//*Label 4108*/ GIMT_Encode4(184031), // Rule ID 3196 //
65022 /* 183974 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
65023 /* 183977 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65024 /* 183981 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65025 /* 183985 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65026 /* 183989 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65027 /* 183993 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65028 /* 183996 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65029 /* 184000 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65030 /* 184004 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65031 /* 184006 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65032 /* 184013 */ // (smin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65033 /* 184013 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBrm),
65034 /* 184016 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65035 /* 184018 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65036 /* 184020 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65037 /* 184024 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65038 /* 184029 */ GIR_RootConstrainSelectedInstOperands,
65039 /* 184030 */ // GIR_Coverage, 3196,
65040 /* 184030 */ GIR_EraseRootFromParent_Done,
65041 /* 184031 */ // Label 4108: @184031
65042 /* 184031 */ GIM_Try, /*On fail goto*//*Label 4109*/ GIMT_Encode4(184093), // Rule ID 5525 //
65043 /* 184036 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65044 /* 184039 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65045 /* 184043 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65046 /* 184047 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65047 /* 184051 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65048 /* 184055 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65049 /* 184058 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65050 /* 184062 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65051 /* 184066 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65052 /* 184068 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65053 /* 184075 */ // (smin:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65054 /* 184075 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ128rm),
65055 /* 184078 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65056 /* 184080 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65057 /* 184082 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65058 /* 184086 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65059 /* 184091 */ GIR_RootConstrainSelectedInstOperands,
65060 /* 184092 */ // GIR_Coverage, 5525,
65061 /* 184092 */ GIR_EraseRootFromParent_Done,
65062 /* 184093 */ // Label 4109: @184093
65063 /* 184093 */ GIM_Try, /*On fail goto*//*Label 4110*/ GIMT_Encode4(184120), // Rule ID 3195 //
65064 /* 184098 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
65065 /* 184101 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65066 /* 184105 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65067 /* 184109 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65068 /* 184113 */ // (smin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPMINSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
65069 /* 184113 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBrr),
65070 /* 184118 */ GIR_RootConstrainSelectedInstOperands,
65071 /* 184119 */ // GIR_Coverage, 3195,
65072 /* 184119 */ GIR_Done,
65073 /* 184120 */ // Label 4110: @184120
65074 /* 184120 */ GIM_Try, /*On fail goto*//*Label 4111*/ GIMT_Encode4(184147), // Rule ID 3221 //
65075 /* 184125 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
65076 /* 184128 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65077 /* 184132 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65078 /* 184136 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65079 /* 184140 */ // (smin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PMINSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
65080 /* 184140 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINSBrr),
65081 /* 184145 */ GIR_RootConstrainSelectedInstOperands,
65082 /* 184146 */ // GIR_Coverage, 3221,
65083 /* 184146 */ GIR_Done,
65084 /* 184147 */ // Label 4111: @184147
65085 /* 184147 */ GIM_Try, /*On fail goto*//*Label 4112*/ GIMT_Encode4(184174), // Rule ID 5522 //
65086 /* 184152 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65087 /* 184155 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65088 /* 184159 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65089 /* 184163 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65090 /* 184167 */ // (smin:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPMINSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
65091 /* 184167 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ128rr),
65092 /* 184172 */ GIR_RootConstrainSelectedInstOperands,
65093 /* 184173 */ // GIR_Coverage, 5522,
65094 /* 184173 */ GIR_Done,
65095 /* 184174 */ // Label 4112: @184174
65096 /* 184174 */ GIM_Reject,
65097 /* 184175 */ // Label 4105: @184175
65098 /* 184175 */ GIM_Reject,
65099 /* 184176 */ // Label 4062: @184176
65100 /* 184176 */ GIM_Try, /*On fail goto*//*Label 4113*/ GIMT_Encode4(184490),
65101 /* 184181 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
65102 /* 184184 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
65103 /* 184187 */ GIM_Try, /*On fail goto*//*Label 4114*/ GIMT_Encode4(184249), // Rule ID 23549 //
65104 /* 184192 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
65105 /* 184195 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65106 /* 184199 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65107 /* 184203 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65108 /* 184207 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65109 /* 184210 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65110 /* 184214 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65111 /* 184218 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65112 /* 184222 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65113 /* 184224 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65114 /* 184231 */ // (smin:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMINSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65115 /* 184231 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWYrm),
65116 /* 184234 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65117 /* 184236 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65118 /* 184238 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65119 /* 184242 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65120 /* 184247 */ GIR_RootConstrainSelectedInstOperands,
65121 /* 184248 */ // GIR_Coverage, 23549,
65122 /* 184248 */ GIR_EraseRootFromParent_Done,
65123 /* 184249 */ // Label 4114: @184249
65124 /* 184249 */ GIM_Try, /*On fail goto*//*Label 4115*/ GIMT_Encode4(184311), // Rule ID 24123 //
65125 /* 184254 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65126 /* 184257 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65127 /* 184261 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65128 /* 184265 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65129 /* 184269 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65130 /* 184272 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65131 /* 184276 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65132 /* 184280 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65133 /* 184284 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65134 /* 184286 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65135 /* 184293 */ // (smin:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMINSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65136 /* 184293 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ256rm),
65137 /* 184296 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65138 /* 184298 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65139 /* 184300 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65140 /* 184304 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65141 /* 184309 */ GIR_RootConstrainSelectedInstOperands,
65142 /* 184310 */ // GIR_Coverage, 24123,
65143 /* 184310 */ GIR_EraseRootFromParent_Done,
65144 /* 184311 */ // Label 4115: @184311
65145 /* 184311 */ GIM_Try, /*On fail goto*//*Label 4116*/ GIMT_Encode4(184373), // Rule ID 2647 //
65146 /* 184316 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
65147 /* 184319 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65148 /* 184323 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65149 /* 184327 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65150 /* 184331 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65151 /* 184335 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65152 /* 184338 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65153 /* 184342 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65154 /* 184346 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65155 /* 184348 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65156 /* 184355 */ // (smin:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65157 /* 184355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWYrm),
65158 /* 184358 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65159 /* 184360 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65160 /* 184362 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65161 /* 184366 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65162 /* 184371 */ GIR_RootConstrainSelectedInstOperands,
65163 /* 184372 */ // GIR_Coverage, 2647,
65164 /* 184372 */ GIR_EraseRootFromParent_Done,
65165 /* 184373 */ // Label 4116: @184373
65166 /* 184373 */ GIM_Try, /*On fail goto*//*Label 4117*/ GIMT_Encode4(184435), // Rule ID 5537 //
65167 /* 184378 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65168 /* 184381 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65169 /* 184385 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65170 /* 184389 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65171 /* 184393 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65172 /* 184397 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65173 /* 184400 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65174 /* 184404 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65175 /* 184408 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65176 /* 184410 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65177 /* 184417 */ // (smin:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65178 /* 184417 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ256rm),
65179 /* 184420 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65180 /* 184422 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65181 /* 184424 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65182 /* 184428 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65183 /* 184433 */ GIR_RootConstrainSelectedInstOperands,
65184 /* 184434 */ // GIR_Coverage, 5537,
65185 /* 184434 */ GIR_EraseRootFromParent_Done,
65186 /* 184435 */ // Label 4117: @184435
65187 /* 184435 */ GIM_Try, /*On fail goto*//*Label 4118*/ GIMT_Encode4(184462), // Rule ID 2646 //
65188 /* 184440 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
65189 /* 184443 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65190 /* 184447 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65191 /* 184451 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65192 /* 184455 */ // (smin:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMINSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
65193 /* 184455 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWYrr),
65194 /* 184460 */ GIR_RootConstrainSelectedInstOperands,
65195 /* 184461 */ // GIR_Coverage, 2646,
65196 /* 184461 */ GIR_Done,
65197 /* 184462 */ // Label 4118: @184462
65198 /* 184462 */ GIM_Try, /*On fail goto*//*Label 4119*/ GIMT_Encode4(184489), // Rule ID 5534 //
65199 /* 184467 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65200 /* 184470 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65201 /* 184474 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65202 /* 184478 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65203 /* 184482 */ // (smin:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMINSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
65204 /* 184482 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ256rr),
65205 /* 184487 */ GIR_RootConstrainSelectedInstOperands,
65206 /* 184488 */ // GIR_Coverage, 5534,
65207 /* 184488 */ GIR_Done,
65208 /* 184489 */ // Label 4119: @184489
65209 /* 184489 */ GIM_Reject,
65210 /* 184490 */ // Label 4113: @184490
65211 /* 184490 */ GIM_Reject,
65212 /* 184491 */ // Label 4063: @184491
65213 /* 184491 */ GIM_Try, /*On fail goto*//*Label 4120*/ GIMT_Encode4(184646),
65214 /* 184496 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
65215 /* 184499 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
65216 /* 184502 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65217 /* 184506 */ GIM_Try, /*On fail goto*//*Label 4121*/ GIMT_Encode4(184564), // Rule ID 24129 //
65218 /* 184511 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
65219 /* 184514 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65220 /* 184518 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65221 /* 184522 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65222 /* 184525 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65223 /* 184529 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65224 /* 184533 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65225 /* 184537 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65226 /* 184539 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65227 /* 184546 */ // (smin:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMINSDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65228 /* 184546 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZrm),
65229 /* 184549 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65230 /* 184551 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65231 /* 184553 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65232 /* 184557 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65233 /* 184562 */ GIR_RootConstrainSelectedInstOperands,
65234 /* 184563 */ // GIR_Coverage, 24129,
65235 /* 184563 */ GIR_EraseRootFromParent_Done,
65236 /* 184564 */ // Label 4121: @184564
65237 /* 184564 */ GIM_Try, /*On fail goto*//*Label 4122*/ GIMT_Encode4(184622), // Rule ID 5549 //
65238 /* 184569 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
65239 /* 184572 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65240 /* 184576 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65241 /* 184580 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65242 /* 184584 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65243 /* 184587 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65244 /* 184591 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65245 /* 184595 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65246 /* 184597 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65247 /* 184604 */ // (smin:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65248 /* 184604 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZrm),
65249 /* 184607 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65250 /* 184609 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65251 /* 184611 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65252 /* 184615 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65253 /* 184620 */ GIR_RootConstrainSelectedInstOperands,
65254 /* 184621 */ // GIR_Coverage, 5549,
65255 /* 184621 */ GIR_EraseRootFromParent_Done,
65256 /* 184622 */ // Label 4122: @184622
65257 /* 184622 */ GIM_Try, /*On fail goto*//*Label 4123*/ GIMT_Encode4(184645), // Rule ID 5546 //
65258 /* 184627 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
65259 /* 184630 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65260 /* 184634 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65261 /* 184638 */ // (smin:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMINSDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
65262 /* 184638 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDZrr),
65263 /* 184643 */ GIR_RootConstrainSelectedInstOperands,
65264 /* 184644 */ // GIR_Coverage, 5546,
65265 /* 184644 */ GIR_Done,
65266 /* 184645 */ // Label 4123: @184645
65267 /* 184645 */ GIM_Reject,
65268 /* 184646 */ // Label 4120: @184646
65269 /* 184646 */ GIM_Reject,
65270 /* 184647 */ // Label 4064: @184647
65271 /* 184647 */ GIM_Try, /*On fail goto*//*Label 4124*/ GIMT_Encode4(184961),
65272 /* 184652 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
65273 /* 184655 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
65274 /* 184658 */ GIM_Try, /*On fail goto*//*Label 4125*/ GIMT_Encode4(184720), // Rule ID 23597 //
65275 /* 184663 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
65276 /* 184666 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65277 /* 184670 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65278 /* 184674 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65279 /* 184678 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65280 /* 184681 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65281 /* 184685 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65282 /* 184689 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65283 /* 184693 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65284 /* 184695 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65285 /* 184702 */ // (smin:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPMINSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65286 /* 184702 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBYrm),
65287 /* 184705 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65288 /* 184707 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65289 /* 184709 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65290 /* 184713 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65291 /* 184718 */ GIR_RootConstrainSelectedInstOperands,
65292 /* 184719 */ // GIR_Coverage, 23597,
65293 /* 184719 */ GIR_EraseRootFromParent_Done,
65294 /* 184720 */ // Label 4125: @184720
65295 /* 184720 */ GIM_Try, /*On fail goto*//*Label 4126*/ GIMT_Encode4(184782), // Rule ID 24114 //
65296 /* 184725 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65297 /* 184728 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65298 /* 184732 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65299 /* 184736 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65300 /* 184740 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65301 /* 184743 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65302 /* 184747 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65303 /* 184751 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65304 /* 184755 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65305 /* 184757 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65306 /* 184764 */ // (smin:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPMINSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65307 /* 184764 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ256rm),
65308 /* 184767 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65309 /* 184769 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65310 /* 184771 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65311 /* 184775 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65312 /* 184780 */ GIR_RootConstrainSelectedInstOperands,
65313 /* 184781 */ // GIR_Coverage, 24114,
65314 /* 184781 */ GIR_EraseRootFromParent_Done,
65315 /* 184782 */ // Label 4126: @184782
65316 /* 184782 */ GIM_Try, /*On fail goto*//*Label 4127*/ GIMT_Encode4(184844), // Rule ID 3214 //
65317 /* 184787 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
65318 /* 184790 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65319 /* 184794 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65320 /* 184798 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65321 /* 184802 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65322 /* 184806 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65323 /* 184809 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65324 /* 184813 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65325 /* 184817 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65326 /* 184819 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65327 /* 184826 */ // (smin:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65328 /* 184826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBYrm),
65329 /* 184829 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65330 /* 184831 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65331 /* 184833 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65332 /* 184837 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65333 /* 184842 */ GIR_RootConstrainSelectedInstOperands,
65334 /* 184843 */ // GIR_Coverage, 3214,
65335 /* 184843 */ GIR_EraseRootFromParent_Done,
65336 /* 184844 */ // Label 4127: @184844
65337 /* 184844 */ GIM_Try, /*On fail goto*//*Label 4128*/ GIMT_Encode4(184906), // Rule ID 5519 //
65338 /* 184849 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65339 /* 184852 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65340 /* 184856 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65341 /* 184860 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65342 /* 184864 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65343 /* 184868 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65344 /* 184871 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65345 /* 184875 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65346 /* 184879 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65347 /* 184881 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65348 /* 184888 */ // (smin:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65349 /* 184888 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ256rm),
65350 /* 184891 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65351 /* 184893 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65352 /* 184895 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65353 /* 184899 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65354 /* 184904 */ GIR_RootConstrainSelectedInstOperands,
65355 /* 184905 */ // GIR_Coverage, 5519,
65356 /* 184905 */ GIR_EraseRootFromParent_Done,
65357 /* 184906 */ // Label 4128: @184906
65358 /* 184906 */ GIM_Try, /*On fail goto*//*Label 4129*/ GIMT_Encode4(184933), // Rule ID 3213 //
65359 /* 184911 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
65360 /* 184914 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65361 /* 184918 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65362 /* 184922 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65363 /* 184926 */ // (smin:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPMINSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
65364 /* 184926 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBYrr),
65365 /* 184931 */ GIR_RootConstrainSelectedInstOperands,
65366 /* 184932 */ // GIR_Coverage, 3213,
65367 /* 184932 */ GIR_Done,
65368 /* 184933 */ // Label 4129: @184933
65369 /* 184933 */ GIM_Try, /*On fail goto*//*Label 4130*/ GIMT_Encode4(184960), // Rule ID 5516 //
65370 /* 184938 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65371 /* 184941 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65372 /* 184945 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65373 /* 184949 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65374 /* 184953 */ // (smin:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPMINSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
65375 /* 184953 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ256rr),
65376 /* 184958 */ GIR_RootConstrainSelectedInstOperands,
65377 /* 184959 */ // GIR_Coverage, 5516,
65378 /* 184959 */ GIR_Done,
65379 /* 184960 */ // Label 4130: @184960
65380 /* 184960 */ GIM_Reject,
65381 /* 184961 */ // Label 4124: @184961
65382 /* 184961 */ GIM_Reject,
65383 /* 184962 */ // Label 4065: @184962
65384 /* 184962 */ GIM_Try, /*On fail goto*//*Label 4131*/ GIMT_Encode4(185117),
65385 /* 184967 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
65386 /* 184970 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
65387 /* 184973 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65388 /* 184977 */ GIM_Try, /*On fail goto*//*Label 4132*/ GIMT_Encode4(185035), // Rule ID 24120 //
65389 /* 184982 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
65390 /* 184985 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65391 /* 184989 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65392 /* 184993 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65393 /* 184996 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65394 /* 185000 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65395 /* 185004 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65396 /* 185008 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65397 /* 185010 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65398 /* 185017 */ // (smin:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMINSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65399 /* 185017 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZrm),
65400 /* 185020 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65401 /* 185022 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65402 /* 185024 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65403 /* 185028 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65404 /* 185033 */ GIR_RootConstrainSelectedInstOperands,
65405 /* 185034 */ // GIR_Coverage, 24120,
65406 /* 185034 */ GIR_EraseRootFromParent_Done,
65407 /* 185035 */ // Label 4132: @185035
65408 /* 185035 */ GIM_Try, /*On fail goto*//*Label 4133*/ GIMT_Encode4(185093), // Rule ID 5531 //
65409 /* 185040 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
65410 /* 185043 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65411 /* 185047 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65412 /* 185051 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65413 /* 185055 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65414 /* 185058 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65415 /* 185062 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65416 /* 185066 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65417 /* 185068 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65418 /* 185075 */ // (smin:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65419 /* 185075 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZrm),
65420 /* 185078 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65421 /* 185080 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65422 /* 185082 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65423 /* 185086 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65424 /* 185091 */ GIR_RootConstrainSelectedInstOperands,
65425 /* 185092 */ // GIR_Coverage, 5531,
65426 /* 185092 */ GIR_EraseRootFromParent_Done,
65427 /* 185093 */ // Label 4133: @185093
65428 /* 185093 */ GIM_Try, /*On fail goto*//*Label 4134*/ GIMT_Encode4(185116), // Rule ID 5528 //
65429 /* 185098 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
65430 /* 185101 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65431 /* 185105 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65432 /* 185109 */ // (smin:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMINSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
65433 /* 185109 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWZrr),
65434 /* 185114 */ GIR_RootConstrainSelectedInstOperands,
65435 /* 185115 */ // GIR_Coverage, 5528,
65436 /* 185115 */ GIR_Done,
65437 /* 185116 */ // Label 4134: @185116
65438 /* 185116 */ GIM_Reject,
65439 /* 185117 */ // Label 4131: @185117
65440 /* 185117 */ GIM_Reject,
65441 /* 185118 */ // Label 4066: @185118
65442 /* 185118 */ GIM_Try, /*On fail goto*//*Label 4135*/ GIMT_Encode4(185273),
65443 /* 185123 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
65444 /* 185126 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
65445 /* 185129 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65446 /* 185133 */ GIM_Try, /*On fail goto*//*Label 4136*/ GIMT_Encode4(185191), // Rule ID 24111 //
65447 /* 185138 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
65448 /* 185141 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65449 /* 185145 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65450 /* 185149 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65451 /* 185152 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65452 /* 185156 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65453 /* 185160 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65454 /* 185164 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65455 /* 185166 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65456 /* 185173 */ // (smin:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPMINSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65457 /* 185173 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZrm),
65458 /* 185176 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65459 /* 185178 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65460 /* 185180 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65461 /* 185184 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65462 /* 185189 */ GIR_RootConstrainSelectedInstOperands,
65463 /* 185190 */ // GIR_Coverage, 24111,
65464 /* 185190 */ GIR_EraseRootFromParent_Done,
65465 /* 185191 */ // Label 4136: @185191
65466 /* 185191 */ GIM_Try, /*On fail goto*//*Label 4137*/ GIMT_Encode4(185249), // Rule ID 5513 //
65467 /* 185196 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
65468 /* 185199 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65469 /* 185203 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65470 /* 185207 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65471 /* 185211 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65472 /* 185214 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65473 /* 185218 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65474 /* 185222 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65475 /* 185224 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65476 /* 185231 */ // (smin:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65477 /* 185231 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZrm),
65478 /* 185234 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65479 /* 185236 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65480 /* 185238 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65481 /* 185242 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65482 /* 185247 */ GIR_RootConstrainSelectedInstOperands,
65483 /* 185248 */ // GIR_Coverage, 5513,
65484 /* 185248 */ GIR_EraseRootFromParent_Done,
65485 /* 185249 */ // Label 4137: @185249
65486 /* 185249 */ GIM_Try, /*On fail goto*//*Label 4138*/ GIMT_Encode4(185272), // Rule ID 5510 //
65487 /* 185254 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
65488 /* 185257 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65489 /* 185261 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65490 /* 185265 */ // (smin:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPMINSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
65491 /* 185265 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBZrr),
65492 /* 185270 */ GIR_RootConstrainSelectedInstOperands,
65493 /* 185271 */ // GIR_Coverage, 5510,
65494 /* 185271 */ GIR_Done,
65495 /* 185272 */ // Label 4138: @185272
65496 /* 185272 */ GIM_Reject,
65497 /* 185273 */ // Label 4135: @185273
65498 /* 185273 */ GIM_Reject,
65499 /* 185274 */ // Label 4067: @185274
65500 /* 185274 */ GIM_Reject,
65501 /* 185275 */ // Label 56: @185275
65502 /* 185275 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(8), GIMT_Encode2(25), /*)*//*default:*//*Label 4151*/ GIMT_Encode4(188595),
65503 /* 185286 */ /*GILLT_v2s64*//*Label 4139*/ GIMT_Encode4(185354), GIMT_Encode4(0),
65504 /* 185294 */ /*GILLT_v4s32*//*Label 4140*/ GIMT_Encode4(185683),
65505 /* 185298 */ /*GILLT_v4s64*//*Label 4141*/ GIMT_Encode4(186025), GIMT_Encode4(0),
65506 /* 185306 */ /*GILLT_v8s16*//*Label 4142*/ GIMT_Encode4(186342),
65507 /* 185310 */ /*GILLT_v8s32*//*Label 4143*/ GIMT_Encode4(186684),
65508 /* 185314 */ /*GILLT_v8s64*//*Label 4144*/ GIMT_Encode4(186999), GIMT_Encode4(0),
65509 /* 185322 */ /*GILLT_v16s8*//*Label 4145*/ GIMT_Encode4(187155),
65510 /* 185326 */ /*GILLT_v16s16*//*Label 4146*/ GIMT_Encode4(187497),
65511 /* 185330 */ /*GILLT_v16s32*//*Label 4147*/ GIMT_Encode4(187812), GIMT_Encode4(0),
65512 /* 185338 */ /*GILLT_v32s8*//*Label 4148*/ GIMT_Encode4(187968),
65513 /* 185342 */ /*GILLT_v32s16*//*Label 4149*/ GIMT_Encode4(188283), GIMT_Encode4(0),
65514 /* 185350 */ /*GILLT_v64s8*//*Label 4150*/ GIMT_Encode4(188439),
65515 /* 185354 */ // Label 4139: @185354
65516 /* 185354 */ GIM_Try, /*On fail goto*//*Label 4152*/ GIMT_Encode4(185682),
65517 /* 185359 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
65518 /* 185362 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
65519 /* 185365 */ GIM_Try, /*On fail goto*//*Label 4153*/ GIMT_Encode4(185427), // Rule ID 24051 //
65520 /* 185370 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65521 /* 185373 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65522 /* 185377 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65523 /* 185381 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65524 /* 185385 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65525 /* 185388 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65526 /* 185392 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65527 /* 185396 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65528 /* 185400 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65529 /* 185402 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65530 /* 185409 */ // (smax:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMAXSQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65531 /* 185409 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ128rm),
65532 /* 185412 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65533 /* 185414 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65534 /* 185416 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65535 /* 185420 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65536 /* 185425 */ GIR_RootConstrainSelectedInstOperands,
65537 /* 185426 */ // GIR_Coverage, 24051,
65538 /* 185426 */ GIR_EraseRootFromParent_Done,
65539 /* 185427 */ // Label 4153: @185427
65540 /* 185427 */ GIM_Try, /*On fail goto*//*Label 4154*/ GIMT_Encode4(185489), // Rule ID 5414 //
65541 /* 185432 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65542 /* 185435 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65543 /* 185439 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65544 /* 185443 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65545 /* 185447 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65546 /* 185451 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65547 /* 185454 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65548 /* 185458 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65549 /* 185462 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65550 /* 185464 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65551 /* 185471 */ // (smax:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65552 /* 185471 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ128rm),
65553 /* 185474 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65554 /* 185476 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65555 /* 185478 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65556 /* 185482 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65557 /* 185487 */ GIR_RootConstrainSelectedInstOperands,
65558 /* 185488 */ // GIR_Coverage, 5414,
65559 /* 185488 */ GIR_EraseRootFromParent_Done,
65560 /* 185489 */ // Label 4154: @185489
65561 /* 185489 */ GIM_Try, /*On fail goto*//*Label 4155*/ GIMT_Encode4(185516), // Rule ID 5411 //
65562 /* 185494 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65563 /* 185497 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65564 /* 185501 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65565 /* 185505 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65566 /* 185509 */ // (smax:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMAXSQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
65567 /* 185509 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ128rr),
65568 /* 185514 */ GIR_RootConstrainSelectedInstOperands,
65569 /* 185515 */ // GIR_Coverage, 5411,
65570 /* 185515 */ GIR_Done,
65571 /* 185516 */ // Label 4155: @185516
65572 /* 185516 */ GIM_Try, /*On fail goto*//*Label 4156*/ GIMT_Encode4(185681), // Rule ID 20019 //
65573 /* 185521 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
65574 /* 185524 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
65575 /* 185528 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65576 /* 185532 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65577 /* 185536 */ // (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] })
65578 /* 185536 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
65579 /* 185539 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
65580 /* 185543 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65581 /* 185548 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
65582 /* 185550 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
65583 /* 185553 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
65584 /* 185557 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65585 /* 185562 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
65586 /* 185565 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
65587 /* 185569 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
65588 /* 185572 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
65589 /* 185577 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65590 /* 185582 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
65591 /* 185587 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
65592 /* 185590 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
65593 /* 185594 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65594 /* 185599 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
65595 /* 185601 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
65596 /* 185604 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
65597 /* 185608 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65598 /* 185613 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
65599 /* 185616 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
65600 /* 185620 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
65601 /* 185623 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
65602 /* 185628 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65603 /* 185633 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
65604 /* 185638 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
65605 /* 185641 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrr),
65606 /* 185645 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65607 /* 185650 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
65608 /* 185653 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
65609 /* 185656 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
65610 /* 185658 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
65611 /* 185661 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65612 /* 185663 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
65613 /* 185670 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
65614 /* 185675 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65615 /* 185680 */ // GIR_Coverage, 20019,
65616 /* 185680 */ GIR_EraseRootFromParent_Done,
65617 /* 185681 */ // Label 4156: @185681
65618 /* 185681 */ GIM_Reject,
65619 /* 185682 */ // Label 4152: @185682
65620 /* 185682 */ GIM_Reject,
65621 /* 185683 */ // Label 4140: @185683
65622 /* 185683 */ GIM_Try, /*On fail goto*//*Label 4157*/ GIMT_Encode4(186024),
65623 /* 185688 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
65624 /* 185691 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
65625 /* 185694 */ GIM_Try, /*On fail goto*//*Label 4158*/ GIMT_Encode4(185756), // Rule ID 23585 //
65626 /* 185699 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
65627 /* 185702 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65628 /* 185706 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65629 /* 185710 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65630 /* 185714 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65631 /* 185717 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65632 /* 185721 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65633 /* 185725 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65634 /* 185729 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65635 /* 185731 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65636 /* 185738 */ // (smax:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMAXSDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65637 /* 185738 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDrm),
65638 /* 185741 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65639 /* 185743 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65640 /* 185745 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65641 /* 185749 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65642 /* 185754 */ GIR_RootConstrainSelectedInstOperands,
65643 /* 185755 */ // GIR_Coverage, 23585,
65644 /* 185755 */ GIR_EraseRootFromParent_Done,
65645 /* 185756 */ // Label 4158: @185756
65646 /* 185756 */ GIM_Try, /*On fail goto*//*Label 4159*/ GIMT_Encode4(185818), // Rule ID 24033 //
65647 /* 185761 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65648 /* 185764 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65649 /* 185768 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65650 /* 185772 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65651 /* 185776 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65652 /* 185779 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65653 /* 185783 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65654 /* 185787 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65655 /* 185791 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65656 /* 185793 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65657 /* 185800 */ // (smax:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMAXSDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65658 /* 185800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ128rm),
65659 /* 185803 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65660 /* 185805 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65661 /* 185807 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65662 /* 185811 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65663 /* 185816 */ GIR_RootConstrainSelectedInstOperands,
65664 /* 185817 */ // GIR_Coverage, 24033,
65665 /* 185817 */ GIR_EraseRootFromParent_Done,
65666 /* 185818 */ // Label 4159: @185818
65667 /* 185818 */ GIM_Try, /*On fail goto*//*Label 4160*/ GIMT_Encode4(185880), // Rule ID 3190 //
65668 /* 185823 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
65669 /* 185826 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65670 /* 185830 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65671 /* 185834 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65672 /* 185838 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65673 /* 185842 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65674 /* 185845 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65675 /* 185849 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65676 /* 185853 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65677 /* 185855 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65678 /* 185862 */ // (smax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65679 /* 185862 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDrm),
65680 /* 185865 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65681 /* 185867 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65682 /* 185869 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65683 /* 185873 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65684 /* 185878 */ GIR_RootConstrainSelectedInstOperands,
65685 /* 185879 */ // GIR_Coverage, 3190,
65686 /* 185879 */ GIR_EraseRootFromParent_Done,
65687 /* 185880 */ // Label 4160: @185880
65688 /* 185880 */ GIM_Try, /*On fail goto*//*Label 4161*/ GIMT_Encode4(185942), // Rule ID 5387 //
65689 /* 185885 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65690 /* 185888 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65691 /* 185892 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65692 /* 185896 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65693 /* 185900 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65694 /* 185904 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65695 /* 185907 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65696 /* 185911 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65697 /* 185915 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65698 /* 185917 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65699 /* 185924 */ // (smax:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65700 /* 185924 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ128rm),
65701 /* 185927 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65702 /* 185929 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65703 /* 185931 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65704 /* 185935 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65705 /* 185940 */ GIR_RootConstrainSelectedInstOperands,
65706 /* 185941 */ // GIR_Coverage, 5387,
65707 /* 185941 */ GIR_EraseRootFromParent_Done,
65708 /* 185942 */ // Label 4161: @185942
65709 /* 185942 */ GIM_Try, /*On fail goto*//*Label 4162*/ GIMT_Encode4(185969), // Rule ID 3189 //
65710 /* 185947 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
65711 /* 185950 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65712 /* 185954 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65713 /* 185958 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65714 /* 185962 */ // (smax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMAXSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
65715 /* 185962 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDrr),
65716 /* 185967 */ GIR_RootConstrainSelectedInstOperands,
65717 /* 185968 */ // GIR_Coverage, 3189,
65718 /* 185968 */ GIR_Done,
65719 /* 185969 */ // Label 4162: @185969
65720 /* 185969 */ GIM_Try, /*On fail goto*//*Label 4163*/ GIMT_Encode4(185996), // Rule ID 3231 //
65721 /* 185974 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
65722 /* 185977 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65723 /* 185981 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65724 /* 185985 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65725 /* 185989 */ // (smax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMAXSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
65726 /* 185989 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXSDrr),
65727 /* 185994 */ GIR_RootConstrainSelectedInstOperands,
65728 /* 185995 */ // GIR_Coverage, 3231,
65729 /* 185995 */ GIR_Done,
65730 /* 185996 */ // Label 4163: @185996
65731 /* 185996 */ GIM_Try, /*On fail goto*//*Label 4164*/ GIMT_Encode4(186023), // Rule ID 5384 //
65732 /* 186001 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65733 /* 186004 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65734 /* 186008 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65735 /* 186012 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65736 /* 186016 */ // (smax:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMAXSDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
65737 /* 186016 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ128rr),
65738 /* 186021 */ GIR_RootConstrainSelectedInstOperands,
65739 /* 186022 */ // GIR_Coverage, 5384,
65740 /* 186022 */ GIR_Done,
65741 /* 186023 */ // Label 4164: @186023
65742 /* 186023 */ GIM_Reject,
65743 /* 186024 */ // Label 4157: @186024
65744 /* 186024 */ GIM_Reject,
65745 /* 186025 */ // Label 4141: @186025
65746 /* 186025 */ GIM_Try, /*On fail goto*//*Label 4165*/ GIMT_Encode4(186341),
65747 /* 186030 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
65748 /* 186033 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
65749 /* 186036 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65750 /* 186040 */ GIM_Try, /*On fail goto*//*Label 4166*/ GIMT_Encode4(186098), // Rule ID 24045 //
65751 /* 186045 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65752 /* 186048 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65753 /* 186052 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65754 /* 186056 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65755 /* 186059 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65756 /* 186063 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65757 /* 186067 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65758 /* 186071 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65759 /* 186073 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65760 /* 186080 */ // (smax:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMAXSQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65761 /* 186080 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ256rm),
65762 /* 186083 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65763 /* 186085 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65764 /* 186087 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65765 /* 186091 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65766 /* 186096 */ GIR_RootConstrainSelectedInstOperands,
65767 /* 186097 */ // GIR_Coverage, 24045,
65768 /* 186097 */ GIR_EraseRootFromParent_Done,
65769 /* 186098 */ // Label 4166: @186098
65770 /* 186098 */ GIM_Try, /*On fail goto*//*Label 4167*/ GIMT_Encode4(186156), // Rule ID 5405 //
65771 /* 186103 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65772 /* 186106 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65773 /* 186110 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65774 /* 186114 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65775 /* 186118 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65776 /* 186121 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65777 /* 186125 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65778 /* 186129 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65779 /* 186131 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65780 /* 186138 */ // (smax:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65781 /* 186138 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ256rm),
65782 /* 186141 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65783 /* 186143 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65784 /* 186145 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65785 /* 186149 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65786 /* 186154 */ GIR_RootConstrainSelectedInstOperands,
65787 /* 186155 */ // GIR_Coverage, 5405,
65788 /* 186155 */ GIR_EraseRootFromParent_Done,
65789 /* 186156 */ // Label 4167: @186156
65790 /* 186156 */ GIM_Try, /*On fail goto*//*Label 4168*/ GIMT_Encode4(186179), // Rule ID 5402 //
65791 /* 186161 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65792 /* 186164 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65793 /* 186168 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65794 /* 186172 */ // (smax:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMAXSQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
65795 /* 186172 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ256rr),
65796 /* 186177 */ GIR_RootConstrainSelectedInstOperands,
65797 /* 186178 */ // GIR_Coverage, 5402,
65798 /* 186178 */ GIR_Done,
65799 /* 186179 */ // Label 4168: @186179
65800 /* 186179 */ GIM_Try, /*On fail goto*//*Label 4169*/ GIMT_Encode4(186340), // Rule ID 20017 //
65801 /* 186184 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
65802 /* 186187 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65803 /* 186191 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65804 /* 186195 */ // (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] })
65805 /* 186195 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
65806 /* 186198 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
65807 /* 186202 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65808 /* 186207 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
65809 /* 186209 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
65810 /* 186212 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
65811 /* 186216 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65812 /* 186221 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
65813 /* 186224 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
65814 /* 186228 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
65815 /* 186231 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
65816 /* 186236 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65817 /* 186241 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
65818 /* 186246 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
65819 /* 186249 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
65820 /* 186253 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65821 /* 186258 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
65822 /* 186260 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
65823 /* 186263 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
65824 /* 186267 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65825 /* 186272 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
65826 /* 186275 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
65827 /* 186279 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
65828 /* 186282 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
65829 /* 186287 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65830 /* 186292 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
65831 /* 186297 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
65832 /* 186300 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrr),
65833 /* 186304 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65834 /* 186309 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
65835 /* 186312 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
65836 /* 186315 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
65837 /* 186317 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
65838 /* 186320 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65839 /* 186322 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
65840 /* 186329 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
65841 /* 186334 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65842 /* 186339 */ // GIR_Coverage, 20017,
65843 /* 186339 */ GIR_EraseRootFromParent_Done,
65844 /* 186340 */ // Label 4169: @186340
65845 /* 186340 */ GIM_Reject,
65846 /* 186341 */ // Label 4165: @186341
65847 /* 186341 */ GIM_Reject,
65848 /* 186342 */ // Label 4142: @186342
65849 /* 186342 */ GIM_Try, /*On fail goto*//*Label 4170*/ GIMT_Encode4(186683),
65850 /* 186347 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
65851 /* 186350 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
65852 /* 186353 */ GIM_Try, /*On fail goto*//*Label 4171*/ GIMT_Encode4(186415), // Rule ID 23553 //
65853 /* 186358 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
65854 /* 186361 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65855 /* 186365 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65856 /* 186369 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65857 /* 186373 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65858 /* 186376 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65859 /* 186380 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65860 /* 186384 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65861 /* 186388 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65862 /* 186390 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65863 /* 186397 */ // (smax:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMAXSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65864 /* 186397 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWrm),
65865 /* 186400 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65866 /* 186402 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65867 /* 186404 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65868 /* 186408 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65869 /* 186413 */ GIR_RootConstrainSelectedInstOperands,
65870 /* 186414 */ // GIR_Coverage, 23553,
65871 /* 186414 */ GIR_EraseRootFromParent_Done,
65872 /* 186415 */ // Label 4171: @186415
65873 /* 186415 */ GIM_Try, /*On fail goto*//*Label 4172*/ GIMT_Encode4(186477), // Rule ID 24018 //
65874 /* 186420 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65875 /* 186423 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65876 /* 186427 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65877 /* 186431 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65878 /* 186435 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65879 /* 186438 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65880 /* 186442 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65881 /* 186446 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65882 /* 186450 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65883 /* 186452 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65884 /* 186459 */ // (smax:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMAXSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65885 /* 186459 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ128rm),
65886 /* 186462 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65887 /* 186464 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65888 /* 186466 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65889 /* 186470 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65890 /* 186475 */ GIR_RootConstrainSelectedInstOperands,
65891 /* 186476 */ // GIR_Coverage, 24018,
65892 /* 186476 */ GIR_EraseRootFromParent_Done,
65893 /* 186477 */ // Label 4172: @186477
65894 /* 186477 */ GIM_Try, /*On fail goto*//*Label 4173*/ GIMT_Encode4(186539), // Rule ID 2655 //
65895 /* 186482 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
65896 /* 186485 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65897 /* 186489 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65898 /* 186493 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65899 /* 186497 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65900 /* 186501 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65901 /* 186504 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65902 /* 186508 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65903 /* 186512 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65904 /* 186514 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65905 /* 186521 */ // (smax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65906 /* 186521 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWrm),
65907 /* 186524 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65908 /* 186526 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65909 /* 186528 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65910 /* 186532 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65911 /* 186537 */ GIR_RootConstrainSelectedInstOperands,
65912 /* 186538 */ // GIR_Coverage, 2655,
65913 /* 186538 */ GIR_EraseRootFromParent_Done,
65914 /* 186539 */ // Label 4173: @186539
65915 /* 186539 */ GIM_Try, /*On fail goto*//*Label 4174*/ GIMT_Encode4(186601), // Rule ID 5363 //
65916 /* 186544 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65917 /* 186547 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65918 /* 186551 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65919 /* 186555 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65920 /* 186559 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65921 /* 186563 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65922 /* 186566 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65923 /* 186570 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65924 /* 186574 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65925 /* 186576 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65926 /* 186583 */ // (smax:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65927 /* 186583 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ128rm),
65928 /* 186586 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65929 /* 186588 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65930 /* 186590 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65931 /* 186594 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65932 /* 186599 */ GIR_RootConstrainSelectedInstOperands,
65933 /* 186600 */ // GIR_Coverage, 5363,
65934 /* 186600 */ GIR_EraseRootFromParent_Done,
65935 /* 186601 */ // Label 4174: @186601
65936 /* 186601 */ GIM_Try, /*On fail goto*//*Label 4175*/ GIMT_Encode4(186628), // Rule ID 2654 //
65937 /* 186606 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
65938 /* 186609 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65939 /* 186613 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65940 /* 186617 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65941 /* 186621 */ // (smax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMAXSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
65942 /* 186621 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWrr),
65943 /* 186626 */ GIR_RootConstrainSelectedInstOperands,
65944 /* 186627 */ // GIR_Coverage, 2654,
65945 /* 186627 */ GIR_Done,
65946 /* 186628 */ // Label 4175: @186628
65947 /* 186628 */ GIM_Try, /*On fail goto*//*Label 4176*/ GIMT_Encode4(186655), // Rule ID 2656 //
65948 /* 186633 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
65949 /* 186636 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65950 /* 186640 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65951 /* 186644 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65952 /* 186648 */ // (smax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMAXSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
65953 /* 186648 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXSWrr),
65954 /* 186653 */ GIR_RootConstrainSelectedInstOperands,
65955 /* 186654 */ // GIR_Coverage, 2656,
65956 /* 186654 */ GIR_Done,
65957 /* 186655 */ // Label 4176: @186655
65958 /* 186655 */ GIM_Try, /*On fail goto*//*Label 4177*/ GIMT_Encode4(186682), // Rule ID 5360 //
65959 /* 186660 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65960 /* 186663 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65961 /* 186667 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65962 /* 186671 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65963 /* 186675 */ // (smax:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMAXSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
65964 /* 186675 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ128rr),
65965 /* 186680 */ GIR_RootConstrainSelectedInstOperands,
65966 /* 186681 */ // GIR_Coverage, 5360,
65967 /* 186681 */ GIR_Done,
65968 /* 186682 */ // Label 4177: @186682
65969 /* 186682 */ GIM_Reject,
65970 /* 186683 */ // Label 4170: @186683
65971 /* 186683 */ GIM_Reject,
65972 /* 186684 */ // Label 4143: @186684
65973 /* 186684 */ GIM_Try, /*On fail goto*//*Label 4178*/ GIMT_Encode4(186998),
65974 /* 186689 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
65975 /* 186692 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
65976 /* 186695 */ GIM_Try, /*On fail goto*//*Label 4179*/ GIMT_Encode4(186757), // Rule ID 23594 //
65977 /* 186700 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
65978 /* 186703 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65979 /* 186707 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65980 /* 186711 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65981 /* 186715 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65982 /* 186718 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65983 /* 186722 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65984 /* 186726 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65985 /* 186730 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65986 /* 186732 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65987 /* 186739 */ // (smax:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMAXSDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65988 /* 186739 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDYrm),
65989 /* 186742 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65990 /* 186744 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65991 /* 186746 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65992 /* 186750 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65993 /* 186755 */ GIR_RootConstrainSelectedInstOperands,
65994 /* 186756 */ // GIR_Coverage, 23594,
65995 /* 186756 */ GIR_EraseRootFromParent_Done,
65996 /* 186757 */ // Label 4179: @186757
65997 /* 186757 */ GIM_Try, /*On fail goto*//*Label 4180*/ GIMT_Encode4(186819), // Rule ID 24027 //
65998 /* 186762 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65999 /* 186765 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66000 /* 186769 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66001 /* 186773 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66002 /* 186777 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66003 /* 186780 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66004 /* 186784 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66005 /* 186788 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66006 /* 186792 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66007 /* 186794 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66008 /* 186801 */ // (smax:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMAXSDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66009 /* 186801 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ256rm),
66010 /* 186804 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66011 /* 186806 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66012 /* 186808 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66013 /* 186812 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66014 /* 186817 */ GIR_RootConstrainSelectedInstOperands,
66015 /* 186818 */ // GIR_Coverage, 24027,
66016 /* 186818 */ GIR_EraseRootFromParent_Done,
66017 /* 186819 */ // Label 4180: @186819
66018 /* 186819 */ GIM_Try, /*On fail goto*//*Label 4181*/ GIMT_Encode4(186881), // Rule ID 3208 //
66019 /* 186824 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
66020 /* 186827 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66021 /* 186831 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66022 /* 186835 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66023 /* 186839 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66024 /* 186843 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66025 /* 186846 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66026 /* 186850 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66027 /* 186854 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66028 /* 186856 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66029 /* 186863 */ // (smax:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66030 /* 186863 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDYrm),
66031 /* 186866 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66032 /* 186868 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66033 /* 186870 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66034 /* 186874 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66035 /* 186879 */ GIR_RootConstrainSelectedInstOperands,
66036 /* 186880 */ // GIR_Coverage, 3208,
66037 /* 186880 */ GIR_EraseRootFromParent_Done,
66038 /* 186881 */ // Label 4181: @186881
66039 /* 186881 */ GIM_Try, /*On fail goto*//*Label 4182*/ GIMT_Encode4(186943), // Rule ID 5378 //
66040 /* 186886 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66041 /* 186889 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66042 /* 186893 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66043 /* 186897 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66044 /* 186901 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66045 /* 186905 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66046 /* 186908 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66047 /* 186912 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66048 /* 186916 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66049 /* 186918 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66050 /* 186925 */ // (smax:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66051 /* 186925 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ256rm),
66052 /* 186928 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66053 /* 186930 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66054 /* 186932 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66055 /* 186936 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66056 /* 186941 */ GIR_RootConstrainSelectedInstOperands,
66057 /* 186942 */ // GIR_Coverage, 5378,
66058 /* 186942 */ GIR_EraseRootFromParent_Done,
66059 /* 186943 */ // Label 4182: @186943
66060 /* 186943 */ GIM_Try, /*On fail goto*//*Label 4183*/ GIMT_Encode4(186970), // Rule ID 3207 //
66061 /* 186948 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
66062 /* 186951 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66063 /* 186955 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66064 /* 186959 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66065 /* 186963 */ // (smax:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMAXSDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
66066 /* 186963 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDYrr),
66067 /* 186968 */ GIR_RootConstrainSelectedInstOperands,
66068 /* 186969 */ // GIR_Coverage, 3207,
66069 /* 186969 */ GIR_Done,
66070 /* 186970 */ // Label 4183: @186970
66071 /* 186970 */ GIM_Try, /*On fail goto*//*Label 4184*/ GIMT_Encode4(186997), // Rule ID 5375 //
66072 /* 186975 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66073 /* 186978 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66074 /* 186982 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66075 /* 186986 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66076 /* 186990 */ // (smax:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMAXSDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
66077 /* 186990 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ256rr),
66078 /* 186995 */ GIR_RootConstrainSelectedInstOperands,
66079 /* 186996 */ // GIR_Coverage, 5375,
66080 /* 186996 */ GIR_Done,
66081 /* 186997 */ // Label 4184: @186997
66082 /* 186997 */ GIM_Reject,
66083 /* 186998 */ // Label 4178: @186998
66084 /* 186998 */ GIM_Reject,
66085 /* 186999 */ // Label 4144: @186999
66086 /* 186999 */ GIM_Try, /*On fail goto*//*Label 4185*/ GIMT_Encode4(187154),
66087 /* 187004 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
66088 /* 187007 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
66089 /* 187010 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66090 /* 187014 */ GIM_Try, /*On fail goto*//*Label 4186*/ GIMT_Encode4(187072), // Rule ID 24039 //
66091 /* 187019 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
66092 /* 187022 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66093 /* 187026 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66094 /* 187030 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66095 /* 187033 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66096 /* 187037 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66097 /* 187041 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66098 /* 187045 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66099 /* 187047 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66100 /* 187054 */ // (smax:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMAXSQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66101 /* 187054 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrm),
66102 /* 187057 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66103 /* 187059 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66104 /* 187061 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66105 /* 187065 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66106 /* 187070 */ GIR_RootConstrainSelectedInstOperands,
66107 /* 187071 */ // GIR_Coverage, 24039,
66108 /* 187071 */ GIR_EraseRootFromParent_Done,
66109 /* 187072 */ // Label 4186: @187072
66110 /* 187072 */ GIM_Try, /*On fail goto*//*Label 4187*/ GIMT_Encode4(187130), // Rule ID 5396 //
66111 /* 187077 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
66112 /* 187080 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66113 /* 187084 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66114 /* 187088 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66115 /* 187092 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66116 /* 187095 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66117 /* 187099 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66118 /* 187103 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66119 /* 187105 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66120 /* 187112 */ // (smax:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66121 /* 187112 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrm),
66122 /* 187115 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66123 /* 187117 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66124 /* 187119 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66125 /* 187123 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66126 /* 187128 */ GIR_RootConstrainSelectedInstOperands,
66127 /* 187129 */ // GIR_Coverage, 5396,
66128 /* 187129 */ GIR_EraseRootFromParent_Done,
66129 /* 187130 */ // Label 4187: @187130
66130 /* 187130 */ GIM_Try, /*On fail goto*//*Label 4188*/ GIMT_Encode4(187153), // Rule ID 5393 //
66131 /* 187135 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
66132 /* 187138 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66133 /* 187142 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66134 /* 187146 */ // (smax:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMAXSQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
66135 /* 187146 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrr),
66136 /* 187151 */ GIR_RootConstrainSelectedInstOperands,
66137 /* 187152 */ // GIR_Coverage, 5393,
66138 /* 187152 */ GIR_Done,
66139 /* 187153 */ // Label 4188: @187153
66140 /* 187153 */ GIM_Reject,
66141 /* 187154 */ // Label 4185: @187154
66142 /* 187154 */ GIM_Reject,
66143 /* 187155 */ // Label 4145: @187155
66144 /* 187155 */ GIM_Try, /*On fail goto*//*Label 4189*/ GIMT_Encode4(187496),
66145 /* 187160 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
66146 /* 187163 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
66147 /* 187166 */ GIM_Try, /*On fail goto*//*Label 4190*/ GIMT_Encode4(187228), // Rule ID 23590 //
66148 /* 187171 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
66149 /* 187174 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66150 /* 187178 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66151 /* 187182 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66152 /* 187186 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66153 /* 187189 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66154 /* 187193 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66155 /* 187197 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66156 /* 187201 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66157 /* 187203 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66158 /* 187210 */ // (smax:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPMAXSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66159 /* 187210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBrm),
66160 /* 187213 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66161 /* 187215 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66162 /* 187217 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66163 /* 187221 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66164 /* 187226 */ GIR_RootConstrainSelectedInstOperands,
66165 /* 187227 */ // GIR_Coverage, 23590,
66166 /* 187227 */ GIR_EraseRootFromParent_Done,
66167 /* 187228 */ // Label 4190: @187228
66168 /* 187228 */ GIM_Try, /*On fail goto*//*Label 4191*/ GIMT_Encode4(187290), // Rule ID 24009 //
66169 /* 187233 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66170 /* 187236 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66171 /* 187240 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66172 /* 187244 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66173 /* 187248 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66174 /* 187251 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66175 /* 187255 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66176 /* 187259 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66177 /* 187263 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66178 /* 187265 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66179 /* 187272 */ // (smax:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPMAXSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66180 /* 187272 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ128rm),
66181 /* 187275 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66182 /* 187277 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66183 /* 187279 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66184 /* 187283 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66185 /* 187288 */ GIR_RootConstrainSelectedInstOperands,
66186 /* 187289 */ // GIR_Coverage, 24009,
66187 /* 187289 */ GIR_EraseRootFromParent_Done,
66188 /* 187290 */ // Label 4191: @187290
66189 /* 187290 */ GIM_Try, /*On fail goto*//*Label 4192*/ GIMT_Encode4(187352), // Rule ID 3200 //
66190 /* 187295 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
66191 /* 187298 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66192 /* 187302 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66193 /* 187306 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66194 /* 187310 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66195 /* 187314 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66196 /* 187317 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66197 /* 187321 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66198 /* 187325 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66199 /* 187327 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66200 /* 187334 */ // (smax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66201 /* 187334 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBrm),
66202 /* 187337 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66203 /* 187339 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66204 /* 187341 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66205 /* 187345 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66206 /* 187350 */ GIR_RootConstrainSelectedInstOperands,
66207 /* 187351 */ // GIR_Coverage, 3200,
66208 /* 187351 */ GIR_EraseRootFromParent_Done,
66209 /* 187352 */ // Label 4192: @187352
66210 /* 187352 */ GIM_Try, /*On fail goto*//*Label 4193*/ GIMT_Encode4(187414), // Rule ID 5345 //
66211 /* 187357 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66212 /* 187360 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66213 /* 187364 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66214 /* 187368 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66215 /* 187372 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66216 /* 187376 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66217 /* 187379 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66218 /* 187383 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66219 /* 187387 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66220 /* 187389 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66221 /* 187396 */ // (smax:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66222 /* 187396 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ128rm),
66223 /* 187399 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66224 /* 187401 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66225 /* 187403 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66226 /* 187407 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66227 /* 187412 */ GIR_RootConstrainSelectedInstOperands,
66228 /* 187413 */ // GIR_Coverage, 5345,
66229 /* 187413 */ GIR_EraseRootFromParent_Done,
66230 /* 187414 */ // Label 4193: @187414
66231 /* 187414 */ GIM_Try, /*On fail goto*//*Label 4194*/ GIMT_Encode4(187441), // Rule ID 3199 //
66232 /* 187419 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
66233 /* 187422 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66234 /* 187426 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66235 /* 187430 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66236 /* 187434 */ // (smax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPMAXSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
66237 /* 187434 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBrr),
66238 /* 187439 */ GIR_RootConstrainSelectedInstOperands,
66239 /* 187440 */ // GIR_Coverage, 3199,
66240 /* 187440 */ GIR_Done,
66241 /* 187441 */ // Label 4194: @187441
66242 /* 187441 */ GIM_Try, /*On fail goto*//*Label 4195*/ GIMT_Encode4(187468), // Rule ID 3229 //
66243 /* 187446 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
66244 /* 187449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66245 /* 187453 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66246 /* 187457 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66247 /* 187461 */ // (smax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PMAXSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
66248 /* 187461 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXSBrr),
66249 /* 187466 */ GIR_RootConstrainSelectedInstOperands,
66250 /* 187467 */ // GIR_Coverage, 3229,
66251 /* 187467 */ GIR_Done,
66252 /* 187468 */ // Label 4195: @187468
66253 /* 187468 */ GIM_Try, /*On fail goto*//*Label 4196*/ GIMT_Encode4(187495), // Rule ID 5342 //
66254 /* 187473 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66255 /* 187476 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66256 /* 187480 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66257 /* 187484 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66258 /* 187488 */ // (smax:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPMAXSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
66259 /* 187488 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ128rr),
66260 /* 187493 */ GIR_RootConstrainSelectedInstOperands,
66261 /* 187494 */ // GIR_Coverage, 5342,
66262 /* 187494 */ GIR_Done,
66263 /* 187495 */ // Label 4196: @187495
66264 /* 187495 */ GIM_Reject,
66265 /* 187496 */ // Label 4189: @187496
66266 /* 187496 */ GIM_Reject,
66267 /* 187497 */ // Label 4146: @187497
66268 /* 187497 */ GIM_Try, /*On fail goto*//*Label 4197*/ GIMT_Encode4(187811),
66269 /* 187502 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
66270 /* 187505 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
66271 /* 187508 */ GIM_Try, /*On fail goto*//*Label 4198*/ GIMT_Encode4(187570), // Rule ID 23555 //
66272 /* 187513 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
66273 /* 187516 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66274 /* 187520 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66275 /* 187524 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66276 /* 187528 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66277 /* 187531 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66278 /* 187535 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66279 /* 187539 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66280 /* 187543 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66281 /* 187545 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66282 /* 187552 */ // (smax:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMAXSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66283 /* 187552 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWYrm),
66284 /* 187555 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66285 /* 187557 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66286 /* 187559 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66287 /* 187563 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66288 /* 187568 */ GIR_RootConstrainSelectedInstOperands,
66289 /* 187569 */ // GIR_Coverage, 23555,
66290 /* 187569 */ GIR_EraseRootFromParent_Done,
66291 /* 187570 */ // Label 4198: @187570
66292 /* 187570 */ GIM_Try, /*On fail goto*//*Label 4199*/ GIMT_Encode4(187632), // Rule ID 24015 //
66293 /* 187575 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66294 /* 187578 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66295 /* 187582 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66296 /* 187586 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66297 /* 187590 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66298 /* 187593 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66299 /* 187597 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66300 /* 187601 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66301 /* 187605 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66302 /* 187607 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66303 /* 187614 */ // (smax:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMAXSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66304 /* 187614 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ256rm),
66305 /* 187617 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66306 /* 187619 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66307 /* 187621 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66308 /* 187625 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66309 /* 187630 */ GIR_RootConstrainSelectedInstOperands,
66310 /* 187631 */ // GIR_Coverage, 24015,
66311 /* 187631 */ GIR_EraseRootFromParent_Done,
66312 /* 187632 */ // Label 4199: @187632
66313 /* 187632 */ GIM_Try, /*On fail goto*//*Label 4200*/ GIMT_Encode4(187694), // Rule ID 2659 //
66314 /* 187637 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
66315 /* 187640 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66316 /* 187644 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66317 /* 187648 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66318 /* 187652 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66319 /* 187656 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66320 /* 187659 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66321 /* 187663 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66322 /* 187667 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66323 /* 187669 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66324 /* 187676 */ // (smax:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66325 /* 187676 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWYrm),
66326 /* 187679 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66327 /* 187681 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66328 /* 187683 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66329 /* 187687 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66330 /* 187692 */ GIR_RootConstrainSelectedInstOperands,
66331 /* 187693 */ // GIR_Coverage, 2659,
66332 /* 187693 */ GIR_EraseRootFromParent_Done,
66333 /* 187694 */ // Label 4200: @187694
66334 /* 187694 */ GIM_Try, /*On fail goto*//*Label 4201*/ GIMT_Encode4(187756), // Rule ID 5357 //
66335 /* 187699 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66336 /* 187702 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66337 /* 187706 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66338 /* 187710 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66339 /* 187714 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66340 /* 187718 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66341 /* 187721 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66342 /* 187725 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66343 /* 187729 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66344 /* 187731 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66345 /* 187738 */ // (smax:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66346 /* 187738 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ256rm),
66347 /* 187741 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66348 /* 187743 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66349 /* 187745 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66350 /* 187749 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66351 /* 187754 */ GIR_RootConstrainSelectedInstOperands,
66352 /* 187755 */ // GIR_Coverage, 5357,
66353 /* 187755 */ GIR_EraseRootFromParent_Done,
66354 /* 187756 */ // Label 4201: @187756
66355 /* 187756 */ GIM_Try, /*On fail goto*//*Label 4202*/ GIMT_Encode4(187783), // Rule ID 2658 //
66356 /* 187761 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
66357 /* 187764 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66358 /* 187768 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66359 /* 187772 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66360 /* 187776 */ // (smax:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMAXSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
66361 /* 187776 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWYrr),
66362 /* 187781 */ GIR_RootConstrainSelectedInstOperands,
66363 /* 187782 */ // GIR_Coverage, 2658,
66364 /* 187782 */ GIR_Done,
66365 /* 187783 */ // Label 4202: @187783
66366 /* 187783 */ GIM_Try, /*On fail goto*//*Label 4203*/ GIMT_Encode4(187810), // Rule ID 5354 //
66367 /* 187788 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66368 /* 187791 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66369 /* 187795 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66370 /* 187799 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66371 /* 187803 */ // (smax:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMAXSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
66372 /* 187803 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ256rr),
66373 /* 187808 */ GIR_RootConstrainSelectedInstOperands,
66374 /* 187809 */ // GIR_Coverage, 5354,
66375 /* 187809 */ GIR_Done,
66376 /* 187810 */ // Label 4203: @187810
66377 /* 187810 */ GIM_Reject,
66378 /* 187811 */ // Label 4197: @187811
66379 /* 187811 */ GIM_Reject,
66380 /* 187812 */ // Label 4147: @187812
66381 /* 187812 */ GIM_Try, /*On fail goto*//*Label 4204*/ GIMT_Encode4(187967),
66382 /* 187817 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
66383 /* 187820 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
66384 /* 187823 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66385 /* 187827 */ GIM_Try, /*On fail goto*//*Label 4205*/ GIMT_Encode4(187885), // Rule ID 24021 //
66386 /* 187832 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
66387 /* 187835 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66388 /* 187839 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66389 /* 187843 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66390 /* 187846 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66391 /* 187850 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66392 /* 187854 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66393 /* 187858 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66394 /* 187860 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66395 /* 187867 */ // (smax:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMAXSDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66396 /* 187867 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZrm),
66397 /* 187870 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66398 /* 187872 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66399 /* 187874 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66400 /* 187878 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66401 /* 187883 */ GIR_RootConstrainSelectedInstOperands,
66402 /* 187884 */ // GIR_Coverage, 24021,
66403 /* 187884 */ GIR_EraseRootFromParent_Done,
66404 /* 187885 */ // Label 4205: @187885
66405 /* 187885 */ GIM_Try, /*On fail goto*//*Label 4206*/ GIMT_Encode4(187943), // Rule ID 5369 //
66406 /* 187890 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
66407 /* 187893 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66408 /* 187897 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66409 /* 187901 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66410 /* 187905 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66411 /* 187908 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66412 /* 187912 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66413 /* 187916 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66414 /* 187918 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66415 /* 187925 */ // (smax:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66416 /* 187925 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZrm),
66417 /* 187928 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66418 /* 187930 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66419 /* 187932 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66420 /* 187936 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66421 /* 187941 */ GIR_RootConstrainSelectedInstOperands,
66422 /* 187942 */ // GIR_Coverage, 5369,
66423 /* 187942 */ GIR_EraseRootFromParent_Done,
66424 /* 187943 */ // Label 4206: @187943
66425 /* 187943 */ GIM_Try, /*On fail goto*//*Label 4207*/ GIMT_Encode4(187966), // Rule ID 5366 //
66426 /* 187948 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
66427 /* 187951 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66428 /* 187955 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66429 /* 187959 */ // (smax:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMAXSDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
66430 /* 187959 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZrr),
66431 /* 187964 */ GIR_RootConstrainSelectedInstOperands,
66432 /* 187965 */ // GIR_Coverage, 5366,
66433 /* 187965 */ GIR_Done,
66434 /* 187966 */ // Label 4207: @187966
66435 /* 187966 */ GIM_Reject,
66436 /* 187967 */ // Label 4204: @187967
66437 /* 187967 */ GIM_Reject,
66438 /* 187968 */ // Label 4148: @187968
66439 /* 187968 */ GIM_Try, /*On fail goto*//*Label 4208*/ GIMT_Encode4(188282),
66440 /* 187973 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
66441 /* 187976 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
66442 /* 187979 */ GIM_Try, /*On fail goto*//*Label 4209*/ GIMT_Encode4(188041), // Rule ID 23599 //
66443 /* 187984 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
66444 /* 187987 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66445 /* 187991 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66446 /* 187995 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66447 /* 187999 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66448 /* 188002 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66449 /* 188006 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66450 /* 188010 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66451 /* 188014 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66452 /* 188016 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66453 /* 188023 */ // (smax:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPMAXSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66454 /* 188023 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBYrm),
66455 /* 188026 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66456 /* 188028 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66457 /* 188030 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66458 /* 188034 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66459 /* 188039 */ GIR_RootConstrainSelectedInstOperands,
66460 /* 188040 */ // GIR_Coverage, 23599,
66461 /* 188040 */ GIR_EraseRootFromParent_Done,
66462 /* 188041 */ // Label 4209: @188041
66463 /* 188041 */ GIM_Try, /*On fail goto*//*Label 4210*/ GIMT_Encode4(188103), // Rule ID 24006 //
66464 /* 188046 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66465 /* 188049 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66466 /* 188053 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66467 /* 188057 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66468 /* 188061 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66469 /* 188064 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66470 /* 188068 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66471 /* 188072 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66472 /* 188076 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66473 /* 188078 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66474 /* 188085 */ // (smax:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPMAXSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66475 /* 188085 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ256rm),
66476 /* 188088 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66477 /* 188090 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66478 /* 188092 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66479 /* 188096 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66480 /* 188101 */ GIR_RootConstrainSelectedInstOperands,
66481 /* 188102 */ // GIR_Coverage, 24006,
66482 /* 188102 */ GIR_EraseRootFromParent_Done,
66483 /* 188103 */ // Label 4210: @188103
66484 /* 188103 */ GIM_Try, /*On fail goto*//*Label 4211*/ GIMT_Encode4(188165), // Rule ID 3218 //
66485 /* 188108 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
66486 /* 188111 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66487 /* 188115 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66488 /* 188119 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66489 /* 188123 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66490 /* 188127 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66491 /* 188130 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66492 /* 188134 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66493 /* 188138 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66494 /* 188140 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66495 /* 188147 */ // (smax:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66496 /* 188147 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBYrm),
66497 /* 188150 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66498 /* 188152 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66499 /* 188154 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66500 /* 188158 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66501 /* 188163 */ GIR_RootConstrainSelectedInstOperands,
66502 /* 188164 */ // GIR_Coverage, 3218,
66503 /* 188164 */ GIR_EraseRootFromParent_Done,
66504 /* 188165 */ // Label 4211: @188165
66505 /* 188165 */ GIM_Try, /*On fail goto*//*Label 4212*/ GIMT_Encode4(188227), // Rule ID 5339 //
66506 /* 188170 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66507 /* 188173 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66508 /* 188177 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66509 /* 188181 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66510 /* 188185 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66511 /* 188189 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66512 /* 188192 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66513 /* 188196 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66514 /* 188200 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66515 /* 188202 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66516 /* 188209 */ // (smax:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66517 /* 188209 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ256rm),
66518 /* 188212 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66519 /* 188214 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66520 /* 188216 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66521 /* 188220 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66522 /* 188225 */ GIR_RootConstrainSelectedInstOperands,
66523 /* 188226 */ // GIR_Coverage, 5339,
66524 /* 188226 */ GIR_EraseRootFromParent_Done,
66525 /* 188227 */ // Label 4212: @188227
66526 /* 188227 */ GIM_Try, /*On fail goto*//*Label 4213*/ GIMT_Encode4(188254), // Rule ID 3217 //
66527 /* 188232 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
66528 /* 188235 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66529 /* 188239 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66530 /* 188243 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66531 /* 188247 */ // (smax:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPMAXSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
66532 /* 188247 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBYrr),
66533 /* 188252 */ GIR_RootConstrainSelectedInstOperands,
66534 /* 188253 */ // GIR_Coverage, 3217,
66535 /* 188253 */ GIR_Done,
66536 /* 188254 */ // Label 4213: @188254
66537 /* 188254 */ GIM_Try, /*On fail goto*//*Label 4214*/ GIMT_Encode4(188281), // Rule ID 5336 //
66538 /* 188259 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66539 /* 188262 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66540 /* 188266 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66541 /* 188270 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66542 /* 188274 */ // (smax:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPMAXSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
66543 /* 188274 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ256rr),
66544 /* 188279 */ GIR_RootConstrainSelectedInstOperands,
66545 /* 188280 */ // GIR_Coverage, 5336,
66546 /* 188280 */ GIR_Done,
66547 /* 188281 */ // Label 4214: @188281
66548 /* 188281 */ GIM_Reject,
66549 /* 188282 */ // Label 4208: @188282
66550 /* 188282 */ GIM_Reject,
66551 /* 188283 */ // Label 4149: @188283
66552 /* 188283 */ GIM_Try, /*On fail goto*//*Label 4215*/ GIMT_Encode4(188438),
66553 /* 188288 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
66554 /* 188291 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
66555 /* 188294 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66556 /* 188298 */ GIM_Try, /*On fail goto*//*Label 4216*/ GIMT_Encode4(188356), // Rule ID 24012 //
66557 /* 188303 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
66558 /* 188306 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66559 /* 188310 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66560 /* 188314 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66561 /* 188317 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66562 /* 188321 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66563 /* 188325 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66564 /* 188329 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66565 /* 188331 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66566 /* 188338 */ // (smax:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMAXSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66567 /* 188338 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZrm),
66568 /* 188341 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66569 /* 188343 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66570 /* 188345 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66571 /* 188349 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66572 /* 188354 */ GIR_RootConstrainSelectedInstOperands,
66573 /* 188355 */ // GIR_Coverage, 24012,
66574 /* 188355 */ GIR_EraseRootFromParent_Done,
66575 /* 188356 */ // Label 4216: @188356
66576 /* 188356 */ GIM_Try, /*On fail goto*//*Label 4217*/ GIMT_Encode4(188414), // Rule ID 5351 //
66577 /* 188361 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
66578 /* 188364 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66579 /* 188368 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66580 /* 188372 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66581 /* 188376 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66582 /* 188379 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66583 /* 188383 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66584 /* 188387 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66585 /* 188389 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66586 /* 188396 */ // (smax:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66587 /* 188396 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZrm),
66588 /* 188399 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66589 /* 188401 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66590 /* 188403 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66591 /* 188407 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66592 /* 188412 */ GIR_RootConstrainSelectedInstOperands,
66593 /* 188413 */ // GIR_Coverage, 5351,
66594 /* 188413 */ GIR_EraseRootFromParent_Done,
66595 /* 188414 */ // Label 4217: @188414
66596 /* 188414 */ GIM_Try, /*On fail goto*//*Label 4218*/ GIMT_Encode4(188437), // Rule ID 5348 //
66597 /* 188419 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
66598 /* 188422 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66599 /* 188426 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66600 /* 188430 */ // (smax:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMAXSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
66601 /* 188430 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZrr),
66602 /* 188435 */ GIR_RootConstrainSelectedInstOperands,
66603 /* 188436 */ // GIR_Coverage, 5348,
66604 /* 188436 */ GIR_Done,
66605 /* 188437 */ // Label 4218: @188437
66606 /* 188437 */ GIM_Reject,
66607 /* 188438 */ // Label 4215: @188438
66608 /* 188438 */ GIM_Reject,
66609 /* 188439 */ // Label 4150: @188439
66610 /* 188439 */ GIM_Try, /*On fail goto*//*Label 4219*/ GIMT_Encode4(188594),
66611 /* 188444 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
66612 /* 188447 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
66613 /* 188450 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66614 /* 188454 */ GIM_Try, /*On fail goto*//*Label 4220*/ GIMT_Encode4(188512), // Rule ID 24003 //
66615 /* 188459 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
66616 /* 188462 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66617 /* 188466 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66618 /* 188470 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66619 /* 188473 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66620 /* 188477 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66621 /* 188481 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66622 /* 188485 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66623 /* 188487 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66624 /* 188494 */ // (smax:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPMAXSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66625 /* 188494 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZrm),
66626 /* 188497 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66627 /* 188499 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66628 /* 188501 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66629 /* 188505 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66630 /* 188510 */ GIR_RootConstrainSelectedInstOperands,
66631 /* 188511 */ // GIR_Coverage, 24003,
66632 /* 188511 */ GIR_EraseRootFromParent_Done,
66633 /* 188512 */ // Label 4220: @188512
66634 /* 188512 */ GIM_Try, /*On fail goto*//*Label 4221*/ GIMT_Encode4(188570), // Rule ID 5333 //
66635 /* 188517 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
66636 /* 188520 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66637 /* 188524 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66638 /* 188528 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66639 /* 188532 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66640 /* 188535 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66641 /* 188539 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66642 /* 188543 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66643 /* 188545 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66644 /* 188552 */ // (smax:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66645 /* 188552 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZrm),
66646 /* 188555 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66647 /* 188557 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66648 /* 188559 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66649 /* 188563 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66650 /* 188568 */ GIR_RootConstrainSelectedInstOperands,
66651 /* 188569 */ // GIR_Coverage, 5333,
66652 /* 188569 */ GIR_EraseRootFromParent_Done,
66653 /* 188570 */ // Label 4221: @188570
66654 /* 188570 */ GIM_Try, /*On fail goto*//*Label 4222*/ GIMT_Encode4(188593), // Rule ID 5330 //
66655 /* 188575 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
66656 /* 188578 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66657 /* 188582 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66658 /* 188586 */ // (smax:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPMAXSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
66659 /* 188586 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZrr),
66660 /* 188591 */ GIR_RootConstrainSelectedInstOperands,
66661 /* 188592 */ // GIR_Coverage, 5330,
66662 /* 188592 */ GIR_Done,
66663 /* 188593 */ // Label 4222: @188593
66664 /* 188593 */ GIM_Reject,
66665 /* 188594 */ // Label 4219: @188594
66666 /* 188594 */ GIM_Reject,
66667 /* 188595 */ // Label 4151: @188595
66668 /* 188595 */ GIM_Reject,
66669 /* 188596 */ // Label 57: @188596
66670 /* 188596 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(8), GIMT_Encode2(25), /*)*//*default:*//*Label 4235*/ GIMT_Encode4(191916),
66671 /* 188607 */ /*GILLT_v2s64*//*Label 4223*/ GIMT_Encode4(188675), GIMT_Encode4(0),
66672 /* 188615 */ /*GILLT_v4s32*//*Label 4224*/ GIMT_Encode4(189004),
66673 /* 188619 */ /*GILLT_v4s64*//*Label 4225*/ GIMT_Encode4(189346), GIMT_Encode4(0),
66674 /* 188627 */ /*GILLT_v8s16*//*Label 4226*/ GIMT_Encode4(189663),
66675 /* 188631 */ /*GILLT_v8s32*//*Label 4227*/ GIMT_Encode4(190005),
66676 /* 188635 */ /*GILLT_v8s64*//*Label 4228*/ GIMT_Encode4(190320), GIMT_Encode4(0),
66677 /* 188643 */ /*GILLT_v16s8*//*Label 4229*/ GIMT_Encode4(190476),
66678 /* 188647 */ /*GILLT_v16s16*//*Label 4230*/ GIMT_Encode4(190818),
66679 /* 188651 */ /*GILLT_v16s32*//*Label 4231*/ GIMT_Encode4(191133), GIMT_Encode4(0),
66680 /* 188659 */ /*GILLT_v32s8*//*Label 4232*/ GIMT_Encode4(191289),
66681 /* 188663 */ /*GILLT_v32s16*//*Label 4233*/ GIMT_Encode4(191604), GIMT_Encode4(0),
66682 /* 188671 */ /*GILLT_v64s8*//*Label 4234*/ GIMT_Encode4(191760),
66683 /* 188675 */ // Label 4223: @188675
66684 /* 188675 */ GIM_Try, /*On fail goto*//*Label 4236*/ GIMT_Encode4(189003),
66685 /* 188680 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
66686 /* 188683 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
66687 /* 188686 */ GIM_Try, /*On fail goto*//*Label 4237*/ GIMT_Encode4(188748), // Rule ID 24213 //
66688 /* 188691 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66689 /* 188694 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66690 /* 188698 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66691 /* 188702 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66692 /* 188706 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66693 /* 188709 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66694 /* 188713 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66695 /* 188717 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66696 /* 188721 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66697 /* 188723 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66698 /* 188730 */ // (umin:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMINUQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66699 /* 188730 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ128rm),
66700 /* 188733 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66701 /* 188735 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66702 /* 188737 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66703 /* 188741 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66704 /* 188746 */ GIR_RootConstrainSelectedInstOperands,
66705 /* 188747 */ // GIR_Coverage, 24213,
66706 /* 188747 */ GIR_EraseRootFromParent_Done,
66707 /* 188748 */ // Label 4237: @188748
66708 /* 188748 */ GIM_Try, /*On fail goto*//*Label 4238*/ GIMT_Encode4(188810), // Rule ID 5684 //
66709 /* 188753 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66710 /* 188756 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66711 /* 188760 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66712 /* 188764 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66713 /* 188768 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66714 /* 188772 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66715 /* 188775 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66716 /* 188779 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66717 /* 188783 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66718 /* 188785 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66719 /* 188792 */ // (umin:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66720 /* 188792 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ128rm),
66721 /* 188795 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66722 /* 188797 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66723 /* 188799 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66724 /* 188803 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66725 /* 188808 */ GIR_RootConstrainSelectedInstOperands,
66726 /* 188809 */ // GIR_Coverage, 5684,
66727 /* 188809 */ GIR_EraseRootFromParent_Done,
66728 /* 188810 */ // Label 4238: @188810
66729 /* 188810 */ GIM_Try, /*On fail goto*//*Label 4239*/ GIMT_Encode4(188837), // Rule ID 5681 //
66730 /* 188815 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66731 /* 188818 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66732 /* 188822 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66733 /* 188826 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66734 /* 188830 */ // (umin:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMINUQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
66735 /* 188830 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ128rr),
66736 /* 188835 */ GIR_RootConstrainSelectedInstOperands,
66737 /* 188836 */ // GIR_Coverage, 5681,
66738 /* 188836 */ GIR_Done,
66739 /* 188837 */ // Label 4239: @188837
66740 /* 188837 */ GIM_Try, /*On fail goto*//*Label 4240*/ GIMT_Encode4(189002), // Rule ID 20015 //
66741 /* 188842 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
66742 /* 188845 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
66743 /* 188849 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66744 /* 188853 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66745 /* 188857 */ // (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] })
66746 /* 188857 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
66747 /* 188860 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
66748 /* 188864 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66749 /* 188869 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
66750 /* 188871 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
66751 /* 188874 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
66752 /* 188878 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66753 /* 188883 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
66754 /* 188886 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
66755 /* 188890 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
66756 /* 188893 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
66757 /* 188898 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66758 /* 188903 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
66759 /* 188908 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
66760 /* 188911 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
66761 /* 188915 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66762 /* 188920 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
66763 /* 188922 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
66764 /* 188925 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
66765 /* 188929 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66766 /* 188934 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
66767 /* 188937 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
66768 /* 188941 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
66769 /* 188944 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
66770 /* 188949 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66771 /* 188954 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
66772 /* 188959 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
66773 /* 188962 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrr),
66774 /* 188966 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66775 /* 188971 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
66776 /* 188974 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
66777 /* 188977 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
66778 /* 188979 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
66779 /* 188982 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66780 /* 188984 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
66781 /* 188991 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
66782 /* 188996 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66783 /* 189001 */ // GIR_Coverage, 20015,
66784 /* 189001 */ GIR_EraseRootFromParent_Done,
66785 /* 189002 */ // Label 4240: @189002
66786 /* 189002 */ GIM_Reject,
66787 /* 189003 */ // Label 4236: @189003
66788 /* 189003 */ GIM_Reject,
66789 /* 189004 */ // Label 4224: @189004
66790 /* 189004 */ GIM_Try, /*On fail goto*//*Label 4241*/ GIMT_Encode4(189345),
66791 /* 189009 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
66792 /* 189012 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
66793 /* 189015 */ GIM_Try, /*On fail goto*//*Label 4242*/ GIMT_Encode4(189077), // Rule ID 23584 //
66794 /* 189020 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
66795 /* 189023 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66796 /* 189027 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66797 /* 189031 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66798 /* 189035 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66799 /* 189038 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66800 /* 189042 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66801 /* 189046 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66802 /* 189050 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66803 /* 189052 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66804 /* 189059 */ // (umin:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMINUDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66805 /* 189059 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDrm),
66806 /* 189062 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66807 /* 189064 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66808 /* 189066 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66809 /* 189070 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66810 /* 189075 */ GIR_RootConstrainSelectedInstOperands,
66811 /* 189076 */ // GIR_Coverage, 23584,
66812 /* 189076 */ GIR_EraseRootFromParent_Done,
66813 /* 189077 */ // Label 4242: @189077
66814 /* 189077 */ GIM_Try, /*On fail goto*//*Label 4243*/ GIMT_Encode4(189139), // Rule ID 24195 //
66815 /* 189082 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66816 /* 189085 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66817 /* 189089 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66818 /* 189093 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66819 /* 189097 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66820 /* 189100 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66821 /* 189104 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66822 /* 189108 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66823 /* 189112 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66824 /* 189114 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66825 /* 189121 */ // (umin:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMINUDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66826 /* 189121 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ128rm),
66827 /* 189124 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66828 /* 189126 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66829 /* 189128 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66830 /* 189132 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66831 /* 189137 */ GIR_RootConstrainSelectedInstOperands,
66832 /* 189138 */ // GIR_Coverage, 24195,
66833 /* 189138 */ GIR_EraseRootFromParent_Done,
66834 /* 189139 */ // Label 4243: @189139
66835 /* 189139 */ GIM_Try, /*On fail goto*//*Label 4244*/ GIMT_Encode4(189201), // Rule ID 3188 //
66836 /* 189144 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
66837 /* 189147 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66838 /* 189151 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66839 /* 189155 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66840 /* 189159 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66841 /* 189163 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66842 /* 189166 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66843 /* 189170 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66844 /* 189174 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66845 /* 189176 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66846 /* 189183 */ // (umin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66847 /* 189183 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDrm),
66848 /* 189186 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66849 /* 189188 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66850 /* 189190 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66851 /* 189194 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66852 /* 189199 */ GIR_RootConstrainSelectedInstOperands,
66853 /* 189200 */ // GIR_Coverage, 3188,
66854 /* 189200 */ GIR_EraseRootFromParent_Done,
66855 /* 189201 */ // Label 4244: @189201
66856 /* 189201 */ GIM_Try, /*On fail goto*//*Label 4245*/ GIMT_Encode4(189263), // Rule ID 5657 //
66857 /* 189206 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66858 /* 189209 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66859 /* 189213 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66860 /* 189217 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66861 /* 189221 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66862 /* 189225 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66863 /* 189228 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66864 /* 189232 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66865 /* 189236 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66866 /* 189238 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66867 /* 189245 */ // (umin:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66868 /* 189245 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ128rm),
66869 /* 189248 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66870 /* 189250 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66871 /* 189252 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66872 /* 189256 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66873 /* 189261 */ GIR_RootConstrainSelectedInstOperands,
66874 /* 189262 */ // GIR_Coverage, 5657,
66875 /* 189262 */ GIR_EraseRootFromParent_Done,
66876 /* 189263 */ // Label 4245: @189263
66877 /* 189263 */ GIM_Try, /*On fail goto*//*Label 4246*/ GIMT_Encode4(189290), // Rule ID 3187 //
66878 /* 189268 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
66879 /* 189271 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66880 /* 189275 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66881 /* 189279 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66882 /* 189283 */ // (umin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMINUDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
66883 /* 189283 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDrr),
66884 /* 189288 */ GIR_RootConstrainSelectedInstOperands,
66885 /* 189289 */ // GIR_Coverage, 3187,
66886 /* 189289 */ GIR_Done,
66887 /* 189290 */ // Label 4246: @189290
66888 /* 189290 */ GIM_Try, /*On fail goto*//*Label 4247*/ GIMT_Encode4(189317), // Rule ID 3225 //
66889 /* 189295 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
66890 /* 189298 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66891 /* 189302 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66892 /* 189306 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66893 /* 189310 */ // (umin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMINUDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
66894 /* 189310 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINUDrr),
66895 /* 189315 */ GIR_RootConstrainSelectedInstOperands,
66896 /* 189316 */ // GIR_Coverage, 3225,
66897 /* 189316 */ GIR_Done,
66898 /* 189317 */ // Label 4247: @189317
66899 /* 189317 */ GIM_Try, /*On fail goto*//*Label 4248*/ GIMT_Encode4(189344), // Rule ID 5654 //
66900 /* 189322 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66901 /* 189325 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66902 /* 189329 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66903 /* 189333 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66904 /* 189337 */ // (umin:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMINUDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
66905 /* 189337 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ128rr),
66906 /* 189342 */ GIR_RootConstrainSelectedInstOperands,
66907 /* 189343 */ // GIR_Coverage, 5654,
66908 /* 189343 */ GIR_Done,
66909 /* 189344 */ // Label 4248: @189344
66910 /* 189344 */ GIM_Reject,
66911 /* 189345 */ // Label 4241: @189345
66912 /* 189345 */ GIM_Reject,
66913 /* 189346 */ // Label 4225: @189346
66914 /* 189346 */ GIM_Try, /*On fail goto*//*Label 4249*/ GIMT_Encode4(189662),
66915 /* 189351 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
66916 /* 189354 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
66917 /* 189357 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66918 /* 189361 */ GIM_Try, /*On fail goto*//*Label 4250*/ GIMT_Encode4(189419), // Rule ID 24207 //
66919 /* 189366 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66920 /* 189369 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66921 /* 189373 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66922 /* 189377 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66923 /* 189380 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66924 /* 189384 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66925 /* 189388 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66926 /* 189392 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66927 /* 189394 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66928 /* 189401 */ // (umin:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMINUQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66929 /* 189401 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ256rm),
66930 /* 189404 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66931 /* 189406 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66932 /* 189408 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66933 /* 189412 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66934 /* 189417 */ GIR_RootConstrainSelectedInstOperands,
66935 /* 189418 */ // GIR_Coverage, 24207,
66936 /* 189418 */ GIR_EraseRootFromParent_Done,
66937 /* 189419 */ // Label 4250: @189419
66938 /* 189419 */ GIM_Try, /*On fail goto*//*Label 4251*/ GIMT_Encode4(189477), // Rule ID 5675 //
66939 /* 189424 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66940 /* 189427 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66941 /* 189431 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66942 /* 189435 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66943 /* 189439 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66944 /* 189442 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66945 /* 189446 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66946 /* 189450 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66947 /* 189452 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66948 /* 189459 */ // (umin:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66949 /* 189459 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ256rm),
66950 /* 189462 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66951 /* 189464 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66952 /* 189466 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66953 /* 189470 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66954 /* 189475 */ GIR_RootConstrainSelectedInstOperands,
66955 /* 189476 */ // GIR_Coverage, 5675,
66956 /* 189476 */ GIR_EraseRootFromParent_Done,
66957 /* 189477 */ // Label 4251: @189477
66958 /* 189477 */ GIM_Try, /*On fail goto*//*Label 4252*/ GIMT_Encode4(189500), // Rule ID 5672 //
66959 /* 189482 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66960 /* 189485 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66961 /* 189489 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66962 /* 189493 */ // (umin:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMINUQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
66963 /* 189493 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ256rr),
66964 /* 189498 */ GIR_RootConstrainSelectedInstOperands,
66965 /* 189499 */ // GIR_Coverage, 5672,
66966 /* 189499 */ GIR_Done,
66967 /* 189500 */ // Label 4252: @189500
66968 /* 189500 */ GIM_Try, /*On fail goto*//*Label 4253*/ GIMT_Encode4(189661), // Rule ID 20013 //
66969 /* 189505 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
66970 /* 189508 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66971 /* 189512 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66972 /* 189516 */ // (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] })
66973 /* 189516 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
66974 /* 189519 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
66975 /* 189523 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66976 /* 189528 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
66977 /* 189530 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
66978 /* 189533 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
66979 /* 189537 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66980 /* 189542 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
66981 /* 189545 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
66982 /* 189549 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
66983 /* 189552 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
66984 /* 189557 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66985 /* 189562 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
66986 /* 189567 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
66987 /* 189570 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
66988 /* 189574 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66989 /* 189579 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
66990 /* 189581 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
66991 /* 189584 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
66992 /* 189588 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66993 /* 189593 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
66994 /* 189596 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
66995 /* 189600 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
66996 /* 189603 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
66997 /* 189608 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66998 /* 189613 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
66999 /* 189618 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
67000 /* 189621 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrr),
67001 /* 189625 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67002 /* 189630 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
67003 /* 189633 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
67004 /* 189636 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
67005 /* 189638 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
67006 /* 189641 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67007 /* 189643 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
67008 /* 189650 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
67009 /* 189655 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
67010 /* 189660 */ // GIR_Coverage, 20013,
67011 /* 189660 */ GIR_EraseRootFromParent_Done,
67012 /* 189661 */ // Label 4253: @189661
67013 /* 189661 */ GIM_Reject,
67014 /* 189662 */ // Label 4249: @189662
67015 /* 189662 */ GIM_Reject,
67016 /* 189663 */ // Label 4226: @189663
67017 /* 189663 */ GIM_Try, /*On fail goto*//*Label 4254*/ GIMT_Encode4(190004),
67018 /* 189668 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
67019 /* 189671 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
67020 /* 189674 */ GIM_Try, /*On fail goto*//*Label 4255*/ GIMT_Encode4(189736), // Rule ID 23589 //
67021 /* 189679 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
67022 /* 189682 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67023 /* 189686 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67024 /* 189690 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67025 /* 189694 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67026 /* 189697 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67027 /* 189701 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67028 /* 189705 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67029 /* 189709 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67030 /* 189711 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67031 /* 189718 */ // (umin:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMINUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67032 /* 189718 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWrm),
67033 /* 189721 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67034 /* 189723 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67035 /* 189725 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67036 /* 189729 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67037 /* 189734 */ GIR_RootConstrainSelectedInstOperands,
67038 /* 189735 */ // GIR_Coverage, 23589,
67039 /* 189735 */ GIR_EraseRootFromParent_Done,
67040 /* 189736 */ // Label 4255: @189736
67041 /* 189736 */ GIM_Try, /*On fail goto*//*Label 4256*/ GIMT_Encode4(189798), // Rule ID 24180 //
67042 /* 189741 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67043 /* 189744 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67044 /* 189748 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67045 /* 189752 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67046 /* 189756 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67047 /* 189759 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67048 /* 189763 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67049 /* 189767 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67050 /* 189771 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67051 /* 189773 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67052 /* 189780 */ // (umin:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMINUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67053 /* 189780 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ128rm),
67054 /* 189783 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67055 /* 189785 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67056 /* 189787 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67057 /* 189791 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67058 /* 189796 */ GIR_RootConstrainSelectedInstOperands,
67059 /* 189797 */ // GIR_Coverage, 24180,
67060 /* 189797 */ GIR_EraseRootFromParent_Done,
67061 /* 189798 */ // Label 4256: @189798
67062 /* 189798 */ GIM_Try, /*On fail goto*//*Label 4257*/ GIMT_Encode4(189860), // Rule ID 3198 //
67063 /* 189803 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
67064 /* 189806 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67065 /* 189810 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67066 /* 189814 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67067 /* 189818 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67068 /* 189822 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67069 /* 189825 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67070 /* 189829 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67071 /* 189833 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67072 /* 189835 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67073 /* 189842 */ // (umin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67074 /* 189842 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWrm),
67075 /* 189845 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67076 /* 189847 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67077 /* 189849 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67078 /* 189853 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67079 /* 189858 */ GIR_RootConstrainSelectedInstOperands,
67080 /* 189859 */ // GIR_Coverage, 3198,
67081 /* 189859 */ GIR_EraseRootFromParent_Done,
67082 /* 189860 */ // Label 4257: @189860
67083 /* 189860 */ GIM_Try, /*On fail goto*//*Label 4258*/ GIMT_Encode4(189922), // Rule ID 5633 //
67084 /* 189865 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67085 /* 189868 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67086 /* 189872 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67087 /* 189876 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67088 /* 189880 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67089 /* 189884 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67090 /* 189887 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67091 /* 189891 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67092 /* 189895 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67093 /* 189897 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67094 /* 189904 */ // (umin:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67095 /* 189904 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ128rm),
67096 /* 189907 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67097 /* 189909 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67098 /* 189911 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67099 /* 189915 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67100 /* 189920 */ GIR_RootConstrainSelectedInstOperands,
67101 /* 189921 */ // GIR_Coverage, 5633,
67102 /* 189921 */ GIR_EraseRootFromParent_Done,
67103 /* 189922 */ // Label 4258: @189922
67104 /* 189922 */ GIM_Try, /*On fail goto*//*Label 4259*/ GIMT_Encode4(189949), // Rule ID 3197 //
67105 /* 189927 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
67106 /* 189930 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67107 /* 189934 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67108 /* 189938 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67109 /* 189942 */ // (umin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMINUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
67110 /* 189942 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWrr),
67111 /* 189947 */ GIR_RootConstrainSelectedInstOperands,
67112 /* 189948 */ // GIR_Coverage, 3197,
67113 /* 189948 */ GIR_Done,
67114 /* 189949 */ // Label 4259: @189949
67115 /* 189949 */ GIM_Try, /*On fail goto*//*Label 4260*/ GIMT_Encode4(189976), // Rule ID 3227 //
67116 /* 189954 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
67117 /* 189957 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67118 /* 189961 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67119 /* 189965 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67120 /* 189969 */ // (umin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMINUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
67121 /* 189969 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINUWrr),
67122 /* 189974 */ GIR_RootConstrainSelectedInstOperands,
67123 /* 189975 */ // GIR_Coverage, 3227,
67124 /* 189975 */ GIR_Done,
67125 /* 189976 */ // Label 4260: @189976
67126 /* 189976 */ GIM_Try, /*On fail goto*//*Label 4261*/ GIMT_Encode4(190003), // Rule ID 5630 //
67127 /* 189981 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67128 /* 189984 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67129 /* 189988 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67130 /* 189992 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67131 /* 189996 */ // (umin:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMINUWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
67132 /* 189996 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ128rr),
67133 /* 190001 */ GIR_RootConstrainSelectedInstOperands,
67134 /* 190002 */ // GIR_Coverage, 5630,
67135 /* 190002 */ GIR_Done,
67136 /* 190003 */ // Label 4261: @190003
67137 /* 190003 */ GIM_Reject,
67138 /* 190004 */ // Label 4254: @190004
67139 /* 190004 */ GIM_Reject,
67140 /* 190005 */ // Label 4227: @190005
67141 /* 190005 */ GIM_Try, /*On fail goto*//*Label 4262*/ GIMT_Encode4(190319),
67142 /* 190010 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
67143 /* 190013 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
67144 /* 190016 */ GIM_Try, /*On fail goto*//*Label 4263*/ GIMT_Encode4(190078), // Rule ID 23593 //
67145 /* 190021 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
67146 /* 190024 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67147 /* 190028 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67148 /* 190032 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67149 /* 190036 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67150 /* 190039 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67151 /* 190043 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67152 /* 190047 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67153 /* 190051 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67154 /* 190053 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67155 /* 190060 */ // (umin:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMINUDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67156 /* 190060 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDYrm),
67157 /* 190063 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67158 /* 190065 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67159 /* 190067 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67160 /* 190071 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67161 /* 190076 */ GIR_RootConstrainSelectedInstOperands,
67162 /* 190077 */ // GIR_Coverage, 23593,
67163 /* 190077 */ GIR_EraseRootFromParent_Done,
67164 /* 190078 */ // Label 4263: @190078
67165 /* 190078 */ GIM_Try, /*On fail goto*//*Label 4264*/ GIMT_Encode4(190140), // Rule ID 24189 //
67166 /* 190083 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67167 /* 190086 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67168 /* 190090 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67169 /* 190094 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67170 /* 190098 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67171 /* 190101 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67172 /* 190105 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67173 /* 190109 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67174 /* 190113 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67175 /* 190115 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67176 /* 190122 */ // (umin:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMINUDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67177 /* 190122 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ256rm),
67178 /* 190125 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67179 /* 190127 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67180 /* 190129 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67181 /* 190133 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67182 /* 190138 */ GIR_RootConstrainSelectedInstOperands,
67183 /* 190139 */ // GIR_Coverage, 24189,
67184 /* 190139 */ GIR_EraseRootFromParent_Done,
67185 /* 190140 */ // Label 4264: @190140
67186 /* 190140 */ GIM_Try, /*On fail goto*//*Label 4265*/ GIMT_Encode4(190202), // Rule ID 3206 //
67187 /* 190145 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
67188 /* 190148 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67189 /* 190152 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67190 /* 190156 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67191 /* 190160 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67192 /* 190164 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67193 /* 190167 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67194 /* 190171 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67195 /* 190175 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67196 /* 190177 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67197 /* 190184 */ // (umin:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67198 /* 190184 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDYrm),
67199 /* 190187 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67200 /* 190189 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67201 /* 190191 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67202 /* 190195 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67203 /* 190200 */ GIR_RootConstrainSelectedInstOperands,
67204 /* 190201 */ // GIR_Coverage, 3206,
67205 /* 190201 */ GIR_EraseRootFromParent_Done,
67206 /* 190202 */ // Label 4265: @190202
67207 /* 190202 */ GIM_Try, /*On fail goto*//*Label 4266*/ GIMT_Encode4(190264), // Rule ID 5648 //
67208 /* 190207 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67209 /* 190210 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67210 /* 190214 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67211 /* 190218 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67212 /* 190222 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67213 /* 190226 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67214 /* 190229 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67215 /* 190233 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67216 /* 190237 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67217 /* 190239 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67218 /* 190246 */ // (umin:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67219 /* 190246 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ256rm),
67220 /* 190249 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67221 /* 190251 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67222 /* 190253 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67223 /* 190257 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67224 /* 190262 */ GIR_RootConstrainSelectedInstOperands,
67225 /* 190263 */ // GIR_Coverage, 5648,
67226 /* 190263 */ GIR_EraseRootFromParent_Done,
67227 /* 190264 */ // Label 4266: @190264
67228 /* 190264 */ GIM_Try, /*On fail goto*//*Label 4267*/ GIMT_Encode4(190291), // Rule ID 3205 //
67229 /* 190269 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
67230 /* 190272 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67231 /* 190276 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67232 /* 190280 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67233 /* 190284 */ // (umin:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMINUDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
67234 /* 190284 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDYrr),
67235 /* 190289 */ GIR_RootConstrainSelectedInstOperands,
67236 /* 190290 */ // GIR_Coverage, 3205,
67237 /* 190290 */ GIR_Done,
67238 /* 190291 */ // Label 4267: @190291
67239 /* 190291 */ GIM_Try, /*On fail goto*//*Label 4268*/ GIMT_Encode4(190318), // Rule ID 5645 //
67240 /* 190296 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67241 /* 190299 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67242 /* 190303 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67243 /* 190307 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67244 /* 190311 */ // (umin:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMINUDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
67245 /* 190311 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ256rr),
67246 /* 190316 */ GIR_RootConstrainSelectedInstOperands,
67247 /* 190317 */ // GIR_Coverage, 5645,
67248 /* 190317 */ GIR_Done,
67249 /* 190318 */ // Label 4268: @190318
67250 /* 190318 */ GIM_Reject,
67251 /* 190319 */ // Label 4262: @190319
67252 /* 190319 */ GIM_Reject,
67253 /* 190320 */ // Label 4228: @190320
67254 /* 190320 */ GIM_Try, /*On fail goto*//*Label 4269*/ GIMT_Encode4(190475),
67255 /* 190325 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
67256 /* 190328 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
67257 /* 190331 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67258 /* 190335 */ GIM_Try, /*On fail goto*//*Label 4270*/ GIMT_Encode4(190393), // Rule ID 24201 //
67259 /* 190340 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
67260 /* 190343 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67261 /* 190347 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67262 /* 190351 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67263 /* 190354 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67264 /* 190358 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67265 /* 190362 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67266 /* 190366 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67267 /* 190368 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67268 /* 190375 */ // (umin:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMINUQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
67269 /* 190375 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrm),
67270 /* 190378 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67271 /* 190380 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67272 /* 190382 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67273 /* 190386 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67274 /* 190391 */ GIR_RootConstrainSelectedInstOperands,
67275 /* 190392 */ // GIR_Coverage, 24201,
67276 /* 190392 */ GIR_EraseRootFromParent_Done,
67277 /* 190393 */ // Label 4270: @190393
67278 /* 190393 */ GIM_Try, /*On fail goto*//*Label 4271*/ GIMT_Encode4(190451), // Rule ID 5666 //
67279 /* 190398 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
67280 /* 190401 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67281 /* 190405 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67282 /* 190409 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67283 /* 190413 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67284 /* 190416 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67285 /* 190420 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67286 /* 190424 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67287 /* 190426 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67288 /* 190433 */ // (umin:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
67289 /* 190433 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrm),
67290 /* 190436 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67291 /* 190438 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67292 /* 190440 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67293 /* 190444 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67294 /* 190449 */ GIR_RootConstrainSelectedInstOperands,
67295 /* 190450 */ // GIR_Coverage, 5666,
67296 /* 190450 */ GIR_EraseRootFromParent_Done,
67297 /* 190451 */ // Label 4271: @190451
67298 /* 190451 */ GIM_Try, /*On fail goto*//*Label 4272*/ GIMT_Encode4(190474), // Rule ID 5663 //
67299 /* 190456 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
67300 /* 190459 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67301 /* 190463 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67302 /* 190467 */ // (umin:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMINUQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
67303 /* 190467 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrr),
67304 /* 190472 */ GIR_RootConstrainSelectedInstOperands,
67305 /* 190473 */ // GIR_Coverage, 5663,
67306 /* 190473 */ GIR_Done,
67307 /* 190474 */ // Label 4272: @190474
67308 /* 190474 */ GIM_Reject,
67309 /* 190475 */ // Label 4269: @190475
67310 /* 190475 */ GIM_Reject,
67311 /* 190476 */ // Label 4229: @190476
67312 /* 190476 */ GIM_Try, /*On fail goto*//*Label 4273*/ GIMT_Encode4(190817),
67313 /* 190481 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
67314 /* 190484 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
67315 /* 190487 */ GIM_Try, /*On fail goto*//*Label 4274*/ GIMT_Encode4(190549), // Rule ID 23544 //
67316 /* 190492 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
67317 /* 190495 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67318 /* 190499 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67319 /* 190503 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67320 /* 190507 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67321 /* 190510 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67322 /* 190514 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67323 /* 190518 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67324 /* 190522 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67325 /* 190524 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67326 /* 190531 */ // (umin:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPMINUBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67327 /* 190531 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBrm),
67328 /* 190534 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67329 /* 190536 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67330 /* 190538 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67331 /* 190542 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67332 /* 190547 */ GIR_RootConstrainSelectedInstOperands,
67333 /* 190548 */ // GIR_Coverage, 23544,
67334 /* 190548 */ GIR_EraseRootFromParent_Done,
67335 /* 190549 */ // Label 4274: @190549
67336 /* 190549 */ GIM_Try, /*On fail goto*//*Label 4275*/ GIMT_Encode4(190611), // Rule ID 24171 //
67337 /* 190554 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67338 /* 190557 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67339 /* 190561 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67340 /* 190565 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67341 /* 190569 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67342 /* 190572 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67343 /* 190576 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67344 /* 190580 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67345 /* 190584 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67346 /* 190586 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67347 /* 190593 */ // (umin:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPMINUBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67348 /* 190593 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ128rm),
67349 /* 190596 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67350 /* 190598 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67351 /* 190600 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67352 /* 190604 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67353 /* 190609 */ GIR_RootConstrainSelectedInstOperands,
67354 /* 190610 */ // GIR_Coverage, 24171,
67355 /* 190610 */ GIR_EraseRootFromParent_Done,
67356 /* 190611 */ // Label 4275: @190611
67357 /* 190611 */ GIM_Try, /*On fail goto*//*Label 4276*/ GIMT_Encode4(190673), // Rule ID 2637 //
67358 /* 190616 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
67359 /* 190619 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67360 /* 190623 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67361 /* 190627 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67362 /* 190631 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67363 /* 190635 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67364 /* 190638 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67365 /* 190642 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67366 /* 190646 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67367 /* 190648 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67368 /* 190655 */ // (umin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67369 /* 190655 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBrm),
67370 /* 190658 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67371 /* 190660 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67372 /* 190662 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67373 /* 190666 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67374 /* 190671 */ GIR_RootConstrainSelectedInstOperands,
67375 /* 190672 */ // GIR_Coverage, 2637,
67376 /* 190672 */ GIR_EraseRootFromParent_Done,
67377 /* 190673 */ // Label 4276: @190673
67378 /* 190673 */ GIM_Try, /*On fail goto*//*Label 4277*/ GIMT_Encode4(190735), // Rule ID 5615 //
67379 /* 190678 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67380 /* 190681 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67381 /* 190685 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67382 /* 190689 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67383 /* 190693 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67384 /* 190697 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67385 /* 190700 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67386 /* 190704 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67387 /* 190708 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67388 /* 190710 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67389 /* 190717 */ // (umin:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67390 /* 190717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ128rm),
67391 /* 190720 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67392 /* 190722 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67393 /* 190724 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67394 /* 190728 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67395 /* 190733 */ GIR_RootConstrainSelectedInstOperands,
67396 /* 190734 */ // GIR_Coverage, 5615,
67397 /* 190734 */ GIR_EraseRootFromParent_Done,
67398 /* 190735 */ // Label 4277: @190735
67399 /* 190735 */ GIM_Try, /*On fail goto*//*Label 4278*/ GIMT_Encode4(190762), // Rule ID 2636 //
67400 /* 190740 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
67401 /* 190743 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67402 /* 190747 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67403 /* 190751 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67404 /* 190755 */ // (umin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPMINUBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
67405 /* 190755 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBrr),
67406 /* 190760 */ GIR_RootConstrainSelectedInstOperands,
67407 /* 190761 */ // GIR_Coverage, 2636,
67408 /* 190761 */ GIR_Done,
67409 /* 190762 */ // Label 4278: @190762
67410 /* 190762 */ GIM_Try, /*On fail goto*//*Label 4279*/ GIMT_Encode4(190789), // Rule ID 2638 //
67411 /* 190767 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
67412 /* 190770 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67413 /* 190774 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67414 /* 190778 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67415 /* 190782 */ // (umin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PMINUBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
67416 /* 190782 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINUBrr),
67417 /* 190787 */ GIR_RootConstrainSelectedInstOperands,
67418 /* 190788 */ // GIR_Coverage, 2638,
67419 /* 190788 */ GIR_Done,
67420 /* 190789 */ // Label 4279: @190789
67421 /* 190789 */ GIM_Try, /*On fail goto*//*Label 4280*/ GIMT_Encode4(190816), // Rule ID 5612 //
67422 /* 190794 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67423 /* 190797 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67424 /* 190801 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67425 /* 190805 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67426 /* 190809 */ // (umin:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPMINUBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
67427 /* 190809 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ128rr),
67428 /* 190814 */ GIR_RootConstrainSelectedInstOperands,
67429 /* 190815 */ // GIR_Coverage, 5612,
67430 /* 190815 */ GIR_Done,
67431 /* 190816 */ // Label 4280: @190816
67432 /* 190816 */ GIM_Reject,
67433 /* 190817 */ // Label 4273: @190817
67434 /* 190817 */ GIM_Reject,
67435 /* 190818 */ // Label 4230: @190818
67436 /* 190818 */ GIM_Try, /*On fail goto*//*Label 4281*/ GIMT_Encode4(191132),
67437 /* 190823 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
67438 /* 190826 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
67439 /* 190829 */ GIM_Try, /*On fail goto*//*Label 4282*/ GIMT_Encode4(190891), // Rule ID 23598 //
67440 /* 190834 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
67441 /* 190837 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67442 /* 190841 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67443 /* 190845 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67444 /* 190849 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67445 /* 190852 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67446 /* 190856 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67447 /* 190860 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67448 /* 190864 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67449 /* 190866 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67450 /* 190873 */ // (umin:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMINUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67451 /* 190873 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWYrm),
67452 /* 190876 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67453 /* 190878 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67454 /* 190880 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67455 /* 190884 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67456 /* 190889 */ GIR_RootConstrainSelectedInstOperands,
67457 /* 190890 */ // GIR_Coverage, 23598,
67458 /* 190890 */ GIR_EraseRootFromParent_Done,
67459 /* 190891 */ // Label 4282: @190891
67460 /* 190891 */ GIM_Try, /*On fail goto*//*Label 4283*/ GIMT_Encode4(190953), // Rule ID 24177 //
67461 /* 190896 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67462 /* 190899 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67463 /* 190903 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67464 /* 190907 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67465 /* 190911 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67466 /* 190914 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67467 /* 190918 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67468 /* 190922 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67469 /* 190926 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67470 /* 190928 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67471 /* 190935 */ // (umin:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMINUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67472 /* 190935 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ256rm),
67473 /* 190938 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67474 /* 190940 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67475 /* 190942 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67476 /* 190946 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67477 /* 190951 */ GIR_RootConstrainSelectedInstOperands,
67478 /* 190952 */ // GIR_Coverage, 24177,
67479 /* 190952 */ GIR_EraseRootFromParent_Done,
67480 /* 190953 */ // Label 4283: @190953
67481 /* 190953 */ GIM_Try, /*On fail goto*//*Label 4284*/ GIMT_Encode4(191015), // Rule ID 3216 //
67482 /* 190958 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
67483 /* 190961 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67484 /* 190965 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67485 /* 190969 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67486 /* 190973 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67487 /* 190977 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67488 /* 190980 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67489 /* 190984 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67490 /* 190988 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67491 /* 190990 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67492 /* 190997 */ // (umin:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67493 /* 190997 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWYrm),
67494 /* 191000 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67495 /* 191002 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67496 /* 191004 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67497 /* 191008 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67498 /* 191013 */ GIR_RootConstrainSelectedInstOperands,
67499 /* 191014 */ // GIR_Coverage, 3216,
67500 /* 191014 */ GIR_EraseRootFromParent_Done,
67501 /* 191015 */ // Label 4284: @191015
67502 /* 191015 */ GIM_Try, /*On fail goto*//*Label 4285*/ GIMT_Encode4(191077), // Rule ID 5627 //
67503 /* 191020 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67504 /* 191023 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67505 /* 191027 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67506 /* 191031 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67507 /* 191035 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67508 /* 191039 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67509 /* 191042 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67510 /* 191046 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67511 /* 191050 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67512 /* 191052 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67513 /* 191059 */ // (umin:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67514 /* 191059 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ256rm),
67515 /* 191062 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67516 /* 191064 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67517 /* 191066 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67518 /* 191070 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67519 /* 191075 */ GIR_RootConstrainSelectedInstOperands,
67520 /* 191076 */ // GIR_Coverage, 5627,
67521 /* 191076 */ GIR_EraseRootFromParent_Done,
67522 /* 191077 */ // Label 4285: @191077
67523 /* 191077 */ GIM_Try, /*On fail goto*//*Label 4286*/ GIMT_Encode4(191104), // Rule ID 3215 //
67524 /* 191082 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
67525 /* 191085 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67526 /* 191089 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67527 /* 191093 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67528 /* 191097 */ // (umin:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMINUWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
67529 /* 191097 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWYrr),
67530 /* 191102 */ GIR_RootConstrainSelectedInstOperands,
67531 /* 191103 */ // GIR_Coverage, 3215,
67532 /* 191103 */ GIR_Done,
67533 /* 191104 */ // Label 4286: @191104
67534 /* 191104 */ GIM_Try, /*On fail goto*//*Label 4287*/ GIMT_Encode4(191131), // Rule ID 5624 //
67535 /* 191109 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67536 /* 191112 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67537 /* 191116 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67538 /* 191120 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67539 /* 191124 */ // (umin:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMINUWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
67540 /* 191124 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ256rr),
67541 /* 191129 */ GIR_RootConstrainSelectedInstOperands,
67542 /* 191130 */ // GIR_Coverage, 5624,
67543 /* 191130 */ GIR_Done,
67544 /* 191131 */ // Label 4287: @191131
67545 /* 191131 */ GIM_Reject,
67546 /* 191132 */ // Label 4281: @191132
67547 /* 191132 */ GIM_Reject,
67548 /* 191133 */ // Label 4231: @191133
67549 /* 191133 */ GIM_Try, /*On fail goto*//*Label 4288*/ GIMT_Encode4(191288),
67550 /* 191138 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
67551 /* 191141 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
67552 /* 191144 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67553 /* 191148 */ GIM_Try, /*On fail goto*//*Label 4289*/ GIMT_Encode4(191206), // Rule ID 24183 //
67554 /* 191153 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
67555 /* 191156 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67556 /* 191160 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67557 /* 191164 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67558 /* 191167 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67559 /* 191171 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67560 /* 191175 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67561 /* 191179 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67562 /* 191181 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67563 /* 191188 */ // (umin:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMINUDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67564 /* 191188 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZrm),
67565 /* 191191 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67566 /* 191193 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67567 /* 191195 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67568 /* 191199 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67569 /* 191204 */ GIR_RootConstrainSelectedInstOperands,
67570 /* 191205 */ // GIR_Coverage, 24183,
67571 /* 191205 */ GIR_EraseRootFromParent_Done,
67572 /* 191206 */ // Label 4289: @191206
67573 /* 191206 */ GIM_Try, /*On fail goto*//*Label 4290*/ GIMT_Encode4(191264), // Rule ID 5639 //
67574 /* 191211 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
67575 /* 191214 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67576 /* 191218 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67577 /* 191222 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67578 /* 191226 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67579 /* 191229 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67580 /* 191233 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67581 /* 191237 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67582 /* 191239 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67583 /* 191246 */ // (umin:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67584 /* 191246 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZrm),
67585 /* 191249 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67586 /* 191251 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67587 /* 191253 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67588 /* 191257 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67589 /* 191262 */ GIR_RootConstrainSelectedInstOperands,
67590 /* 191263 */ // GIR_Coverage, 5639,
67591 /* 191263 */ GIR_EraseRootFromParent_Done,
67592 /* 191264 */ // Label 4290: @191264
67593 /* 191264 */ GIM_Try, /*On fail goto*//*Label 4291*/ GIMT_Encode4(191287), // Rule ID 5636 //
67594 /* 191269 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
67595 /* 191272 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67596 /* 191276 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67597 /* 191280 */ // (umin:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMINUDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
67598 /* 191280 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDZrr),
67599 /* 191285 */ GIR_RootConstrainSelectedInstOperands,
67600 /* 191286 */ // GIR_Coverage, 5636,
67601 /* 191286 */ GIR_Done,
67602 /* 191287 */ // Label 4291: @191287
67603 /* 191287 */ GIM_Reject,
67604 /* 191288 */ // Label 4288: @191288
67605 /* 191288 */ GIM_Reject,
67606 /* 191289 */ // Label 4232: @191289
67607 /* 191289 */ GIM_Try, /*On fail goto*//*Label 4292*/ GIMT_Encode4(191603),
67608 /* 191294 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
67609 /* 191297 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
67610 /* 191300 */ GIM_Try, /*On fail goto*//*Label 4293*/ GIMT_Encode4(191362), // Rule ID 23546 //
67611 /* 191305 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
67612 /* 191308 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67613 /* 191312 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67614 /* 191316 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67615 /* 191320 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67616 /* 191323 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67617 /* 191327 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67618 /* 191331 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67619 /* 191335 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67620 /* 191337 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67621 /* 191344 */ // (umin:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPMINUBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67622 /* 191344 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBYrm),
67623 /* 191347 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67624 /* 191349 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67625 /* 191351 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67626 /* 191355 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67627 /* 191360 */ GIR_RootConstrainSelectedInstOperands,
67628 /* 191361 */ // GIR_Coverage, 23546,
67629 /* 191361 */ GIR_EraseRootFromParent_Done,
67630 /* 191362 */ // Label 4293: @191362
67631 /* 191362 */ GIM_Try, /*On fail goto*//*Label 4294*/ GIMT_Encode4(191424), // Rule ID 24168 //
67632 /* 191367 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67633 /* 191370 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67634 /* 191374 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67635 /* 191378 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67636 /* 191382 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67637 /* 191385 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67638 /* 191389 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67639 /* 191393 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67640 /* 191397 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67641 /* 191399 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67642 /* 191406 */ // (umin:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPMINUBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67643 /* 191406 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ256rm),
67644 /* 191409 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67645 /* 191411 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67646 /* 191413 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67647 /* 191417 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67648 /* 191422 */ GIR_RootConstrainSelectedInstOperands,
67649 /* 191423 */ // GIR_Coverage, 24168,
67650 /* 191423 */ GIR_EraseRootFromParent_Done,
67651 /* 191424 */ // Label 4294: @191424
67652 /* 191424 */ GIM_Try, /*On fail goto*//*Label 4295*/ GIMT_Encode4(191486), // Rule ID 2641 //
67653 /* 191429 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
67654 /* 191432 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67655 /* 191436 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67656 /* 191440 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67657 /* 191444 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67658 /* 191448 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67659 /* 191451 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67660 /* 191455 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67661 /* 191459 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67662 /* 191461 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67663 /* 191468 */ // (umin:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67664 /* 191468 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBYrm),
67665 /* 191471 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67666 /* 191473 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67667 /* 191475 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67668 /* 191479 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67669 /* 191484 */ GIR_RootConstrainSelectedInstOperands,
67670 /* 191485 */ // GIR_Coverage, 2641,
67671 /* 191485 */ GIR_EraseRootFromParent_Done,
67672 /* 191486 */ // Label 4295: @191486
67673 /* 191486 */ GIM_Try, /*On fail goto*//*Label 4296*/ GIMT_Encode4(191548), // Rule ID 5609 //
67674 /* 191491 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67675 /* 191494 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67676 /* 191498 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67677 /* 191502 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67678 /* 191506 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67679 /* 191510 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67680 /* 191513 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67681 /* 191517 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67682 /* 191521 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67683 /* 191523 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67684 /* 191530 */ // (umin:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67685 /* 191530 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ256rm),
67686 /* 191533 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67687 /* 191535 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67688 /* 191537 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67689 /* 191541 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67690 /* 191546 */ GIR_RootConstrainSelectedInstOperands,
67691 /* 191547 */ // GIR_Coverage, 5609,
67692 /* 191547 */ GIR_EraseRootFromParent_Done,
67693 /* 191548 */ // Label 4296: @191548
67694 /* 191548 */ GIM_Try, /*On fail goto*//*Label 4297*/ GIMT_Encode4(191575), // Rule ID 2640 //
67695 /* 191553 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
67696 /* 191556 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67697 /* 191560 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67698 /* 191564 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67699 /* 191568 */ // (umin:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPMINUBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
67700 /* 191568 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBYrr),
67701 /* 191573 */ GIR_RootConstrainSelectedInstOperands,
67702 /* 191574 */ // GIR_Coverage, 2640,
67703 /* 191574 */ GIR_Done,
67704 /* 191575 */ // Label 4297: @191575
67705 /* 191575 */ GIM_Try, /*On fail goto*//*Label 4298*/ GIMT_Encode4(191602), // Rule ID 5606 //
67706 /* 191580 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67707 /* 191583 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67708 /* 191587 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67709 /* 191591 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67710 /* 191595 */ // (umin:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPMINUBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
67711 /* 191595 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ256rr),
67712 /* 191600 */ GIR_RootConstrainSelectedInstOperands,
67713 /* 191601 */ // GIR_Coverage, 5606,
67714 /* 191601 */ GIR_Done,
67715 /* 191602 */ // Label 4298: @191602
67716 /* 191602 */ GIM_Reject,
67717 /* 191603 */ // Label 4292: @191603
67718 /* 191603 */ GIM_Reject,
67719 /* 191604 */ // Label 4233: @191604
67720 /* 191604 */ GIM_Try, /*On fail goto*//*Label 4299*/ GIMT_Encode4(191759),
67721 /* 191609 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
67722 /* 191612 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
67723 /* 191615 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67724 /* 191619 */ GIM_Try, /*On fail goto*//*Label 4300*/ GIMT_Encode4(191677), // Rule ID 24174 //
67725 /* 191624 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
67726 /* 191627 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67727 /* 191631 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67728 /* 191635 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67729 /* 191638 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67730 /* 191642 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67731 /* 191646 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67732 /* 191650 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67733 /* 191652 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67734 /* 191659 */ // (umin:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMINUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67735 /* 191659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZrm),
67736 /* 191662 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67737 /* 191664 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67738 /* 191666 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67739 /* 191670 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67740 /* 191675 */ GIR_RootConstrainSelectedInstOperands,
67741 /* 191676 */ // GIR_Coverage, 24174,
67742 /* 191676 */ GIR_EraseRootFromParent_Done,
67743 /* 191677 */ // Label 4300: @191677
67744 /* 191677 */ GIM_Try, /*On fail goto*//*Label 4301*/ GIMT_Encode4(191735), // Rule ID 5621 //
67745 /* 191682 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
67746 /* 191685 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67747 /* 191689 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67748 /* 191693 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67749 /* 191697 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67750 /* 191700 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67751 /* 191704 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67752 /* 191708 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67753 /* 191710 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67754 /* 191717 */ // (umin:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67755 /* 191717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZrm),
67756 /* 191720 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67757 /* 191722 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67758 /* 191724 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67759 /* 191728 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67760 /* 191733 */ GIR_RootConstrainSelectedInstOperands,
67761 /* 191734 */ // GIR_Coverage, 5621,
67762 /* 191734 */ GIR_EraseRootFromParent_Done,
67763 /* 191735 */ // Label 4301: @191735
67764 /* 191735 */ GIM_Try, /*On fail goto*//*Label 4302*/ GIMT_Encode4(191758), // Rule ID 5618 //
67765 /* 191740 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
67766 /* 191743 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67767 /* 191747 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67768 /* 191751 */ // (umin:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMINUWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
67769 /* 191751 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWZrr),
67770 /* 191756 */ GIR_RootConstrainSelectedInstOperands,
67771 /* 191757 */ // GIR_Coverage, 5618,
67772 /* 191757 */ GIR_Done,
67773 /* 191758 */ // Label 4302: @191758
67774 /* 191758 */ GIM_Reject,
67775 /* 191759 */ // Label 4299: @191759
67776 /* 191759 */ GIM_Reject,
67777 /* 191760 */ // Label 4234: @191760
67778 /* 191760 */ GIM_Try, /*On fail goto*//*Label 4303*/ GIMT_Encode4(191915),
67779 /* 191765 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
67780 /* 191768 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
67781 /* 191771 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67782 /* 191775 */ GIM_Try, /*On fail goto*//*Label 4304*/ GIMT_Encode4(191833), // Rule ID 24165 //
67783 /* 191780 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
67784 /* 191783 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67785 /* 191787 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67786 /* 191791 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67787 /* 191794 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67788 /* 191798 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67789 /* 191802 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67790 /* 191806 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67791 /* 191808 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67792 /* 191815 */ // (umin:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPMINUBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67793 /* 191815 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZrm),
67794 /* 191818 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67795 /* 191820 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67796 /* 191822 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67797 /* 191826 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67798 /* 191831 */ GIR_RootConstrainSelectedInstOperands,
67799 /* 191832 */ // GIR_Coverage, 24165,
67800 /* 191832 */ GIR_EraseRootFromParent_Done,
67801 /* 191833 */ // Label 4304: @191833
67802 /* 191833 */ GIM_Try, /*On fail goto*//*Label 4305*/ GIMT_Encode4(191891), // Rule ID 5603 //
67803 /* 191838 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
67804 /* 191841 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67805 /* 191845 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67806 /* 191849 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67807 /* 191853 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67808 /* 191856 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67809 /* 191860 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67810 /* 191864 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67811 /* 191866 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67812 /* 191873 */ // (umin:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67813 /* 191873 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZrm),
67814 /* 191876 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67815 /* 191878 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67816 /* 191880 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67817 /* 191884 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67818 /* 191889 */ GIR_RootConstrainSelectedInstOperands,
67819 /* 191890 */ // GIR_Coverage, 5603,
67820 /* 191890 */ GIR_EraseRootFromParent_Done,
67821 /* 191891 */ // Label 4305: @191891
67822 /* 191891 */ GIM_Try, /*On fail goto*//*Label 4306*/ GIMT_Encode4(191914), // Rule ID 5600 //
67823 /* 191896 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
67824 /* 191899 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67825 /* 191903 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67826 /* 191907 */ // (umin:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPMINUBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
67827 /* 191907 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBZrr),
67828 /* 191912 */ GIR_RootConstrainSelectedInstOperands,
67829 /* 191913 */ // GIR_Coverage, 5600,
67830 /* 191913 */ GIR_Done,
67831 /* 191914 */ // Label 4306: @191914
67832 /* 191914 */ GIM_Reject,
67833 /* 191915 */ // Label 4303: @191915
67834 /* 191915 */ GIM_Reject,
67835 /* 191916 */ // Label 4235: @191916
67836 /* 191916 */ GIM_Reject,
67837 /* 191917 */ // Label 58: @191917
67838 /* 191917 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(8), GIMT_Encode2(25), /*)*//*default:*//*Label 4319*/ GIMT_Encode4(195237),
67839 /* 191928 */ /*GILLT_v2s64*//*Label 4307*/ GIMT_Encode4(191996), GIMT_Encode4(0),
67840 /* 191936 */ /*GILLT_v4s32*//*Label 4308*/ GIMT_Encode4(192325),
67841 /* 191940 */ /*GILLT_v4s64*//*Label 4309*/ GIMT_Encode4(192667), GIMT_Encode4(0),
67842 /* 191948 */ /*GILLT_v8s16*//*Label 4310*/ GIMT_Encode4(192984),
67843 /* 191952 */ /*GILLT_v8s32*//*Label 4311*/ GIMT_Encode4(193326),
67844 /* 191956 */ /*GILLT_v8s64*//*Label 4312*/ GIMT_Encode4(193641), GIMT_Encode4(0),
67845 /* 191964 */ /*GILLT_v16s8*//*Label 4313*/ GIMT_Encode4(193797),
67846 /* 191968 */ /*GILLT_v16s16*//*Label 4314*/ GIMT_Encode4(194139),
67847 /* 191972 */ /*GILLT_v16s32*//*Label 4315*/ GIMT_Encode4(194454), GIMT_Encode4(0),
67848 /* 191980 */ /*GILLT_v32s8*//*Label 4316*/ GIMT_Encode4(194610),
67849 /* 191984 */ /*GILLT_v32s16*//*Label 4317*/ GIMT_Encode4(194925), GIMT_Encode4(0),
67850 /* 191992 */ /*GILLT_v64s8*//*Label 4318*/ GIMT_Encode4(195081),
67851 /* 191996 */ // Label 4307: @191996
67852 /* 191996 */ GIM_Try, /*On fail goto*//*Label 4320*/ GIMT_Encode4(192324),
67853 /* 192001 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
67854 /* 192004 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
67855 /* 192007 */ GIM_Try, /*On fail goto*//*Label 4321*/ GIMT_Encode4(192069), // Rule ID 24105 //
67856 /* 192012 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67857 /* 192015 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67858 /* 192019 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67859 /* 192023 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67860 /* 192027 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67861 /* 192030 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67862 /* 192034 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67863 /* 192038 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67864 /* 192042 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67865 /* 192044 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67866 /* 192051 */ // (umax:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMAXUQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
67867 /* 192051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ128rm),
67868 /* 192054 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67869 /* 192056 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67870 /* 192058 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67871 /* 192062 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67872 /* 192067 */ GIR_RootConstrainSelectedInstOperands,
67873 /* 192068 */ // GIR_Coverage, 24105,
67874 /* 192068 */ GIR_EraseRootFromParent_Done,
67875 /* 192069 */ // Label 4321: @192069
67876 /* 192069 */ GIM_Try, /*On fail goto*//*Label 4322*/ GIMT_Encode4(192131), // Rule ID 5504 //
67877 /* 192074 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67878 /* 192077 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67879 /* 192081 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67880 /* 192085 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67881 /* 192089 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67882 /* 192093 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67883 /* 192096 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67884 /* 192100 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67885 /* 192104 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67886 /* 192106 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67887 /* 192113 */ // (umax:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
67888 /* 192113 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ128rm),
67889 /* 192116 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67890 /* 192118 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67891 /* 192120 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67892 /* 192124 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67893 /* 192129 */ GIR_RootConstrainSelectedInstOperands,
67894 /* 192130 */ // GIR_Coverage, 5504,
67895 /* 192130 */ GIR_EraseRootFromParent_Done,
67896 /* 192131 */ // Label 4322: @192131
67897 /* 192131 */ GIM_Try, /*On fail goto*//*Label 4323*/ GIMT_Encode4(192158), // Rule ID 5501 //
67898 /* 192136 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67899 /* 192139 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67900 /* 192143 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67901 /* 192147 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67902 /* 192151 */ // (umax:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMAXUQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
67903 /* 192151 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ128rr),
67904 /* 192156 */ GIR_RootConstrainSelectedInstOperands,
67905 /* 192157 */ // GIR_Coverage, 5501,
67906 /* 192157 */ GIR_Done,
67907 /* 192158 */ // Label 4323: @192158
67908 /* 192158 */ GIM_Try, /*On fail goto*//*Label 4324*/ GIMT_Encode4(192323), // Rule ID 20011 //
67909 /* 192163 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
67910 /* 192166 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
67911 /* 192170 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67912 /* 192174 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67913 /* 192178 */ // (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] })
67914 /* 192178 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
67915 /* 192181 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
67916 /* 192185 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67917 /* 192190 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
67918 /* 192192 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
67919 /* 192195 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
67920 /* 192199 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67921 /* 192204 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
67922 /* 192207 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
67923 /* 192211 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
67924 /* 192214 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
67925 /* 192219 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
67926 /* 192224 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
67927 /* 192229 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
67928 /* 192232 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
67929 /* 192236 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67930 /* 192241 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
67931 /* 192243 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
67932 /* 192246 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
67933 /* 192250 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67934 /* 192255 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
67935 /* 192258 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
67936 /* 192262 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
67937 /* 192265 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
67938 /* 192270 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
67939 /* 192275 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
67940 /* 192280 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
67941 /* 192283 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrr),
67942 /* 192287 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67943 /* 192292 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
67944 /* 192295 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
67945 /* 192298 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
67946 /* 192300 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
67947 /* 192303 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67948 /* 192305 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
67949 /* 192312 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
67950 /* 192317 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
67951 /* 192322 */ // GIR_Coverage, 20011,
67952 /* 192322 */ GIR_EraseRootFromParent_Done,
67953 /* 192323 */ // Label 4324: @192323
67954 /* 192323 */ GIM_Reject,
67955 /* 192324 */ // Label 4320: @192324
67956 /* 192324 */ GIM_Reject,
67957 /* 192325 */ // Label 4308: @192325
67958 /* 192325 */ GIM_Try, /*On fail goto*//*Label 4325*/ GIMT_Encode4(192666),
67959 /* 192330 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
67960 /* 192333 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
67961 /* 192336 */ GIM_Try, /*On fail goto*//*Label 4326*/ GIMT_Encode4(192398), // Rule ID 23586 //
67962 /* 192341 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
67963 /* 192344 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67964 /* 192348 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67965 /* 192352 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67966 /* 192356 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67967 /* 192359 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67968 /* 192363 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67969 /* 192367 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67970 /* 192371 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67971 /* 192373 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67972 /* 192380 */ // (umax:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMAXUDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67973 /* 192380 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDrm),
67974 /* 192383 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67975 /* 192385 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67976 /* 192387 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67977 /* 192391 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67978 /* 192396 */ GIR_RootConstrainSelectedInstOperands,
67979 /* 192397 */ // GIR_Coverage, 23586,
67980 /* 192397 */ GIR_EraseRootFromParent_Done,
67981 /* 192398 */ // Label 4326: @192398
67982 /* 192398 */ GIM_Try, /*On fail goto*//*Label 4327*/ GIMT_Encode4(192460), // Rule ID 24087 //
67983 /* 192403 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67984 /* 192406 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67985 /* 192410 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67986 /* 192414 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67987 /* 192418 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67988 /* 192421 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67989 /* 192425 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67990 /* 192429 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67991 /* 192433 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67992 /* 192435 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67993 /* 192442 */ // (umax:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMAXUDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67994 /* 192442 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ128rm),
67995 /* 192445 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67996 /* 192447 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67997 /* 192449 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67998 /* 192453 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67999 /* 192458 */ GIR_RootConstrainSelectedInstOperands,
68000 /* 192459 */ // GIR_Coverage, 24087,
68001 /* 192459 */ GIR_EraseRootFromParent_Done,
68002 /* 192460 */ // Label 4327: @192460
68003 /* 192460 */ GIM_Try, /*On fail goto*//*Label 4328*/ GIMT_Encode4(192522), // Rule ID 3192 //
68004 /* 192465 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
68005 /* 192468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68006 /* 192472 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68007 /* 192476 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68008 /* 192480 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68009 /* 192484 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68010 /* 192487 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68011 /* 192491 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68012 /* 192495 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68013 /* 192497 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68014 /* 192504 */ // (umax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68015 /* 192504 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDrm),
68016 /* 192507 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68017 /* 192509 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68018 /* 192511 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68019 /* 192515 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68020 /* 192520 */ GIR_RootConstrainSelectedInstOperands,
68021 /* 192521 */ // GIR_Coverage, 3192,
68022 /* 192521 */ GIR_EraseRootFromParent_Done,
68023 /* 192522 */ // Label 4328: @192522
68024 /* 192522 */ GIM_Try, /*On fail goto*//*Label 4329*/ GIMT_Encode4(192584), // Rule ID 5477 //
68025 /* 192527 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68026 /* 192530 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68027 /* 192534 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68028 /* 192538 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68029 /* 192542 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68030 /* 192546 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68031 /* 192549 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68032 /* 192553 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68033 /* 192557 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68034 /* 192559 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68035 /* 192566 */ // (umax:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68036 /* 192566 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ128rm),
68037 /* 192569 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68038 /* 192571 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68039 /* 192573 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68040 /* 192577 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68041 /* 192582 */ GIR_RootConstrainSelectedInstOperands,
68042 /* 192583 */ // GIR_Coverage, 5477,
68043 /* 192583 */ GIR_EraseRootFromParent_Done,
68044 /* 192584 */ // Label 4329: @192584
68045 /* 192584 */ GIM_Try, /*On fail goto*//*Label 4330*/ GIMT_Encode4(192611), // Rule ID 3191 //
68046 /* 192589 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
68047 /* 192592 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68048 /* 192596 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68049 /* 192600 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68050 /* 192604 */ // (umax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMAXUDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
68051 /* 192604 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDrr),
68052 /* 192609 */ GIR_RootConstrainSelectedInstOperands,
68053 /* 192610 */ // GIR_Coverage, 3191,
68054 /* 192610 */ GIR_Done,
68055 /* 192611 */ // Label 4330: @192611
68056 /* 192611 */ GIM_Try, /*On fail goto*//*Label 4331*/ GIMT_Encode4(192638), // Rule ID 3233 //
68057 /* 192616 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
68058 /* 192619 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68059 /* 192623 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68060 /* 192627 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68061 /* 192631 */ // (umax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMAXUDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
68062 /* 192631 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXUDrr),
68063 /* 192636 */ GIR_RootConstrainSelectedInstOperands,
68064 /* 192637 */ // GIR_Coverage, 3233,
68065 /* 192637 */ GIR_Done,
68066 /* 192638 */ // Label 4331: @192638
68067 /* 192638 */ GIM_Try, /*On fail goto*//*Label 4332*/ GIMT_Encode4(192665), // Rule ID 5474 //
68068 /* 192643 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68069 /* 192646 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68070 /* 192650 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68071 /* 192654 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68072 /* 192658 */ // (umax:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMAXUDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
68073 /* 192658 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ128rr),
68074 /* 192663 */ GIR_RootConstrainSelectedInstOperands,
68075 /* 192664 */ // GIR_Coverage, 5474,
68076 /* 192664 */ GIR_Done,
68077 /* 192665 */ // Label 4332: @192665
68078 /* 192665 */ GIM_Reject,
68079 /* 192666 */ // Label 4325: @192666
68080 /* 192666 */ GIM_Reject,
68081 /* 192667 */ // Label 4309: @192667
68082 /* 192667 */ GIM_Try, /*On fail goto*//*Label 4333*/ GIMT_Encode4(192983),
68083 /* 192672 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
68084 /* 192675 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
68085 /* 192678 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68086 /* 192682 */ GIM_Try, /*On fail goto*//*Label 4334*/ GIMT_Encode4(192740), // Rule ID 24099 //
68087 /* 192687 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68088 /* 192690 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68089 /* 192694 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68090 /* 192698 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68091 /* 192701 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68092 /* 192705 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68093 /* 192709 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68094 /* 192713 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68095 /* 192715 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68096 /* 192722 */ // (umax:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMAXUQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
68097 /* 192722 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ256rm),
68098 /* 192725 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68099 /* 192727 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68100 /* 192729 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68101 /* 192733 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68102 /* 192738 */ GIR_RootConstrainSelectedInstOperands,
68103 /* 192739 */ // GIR_Coverage, 24099,
68104 /* 192739 */ GIR_EraseRootFromParent_Done,
68105 /* 192740 */ // Label 4334: @192740
68106 /* 192740 */ GIM_Try, /*On fail goto*//*Label 4335*/ GIMT_Encode4(192798), // Rule ID 5495 //
68107 /* 192745 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68108 /* 192748 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68109 /* 192752 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68110 /* 192756 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68111 /* 192760 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68112 /* 192763 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68113 /* 192767 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68114 /* 192771 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68115 /* 192773 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68116 /* 192780 */ // (umax:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
68117 /* 192780 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ256rm),
68118 /* 192783 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68119 /* 192785 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68120 /* 192787 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68121 /* 192791 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68122 /* 192796 */ GIR_RootConstrainSelectedInstOperands,
68123 /* 192797 */ // GIR_Coverage, 5495,
68124 /* 192797 */ GIR_EraseRootFromParent_Done,
68125 /* 192798 */ // Label 4335: @192798
68126 /* 192798 */ GIM_Try, /*On fail goto*//*Label 4336*/ GIMT_Encode4(192821), // Rule ID 5492 //
68127 /* 192803 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68128 /* 192806 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68129 /* 192810 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68130 /* 192814 */ // (umax:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMAXUQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
68131 /* 192814 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ256rr),
68132 /* 192819 */ GIR_RootConstrainSelectedInstOperands,
68133 /* 192820 */ // GIR_Coverage, 5492,
68134 /* 192820 */ GIR_Done,
68135 /* 192821 */ // Label 4336: @192821
68136 /* 192821 */ GIM_Try, /*On fail goto*//*Label 4337*/ GIMT_Encode4(192982), // Rule ID 20009 //
68137 /* 192826 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
68138 /* 192829 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68139 /* 192833 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68140 /* 192837 */ // (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] })
68141 /* 192837 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
68142 /* 192840 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
68143 /* 192844 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68144 /* 192849 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
68145 /* 192851 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
68146 /* 192854 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
68147 /* 192858 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68148 /* 192863 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
68149 /* 192866 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
68150 /* 192870 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
68151 /* 192873 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
68152 /* 192878 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
68153 /* 192883 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
68154 /* 192888 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
68155 /* 192891 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
68156 /* 192895 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68157 /* 192900 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
68158 /* 192902 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
68159 /* 192905 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
68160 /* 192909 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68161 /* 192914 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
68162 /* 192917 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
68163 /* 192921 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
68164 /* 192924 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
68165 /* 192929 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
68166 /* 192934 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
68167 /* 192939 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
68168 /* 192942 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrr),
68169 /* 192946 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68170 /* 192951 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
68171 /* 192954 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
68172 /* 192957 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
68173 /* 192959 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68174 /* 192962 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68175 /* 192964 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
68176 /* 192971 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
68177 /* 192976 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
68178 /* 192981 */ // GIR_Coverage, 20009,
68179 /* 192981 */ GIR_EraseRootFromParent_Done,
68180 /* 192982 */ // Label 4337: @192982
68181 /* 192982 */ GIM_Reject,
68182 /* 192983 */ // Label 4333: @192983
68183 /* 192983 */ GIM_Reject,
68184 /* 192984 */ // Label 4310: @192984
68185 /* 192984 */ GIM_Try, /*On fail goto*//*Label 4338*/ GIMT_Encode4(193325),
68186 /* 192989 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
68187 /* 192992 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
68188 /* 192995 */ GIM_Try, /*On fail goto*//*Label 4339*/ GIMT_Encode4(193057), // Rule ID 23591 //
68189 /* 193000 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
68190 /* 193003 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68191 /* 193007 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68192 /* 193011 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68193 /* 193015 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68194 /* 193018 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68195 /* 193022 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68196 /* 193026 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68197 /* 193030 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68198 /* 193032 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68199 /* 193039 */ // (umax:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMAXUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68200 /* 193039 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWrm),
68201 /* 193042 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68202 /* 193044 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68203 /* 193046 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68204 /* 193050 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68205 /* 193055 */ GIR_RootConstrainSelectedInstOperands,
68206 /* 193056 */ // GIR_Coverage, 23591,
68207 /* 193056 */ GIR_EraseRootFromParent_Done,
68208 /* 193057 */ // Label 4339: @193057
68209 /* 193057 */ GIM_Try, /*On fail goto*//*Label 4340*/ GIMT_Encode4(193119), // Rule ID 24072 //
68210 /* 193062 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68211 /* 193065 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68212 /* 193069 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68213 /* 193073 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68214 /* 193077 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68215 /* 193080 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68216 /* 193084 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68217 /* 193088 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68218 /* 193092 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68219 /* 193094 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68220 /* 193101 */ // (umax:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMAXUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68221 /* 193101 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ128rm),
68222 /* 193104 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68223 /* 193106 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68224 /* 193108 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68225 /* 193112 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68226 /* 193117 */ GIR_RootConstrainSelectedInstOperands,
68227 /* 193118 */ // GIR_Coverage, 24072,
68228 /* 193118 */ GIR_EraseRootFromParent_Done,
68229 /* 193119 */ // Label 4340: @193119
68230 /* 193119 */ GIM_Try, /*On fail goto*//*Label 4341*/ GIMT_Encode4(193181), // Rule ID 3202 //
68231 /* 193124 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
68232 /* 193127 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68233 /* 193131 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68234 /* 193135 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68235 /* 193139 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68236 /* 193143 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68237 /* 193146 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68238 /* 193150 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68239 /* 193154 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68240 /* 193156 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68241 /* 193163 */ // (umax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68242 /* 193163 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWrm),
68243 /* 193166 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68244 /* 193168 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68245 /* 193170 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68246 /* 193174 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68247 /* 193179 */ GIR_RootConstrainSelectedInstOperands,
68248 /* 193180 */ // GIR_Coverage, 3202,
68249 /* 193180 */ GIR_EraseRootFromParent_Done,
68250 /* 193181 */ // Label 4341: @193181
68251 /* 193181 */ GIM_Try, /*On fail goto*//*Label 4342*/ GIMT_Encode4(193243), // Rule ID 5453 //
68252 /* 193186 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68253 /* 193189 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68254 /* 193193 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68255 /* 193197 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68256 /* 193201 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68257 /* 193205 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68258 /* 193208 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68259 /* 193212 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68260 /* 193216 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68261 /* 193218 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68262 /* 193225 */ // (umax:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68263 /* 193225 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ128rm),
68264 /* 193228 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68265 /* 193230 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68266 /* 193232 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68267 /* 193236 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68268 /* 193241 */ GIR_RootConstrainSelectedInstOperands,
68269 /* 193242 */ // GIR_Coverage, 5453,
68270 /* 193242 */ GIR_EraseRootFromParent_Done,
68271 /* 193243 */ // Label 4342: @193243
68272 /* 193243 */ GIM_Try, /*On fail goto*//*Label 4343*/ GIMT_Encode4(193270), // Rule ID 3201 //
68273 /* 193248 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
68274 /* 193251 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68275 /* 193255 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68276 /* 193259 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68277 /* 193263 */ // (umax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMAXUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
68278 /* 193263 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWrr),
68279 /* 193268 */ GIR_RootConstrainSelectedInstOperands,
68280 /* 193269 */ // GIR_Coverage, 3201,
68281 /* 193269 */ GIR_Done,
68282 /* 193270 */ // Label 4343: @193270
68283 /* 193270 */ GIM_Try, /*On fail goto*//*Label 4344*/ GIMT_Encode4(193297), // Rule ID 3235 //
68284 /* 193275 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
68285 /* 193278 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68286 /* 193282 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68287 /* 193286 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68288 /* 193290 */ // (umax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMAXUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
68289 /* 193290 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXUWrr),
68290 /* 193295 */ GIR_RootConstrainSelectedInstOperands,
68291 /* 193296 */ // GIR_Coverage, 3235,
68292 /* 193296 */ GIR_Done,
68293 /* 193297 */ // Label 4344: @193297
68294 /* 193297 */ GIM_Try, /*On fail goto*//*Label 4345*/ GIMT_Encode4(193324), // Rule ID 5450 //
68295 /* 193302 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68296 /* 193305 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68297 /* 193309 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68298 /* 193313 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68299 /* 193317 */ // (umax:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMAXUWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
68300 /* 193317 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ128rr),
68301 /* 193322 */ GIR_RootConstrainSelectedInstOperands,
68302 /* 193323 */ // GIR_Coverage, 5450,
68303 /* 193323 */ GIR_Done,
68304 /* 193324 */ // Label 4345: @193324
68305 /* 193324 */ GIM_Reject,
68306 /* 193325 */ // Label 4338: @193325
68307 /* 193325 */ GIM_Reject,
68308 /* 193326 */ // Label 4311: @193326
68309 /* 193326 */ GIM_Try, /*On fail goto*//*Label 4346*/ GIMT_Encode4(193640),
68310 /* 193331 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
68311 /* 193334 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
68312 /* 193337 */ GIM_Try, /*On fail goto*//*Label 4347*/ GIMT_Encode4(193399), // Rule ID 23595 //
68313 /* 193342 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
68314 /* 193345 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68315 /* 193349 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68316 /* 193353 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68317 /* 193357 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68318 /* 193360 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68319 /* 193364 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68320 /* 193368 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68321 /* 193372 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68322 /* 193374 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68323 /* 193381 */ // (umax:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMAXUDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68324 /* 193381 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDYrm),
68325 /* 193384 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68326 /* 193386 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68327 /* 193388 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68328 /* 193392 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68329 /* 193397 */ GIR_RootConstrainSelectedInstOperands,
68330 /* 193398 */ // GIR_Coverage, 23595,
68331 /* 193398 */ GIR_EraseRootFromParent_Done,
68332 /* 193399 */ // Label 4347: @193399
68333 /* 193399 */ GIM_Try, /*On fail goto*//*Label 4348*/ GIMT_Encode4(193461), // Rule ID 24081 //
68334 /* 193404 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68335 /* 193407 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68336 /* 193411 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68337 /* 193415 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68338 /* 193419 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68339 /* 193422 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68340 /* 193426 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68341 /* 193430 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68342 /* 193434 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68343 /* 193436 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68344 /* 193443 */ // (umax:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMAXUDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68345 /* 193443 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ256rm),
68346 /* 193446 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68347 /* 193448 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68348 /* 193450 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68349 /* 193454 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68350 /* 193459 */ GIR_RootConstrainSelectedInstOperands,
68351 /* 193460 */ // GIR_Coverage, 24081,
68352 /* 193460 */ GIR_EraseRootFromParent_Done,
68353 /* 193461 */ // Label 4348: @193461
68354 /* 193461 */ GIM_Try, /*On fail goto*//*Label 4349*/ GIMT_Encode4(193523), // Rule ID 3210 //
68355 /* 193466 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
68356 /* 193469 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68357 /* 193473 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68358 /* 193477 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68359 /* 193481 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68360 /* 193485 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68361 /* 193488 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68362 /* 193492 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68363 /* 193496 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68364 /* 193498 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68365 /* 193505 */ // (umax:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68366 /* 193505 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDYrm),
68367 /* 193508 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68368 /* 193510 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68369 /* 193512 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68370 /* 193516 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68371 /* 193521 */ GIR_RootConstrainSelectedInstOperands,
68372 /* 193522 */ // GIR_Coverage, 3210,
68373 /* 193522 */ GIR_EraseRootFromParent_Done,
68374 /* 193523 */ // Label 4349: @193523
68375 /* 193523 */ GIM_Try, /*On fail goto*//*Label 4350*/ GIMT_Encode4(193585), // Rule ID 5468 //
68376 /* 193528 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68377 /* 193531 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68378 /* 193535 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68379 /* 193539 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68380 /* 193543 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68381 /* 193547 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68382 /* 193550 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68383 /* 193554 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68384 /* 193558 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68385 /* 193560 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68386 /* 193567 */ // (umax:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68387 /* 193567 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ256rm),
68388 /* 193570 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68389 /* 193572 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68390 /* 193574 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68391 /* 193578 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68392 /* 193583 */ GIR_RootConstrainSelectedInstOperands,
68393 /* 193584 */ // GIR_Coverage, 5468,
68394 /* 193584 */ GIR_EraseRootFromParent_Done,
68395 /* 193585 */ // Label 4350: @193585
68396 /* 193585 */ GIM_Try, /*On fail goto*//*Label 4351*/ GIMT_Encode4(193612), // Rule ID 3209 //
68397 /* 193590 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
68398 /* 193593 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68399 /* 193597 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68400 /* 193601 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68401 /* 193605 */ // (umax:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMAXUDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
68402 /* 193605 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDYrr),
68403 /* 193610 */ GIR_RootConstrainSelectedInstOperands,
68404 /* 193611 */ // GIR_Coverage, 3209,
68405 /* 193611 */ GIR_Done,
68406 /* 193612 */ // Label 4351: @193612
68407 /* 193612 */ GIM_Try, /*On fail goto*//*Label 4352*/ GIMT_Encode4(193639), // Rule ID 5465 //
68408 /* 193617 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68409 /* 193620 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68410 /* 193624 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68411 /* 193628 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68412 /* 193632 */ // (umax:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMAXUDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
68413 /* 193632 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ256rr),
68414 /* 193637 */ GIR_RootConstrainSelectedInstOperands,
68415 /* 193638 */ // GIR_Coverage, 5465,
68416 /* 193638 */ GIR_Done,
68417 /* 193639 */ // Label 4352: @193639
68418 /* 193639 */ GIM_Reject,
68419 /* 193640 */ // Label 4346: @193640
68420 /* 193640 */ GIM_Reject,
68421 /* 193641 */ // Label 4312: @193641
68422 /* 193641 */ GIM_Try, /*On fail goto*//*Label 4353*/ GIMT_Encode4(193796),
68423 /* 193646 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
68424 /* 193649 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
68425 /* 193652 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68426 /* 193656 */ GIM_Try, /*On fail goto*//*Label 4354*/ GIMT_Encode4(193714), // Rule ID 24093 //
68427 /* 193661 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
68428 /* 193664 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68429 /* 193668 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68430 /* 193672 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68431 /* 193675 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68432 /* 193679 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68433 /* 193683 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68434 /* 193687 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68435 /* 193689 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68436 /* 193696 */ // (umax:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMAXUQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
68437 /* 193696 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrm),
68438 /* 193699 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68439 /* 193701 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68440 /* 193703 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68441 /* 193707 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68442 /* 193712 */ GIR_RootConstrainSelectedInstOperands,
68443 /* 193713 */ // GIR_Coverage, 24093,
68444 /* 193713 */ GIR_EraseRootFromParent_Done,
68445 /* 193714 */ // Label 4354: @193714
68446 /* 193714 */ GIM_Try, /*On fail goto*//*Label 4355*/ GIMT_Encode4(193772), // Rule ID 5486 //
68447 /* 193719 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
68448 /* 193722 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68449 /* 193726 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68450 /* 193730 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68451 /* 193734 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68452 /* 193737 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68453 /* 193741 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68454 /* 193745 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68455 /* 193747 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68456 /* 193754 */ // (umax:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
68457 /* 193754 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrm),
68458 /* 193757 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68459 /* 193759 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68460 /* 193761 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68461 /* 193765 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68462 /* 193770 */ GIR_RootConstrainSelectedInstOperands,
68463 /* 193771 */ // GIR_Coverage, 5486,
68464 /* 193771 */ GIR_EraseRootFromParent_Done,
68465 /* 193772 */ // Label 4355: @193772
68466 /* 193772 */ GIM_Try, /*On fail goto*//*Label 4356*/ GIMT_Encode4(193795), // Rule ID 5483 //
68467 /* 193777 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
68468 /* 193780 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68469 /* 193784 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68470 /* 193788 */ // (umax:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMAXUQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
68471 /* 193788 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrr),
68472 /* 193793 */ GIR_RootConstrainSelectedInstOperands,
68473 /* 193794 */ // GIR_Coverage, 5483,
68474 /* 193794 */ GIR_Done,
68475 /* 193795 */ // Label 4356: @193795
68476 /* 193795 */ GIM_Reject,
68477 /* 193796 */ // Label 4353: @193796
68478 /* 193796 */ GIM_Reject,
68479 /* 193797 */ // Label 4313: @193797
68480 /* 193797 */ GIM_Try, /*On fail goto*//*Label 4357*/ GIMT_Encode4(194138),
68481 /* 193802 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
68482 /* 193805 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
68483 /* 193808 */ GIM_Try, /*On fail goto*//*Label 4358*/ GIMT_Encode4(193870), // Rule ID 23550 //
68484 /* 193813 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
68485 /* 193816 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68486 /* 193820 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68487 /* 193824 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68488 /* 193828 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68489 /* 193831 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68490 /* 193835 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68491 /* 193839 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68492 /* 193843 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68493 /* 193845 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68494 /* 193852 */ // (umax:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPMAXUBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68495 /* 193852 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBrm),
68496 /* 193855 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68497 /* 193857 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68498 /* 193859 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68499 /* 193863 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68500 /* 193868 */ GIR_RootConstrainSelectedInstOperands,
68501 /* 193869 */ // GIR_Coverage, 23550,
68502 /* 193869 */ GIR_EraseRootFromParent_Done,
68503 /* 193870 */ // Label 4358: @193870
68504 /* 193870 */ GIM_Try, /*On fail goto*//*Label 4359*/ GIMT_Encode4(193932), // Rule ID 24063 //
68505 /* 193875 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68506 /* 193878 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68507 /* 193882 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68508 /* 193886 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68509 /* 193890 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68510 /* 193893 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68511 /* 193897 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68512 /* 193901 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68513 /* 193905 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68514 /* 193907 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68515 /* 193914 */ // (umax:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPMAXUBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68516 /* 193914 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ128rm),
68517 /* 193917 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68518 /* 193919 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68519 /* 193921 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68520 /* 193925 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68521 /* 193930 */ GIR_RootConstrainSelectedInstOperands,
68522 /* 193931 */ // GIR_Coverage, 24063,
68523 /* 193931 */ GIR_EraseRootFromParent_Done,
68524 /* 193932 */ // Label 4359: @193932
68525 /* 193932 */ GIM_Try, /*On fail goto*//*Label 4360*/ GIMT_Encode4(193994), // Rule ID 2649 //
68526 /* 193937 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
68527 /* 193940 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68528 /* 193944 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68529 /* 193948 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68530 /* 193952 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68531 /* 193956 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68532 /* 193959 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68533 /* 193963 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68534 /* 193967 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68535 /* 193969 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68536 /* 193976 */ // (umax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68537 /* 193976 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBrm),
68538 /* 193979 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68539 /* 193981 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68540 /* 193983 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68541 /* 193987 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68542 /* 193992 */ GIR_RootConstrainSelectedInstOperands,
68543 /* 193993 */ // GIR_Coverage, 2649,
68544 /* 193993 */ GIR_EraseRootFromParent_Done,
68545 /* 193994 */ // Label 4360: @193994
68546 /* 193994 */ GIM_Try, /*On fail goto*//*Label 4361*/ GIMT_Encode4(194056), // Rule ID 5435 //
68547 /* 193999 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68548 /* 194002 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68549 /* 194006 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68550 /* 194010 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68551 /* 194014 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68552 /* 194018 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68553 /* 194021 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68554 /* 194025 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68555 /* 194029 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68556 /* 194031 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68557 /* 194038 */ // (umax:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68558 /* 194038 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ128rm),
68559 /* 194041 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68560 /* 194043 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68561 /* 194045 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68562 /* 194049 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68563 /* 194054 */ GIR_RootConstrainSelectedInstOperands,
68564 /* 194055 */ // GIR_Coverage, 5435,
68565 /* 194055 */ GIR_EraseRootFromParent_Done,
68566 /* 194056 */ // Label 4361: @194056
68567 /* 194056 */ GIM_Try, /*On fail goto*//*Label 4362*/ GIMT_Encode4(194083), // Rule ID 2648 //
68568 /* 194061 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
68569 /* 194064 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68570 /* 194068 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68571 /* 194072 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68572 /* 194076 */ // (umax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPMAXUBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
68573 /* 194076 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBrr),
68574 /* 194081 */ GIR_RootConstrainSelectedInstOperands,
68575 /* 194082 */ // GIR_Coverage, 2648,
68576 /* 194082 */ GIR_Done,
68577 /* 194083 */ // Label 4362: @194083
68578 /* 194083 */ GIM_Try, /*On fail goto*//*Label 4363*/ GIMT_Encode4(194110), // Rule ID 2650 //
68579 /* 194088 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
68580 /* 194091 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68581 /* 194095 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68582 /* 194099 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68583 /* 194103 */ // (umax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PMAXUBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
68584 /* 194103 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXUBrr),
68585 /* 194108 */ GIR_RootConstrainSelectedInstOperands,
68586 /* 194109 */ // GIR_Coverage, 2650,
68587 /* 194109 */ GIR_Done,
68588 /* 194110 */ // Label 4363: @194110
68589 /* 194110 */ GIM_Try, /*On fail goto*//*Label 4364*/ GIMT_Encode4(194137), // Rule ID 5432 //
68590 /* 194115 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68591 /* 194118 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68592 /* 194122 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68593 /* 194126 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68594 /* 194130 */ // (umax:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPMAXUBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
68595 /* 194130 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ128rr),
68596 /* 194135 */ GIR_RootConstrainSelectedInstOperands,
68597 /* 194136 */ // GIR_Coverage, 5432,
68598 /* 194136 */ GIR_Done,
68599 /* 194137 */ // Label 4364: @194137
68600 /* 194137 */ GIM_Reject,
68601 /* 194138 */ // Label 4357: @194138
68602 /* 194138 */ GIM_Reject,
68603 /* 194139 */ // Label 4314: @194139
68604 /* 194139 */ GIM_Try, /*On fail goto*//*Label 4365*/ GIMT_Encode4(194453),
68605 /* 194144 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
68606 /* 194147 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
68607 /* 194150 */ GIM_Try, /*On fail goto*//*Label 4366*/ GIMT_Encode4(194212), // Rule ID 23600 //
68608 /* 194155 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
68609 /* 194158 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68610 /* 194162 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68611 /* 194166 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68612 /* 194170 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68613 /* 194173 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68614 /* 194177 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68615 /* 194181 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68616 /* 194185 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68617 /* 194187 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68618 /* 194194 */ // (umax:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMAXUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68619 /* 194194 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWYrm),
68620 /* 194197 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68621 /* 194199 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68622 /* 194201 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68623 /* 194205 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68624 /* 194210 */ GIR_RootConstrainSelectedInstOperands,
68625 /* 194211 */ // GIR_Coverage, 23600,
68626 /* 194211 */ GIR_EraseRootFromParent_Done,
68627 /* 194212 */ // Label 4366: @194212
68628 /* 194212 */ GIM_Try, /*On fail goto*//*Label 4367*/ GIMT_Encode4(194274), // Rule ID 24069 //
68629 /* 194217 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68630 /* 194220 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68631 /* 194224 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68632 /* 194228 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68633 /* 194232 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68634 /* 194235 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68635 /* 194239 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68636 /* 194243 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68637 /* 194247 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68638 /* 194249 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68639 /* 194256 */ // (umax:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMAXUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68640 /* 194256 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ256rm),
68641 /* 194259 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68642 /* 194261 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68643 /* 194263 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68644 /* 194267 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68645 /* 194272 */ GIR_RootConstrainSelectedInstOperands,
68646 /* 194273 */ // GIR_Coverage, 24069,
68647 /* 194273 */ GIR_EraseRootFromParent_Done,
68648 /* 194274 */ // Label 4367: @194274
68649 /* 194274 */ GIM_Try, /*On fail goto*//*Label 4368*/ GIMT_Encode4(194336), // Rule ID 3220 //
68650 /* 194279 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
68651 /* 194282 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68652 /* 194286 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68653 /* 194290 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68654 /* 194294 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68655 /* 194298 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68656 /* 194301 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68657 /* 194305 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68658 /* 194309 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68659 /* 194311 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68660 /* 194318 */ // (umax:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68661 /* 194318 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWYrm),
68662 /* 194321 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68663 /* 194323 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68664 /* 194325 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68665 /* 194329 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68666 /* 194334 */ GIR_RootConstrainSelectedInstOperands,
68667 /* 194335 */ // GIR_Coverage, 3220,
68668 /* 194335 */ GIR_EraseRootFromParent_Done,
68669 /* 194336 */ // Label 4368: @194336
68670 /* 194336 */ GIM_Try, /*On fail goto*//*Label 4369*/ GIMT_Encode4(194398), // Rule ID 5447 //
68671 /* 194341 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68672 /* 194344 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68673 /* 194348 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68674 /* 194352 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68675 /* 194356 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68676 /* 194360 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68677 /* 194363 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68678 /* 194367 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68679 /* 194371 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68680 /* 194373 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68681 /* 194380 */ // (umax:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68682 /* 194380 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ256rm),
68683 /* 194383 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68684 /* 194385 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68685 /* 194387 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68686 /* 194391 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68687 /* 194396 */ GIR_RootConstrainSelectedInstOperands,
68688 /* 194397 */ // GIR_Coverage, 5447,
68689 /* 194397 */ GIR_EraseRootFromParent_Done,
68690 /* 194398 */ // Label 4369: @194398
68691 /* 194398 */ GIM_Try, /*On fail goto*//*Label 4370*/ GIMT_Encode4(194425), // Rule ID 3219 //
68692 /* 194403 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
68693 /* 194406 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68694 /* 194410 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68695 /* 194414 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68696 /* 194418 */ // (umax:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMAXUWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
68697 /* 194418 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWYrr),
68698 /* 194423 */ GIR_RootConstrainSelectedInstOperands,
68699 /* 194424 */ // GIR_Coverage, 3219,
68700 /* 194424 */ GIR_Done,
68701 /* 194425 */ // Label 4370: @194425
68702 /* 194425 */ GIM_Try, /*On fail goto*//*Label 4371*/ GIMT_Encode4(194452), // Rule ID 5444 //
68703 /* 194430 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68704 /* 194433 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68705 /* 194437 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68706 /* 194441 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68707 /* 194445 */ // (umax:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMAXUWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
68708 /* 194445 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ256rr),
68709 /* 194450 */ GIR_RootConstrainSelectedInstOperands,
68710 /* 194451 */ // GIR_Coverage, 5444,
68711 /* 194451 */ GIR_Done,
68712 /* 194452 */ // Label 4371: @194452
68713 /* 194452 */ GIM_Reject,
68714 /* 194453 */ // Label 4365: @194453
68715 /* 194453 */ GIM_Reject,
68716 /* 194454 */ // Label 4315: @194454
68717 /* 194454 */ GIM_Try, /*On fail goto*//*Label 4372*/ GIMT_Encode4(194609),
68718 /* 194459 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
68719 /* 194462 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
68720 /* 194465 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68721 /* 194469 */ GIM_Try, /*On fail goto*//*Label 4373*/ GIMT_Encode4(194527), // Rule ID 24075 //
68722 /* 194474 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
68723 /* 194477 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68724 /* 194481 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68725 /* 194485 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68726 /* 194488 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68727 /* 194492 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68728 /* 194496 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68729 /* 194500 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68730 /* 194502 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68731 /* 194509 */ // (umax:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMAXUDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68732 /* 194509 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZrm),
68733 /* 194512 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68734 /* 194514 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68735 /* 194516 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68736 /* 194520 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68737 /* 194525 */ GIR_RootConstrainSelectedInstOperands,
68738 /* 194526 */ // GIR_Coverage, 24075,
68739 /* 194526 */ GIR_EraseRootFromParent_Done,
68740 /* 194527 */ // Label 4373: @194527
68741 /* 194527 */ GIM_Try, /*On fail goto*//*Label 4374*/ GIMT_Encode4(194585), // Rule ID 5459 //
68742 /* 194532 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
68743 /* 194535 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68744 /* 194539 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68745 /* 194543 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68746 /* 194547 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68747 /* 194550 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68748 /* 194554 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68749 /* 194558 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68750 /* 194560 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68751 /* 194567 */ // (umax:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68752 /* 194567 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZrm),
68753 /* 194570 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68754 /* 194572 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68755 /* 194574 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68756 /* 194578 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68757 /* 194583 */ GIR_RootConstrainSelectedInstOperands,
68758 /* 194584 */ // GIR_Coverage, 5459,
68759 /* 194584 */ GIR_EraseRootFromParent_Done,
68760 /* 194585 */ // Label 4374: @194585
68761 /* 194585 */ GIM_Try, /*On fail goto*//*Label 4375*/ GIMT_Encode4(194608), // Rule ID 5456 //
68762 /* 194590 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
68763 /* 194593 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68764 /* 194597 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68765 /* 194601 */ // (umax:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMAXUDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
68766 /* 194601 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZrr),
68767 /* 194606 */ GIR_RootConstrainSelectedInstOperands,
68768 /* 194607 */ // GIR_Coverage, 5456,
68769 /* 194607 */ GIR_Done,
68770 /* 194608 */ // Label 4375: @194608
68771 /* 194608 */ GIM_Reject,
68772 /* 194609 */ // Label 4372: @194609
68773 /* 194609 */ GIM_Reject,
68774 /* 194610 */ // Label 4316: @194610
68775 /* 194610 */ GIM_Try, /*On fail goto*//*Label 4376*/ GIMT_Encode4(194924),
68776 /* 194615 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
68777 /* 194618 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
68778 /* 194621 */ GIM_Try, /*On fail goto*//*Label 4377*/ GIMT_Encode4(194683), // Rule ID 23552 //
68779 /* 194626 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
68780 /* 194629 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68781 /* 194633 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68782 /* 194637 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68783 /* 194641 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68784 /* 194644 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68785 /* 194648 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68786 /* 194652 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68787 /* 194656 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68788 /* 194658 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68789 /* 194665 */ // (umax:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPMAXUBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68790 /* 194665 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBYrm),
68791 /* 194668 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68792 /* 194670 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68793 /* 194672 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68794 /* 194676 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68795 /* 194681 */ GIR_RootConstrainSelectedInstOperands,
68796 /* 194682 */ // GIR_Coverage, 23552,
68797 /* 194682 */ GIR_EraseRootFromParent_Done,
68798 /* 194683 */ // Label 4377: @194683
68799 /* 194683 */ GIM_Try, /*On fail goto*//*Label 4378*/ GIMT_Encode4(194745), // Rule ID 24060 //
68800 /* 194688 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68801 /* 194691 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68802 /* 194695 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68803 /* 194699 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68804 /* 194703 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68805 /* 194706 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68806 /* 194710 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68807 /* 194714 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68808 /* 194718 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68809 /* 194720 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68810 /* 194727 */ // (umax:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPMAXUBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68811 /* 194727 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ256rm),
68812 /* 194730 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68813 /* 194732 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68814 /* 194734 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68815 /* 194738 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68816 /* 194743 */ GIR_RootConstrainSelectedInstOperands,
68817 /* 194744 */ // GIR_Coverage, 24060,
68818 /* 194744 */ GIR_EraseRootFromParent_Done,
68819 /* 194745 */ // Label 4378: @194745
68820 /* 194745 */ GIM_Try, /*On fail goto*//*Label 4379*/ GIMT_Encode4(194807), // Rule ID 2653 //
68821 /* 194750 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
68822 /* 194753 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68823 /* 194757 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68824 /* 194761 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68825 /* 194765 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68826 /* 194769 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68827 /* 194772 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68828 /* 194776 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68829 /* 194780 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68830 /* 194782 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68831 /* 194789 */ // (umax:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68832 /* 194789 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBYrm),
68833 /* 194792 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68834 /* 194794 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68835 /* 194796 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68836 /* 194800 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68837 /* 194805 */ GIR_RootConstrainSelectedInstOperands,
68838 /* 194806 */ // GIR_Coverage, 2653,
68839 /* 194806 */ GIR_EraseRootFromParent_Done,
68840 /* 194807 */ // Label 4379: @194807
68841 /* 194807 */ GIM_Try, /*On fail goto*//*Label 4380*/ GIMT_Encode4(194869), // Rule ID 5429 //
68842 /* 194812 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68843 /* 194815 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68844 /* 194819 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68845 /* 194823 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68846 /* 194827 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68847 /* 194831 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68848 /* 194834 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68849 /* 194838 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68850 /* 194842 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68851 /* 194844 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68852 /* 194851 */ // (umax:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68853 /* 194851 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ256rm),
68854 /* 194854 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68855 /* 194856 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68856 /* 194858 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68857 /* 194862 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68858 /* 194867 */ GIR_RootConstrainSelectedInstOperands,
68859 /* 194868 */ // GIR_Coverage, 5429,
68860 /* 194868 */ GIR_EraseRootFromParent_Done,
68861 /* 194869 */ // Label 4380: @194869
68862 /* 194869 */ GIM_Try, /*On fail goto*//*Label 4381*/ GIMT_Encode4(194896), // Rule ID 2652 //
68863 /* 194874 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
68864 /* 194877 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68865 /* 194881 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68866 /* 194885 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68867 /* 194889 */ // (umax:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPMAXUBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
68868 /* 194889 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBYrr),
68869 /* 194894 */ GIR_RootConstrainSelectedInstOperands,
68870 /* 194895 */ // GIR_Coverage, 2652,
68871 /* 194895 */ GIR_Done,
68872 /* 194896 */ // Label 4381: @194896
68873 /* 194896 */ GIM_Try, /*On fail goto*//*Label 4382*/ GIMT_Encode4(194923), // Rule ID 5426 //
68874 /* 194901 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68875 /* 194904 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68876 /* 194908 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68877 /* 194912 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68878 /* 194916 */ // (umax:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPMAXUBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
68879 /* 194916 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ256rr),
68880 /* 194921 */ GIR_RootConstrainSelectedInstOperands,
68881 /* 194922 */ // GIR_Coverage, 5426,
68882 /* 194922 */ GIR_Done,
68883 /* 194923 */ // Label 4382: @194923
68884 /* 194923 */ GIM_Reject,
68885 /* 194924 */ // Label 4376: @194924
68886 /* 194924 */ GIM_Reject,
68887 /* 194925 */ // Label 4317: @194925
68888 /* 194925 */ GIM_Try, /*On fail goto*//*Label 4383*/ GIMT_Encode4(195080),
68889 /* 194930 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
68890 /* 194933 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
68891 /* 194936 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68892 /* 194940 */ GIM_Try, /*On fail goto*//*Label 4384*/ GIMT_Encode4(194998), // Rule ID 24066 //
68893 /* 194945 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
68894 /* 194948 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68895 /* 194952 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68896 /* 194956 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68897 /* 194959 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68898 /* 194963 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68899 /* 194967 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68900 /* 194971 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68901 /* 194973 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68902 /* 194980 */ // (umax:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMAXUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68903 /* 194980 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZrm),
68904 /* 194983 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68905 /* 194985 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68906 /* 194987 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68907 /* 194991 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68908 /* 194996 */ GIR_RootConstrainSelectedInstOperands,
68909 /* 194997 */ // GIR_Coverage, 24066,
68910 /* 194997 */ GIR_EraseRootFromParent_Done,
68911 /* 194998 */ // Label 4384: @194998
68912 /* 194998 */ GIM_Try, /*On fail goto*//*Label 4385*/ GIMT_Encode4(195056), // Rule ID 5441 //
68913 /* 195003 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
68914 /* 195006 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68915 /* 195010 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68916 /* 195014 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68917 /* 195018 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68918 /* 195021 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68919 /* 195025 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68920 /* 195029 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68921 /* 195031 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68922 /* 195038 */ // (umax:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68923 /* 195038 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZrm),
68924 /* 195041 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68925 /* 195043 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68926 /* 195045 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68927 /* 195049 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68928 /* 195054 */ GIR_RootConstrainSelectedInstOperands,
68929 /* 195055 */ // GIR_Coverage, 5441,
68930 /* 195055 */ GIR_EraseRootFromParent_Done,
68931 /* 195056 */ // Label 4385: @195056
68932 /* 195056 */ GIM_Try, /*On fail goto*//*Label 4386*/ GIMT_Encode4(195079), // Rule ID 5438 //
68933 /* 195061 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
68934 /* 195064 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68935 /* 195068 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68936 /* 195072 */ // (umax:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMAXUWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
68937 /* 195072 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZrr),
68938 /* 195077 */ GIR_RootConstrainSelectedInstOperands,
68939 /* 195078 */ // GIR_Coverage, 5438,
68940 /* 195078 */ GIR_Done,
68941 /* 195079 */ // Label 4386: @195079
68942 /* 195079 */ GIM_Reject,
68943 /* 195080 */ // Label 4383: @195080
68944 /* 195080 */ GIM_Reject,
68945 /* 195081 */ // Label 4318: @195081
68946 /* 195081 */ GIM_Try, /*On fail goto*//*Label 4387*/ GIMT_Encode4(195236),
68947 /* 195086 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
68948 /* 195089 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
68949 /* 195092 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68950 /* 195096 */ GIM_Try, /*On fail goto*//*Label 4388*/ GIMT_Encode4(195154), // Rule ID 24057 //
68951 /* 195101 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
68952 /* 195104 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68953 /* 195108 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68954 /* 195112 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68955 /* 195115 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68956 /* 195119 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68957 /* 195123 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68958 /* 195127 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68959 /* 195129 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68960 /* 195136 */ // (umax:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPMAXUBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68961 /* 195136 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZrm),
68962 /* 195139 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68963 /* 195141 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68964 /* 195143 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68965 /* 195147 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68966 /* 195152 */ GIR_RootConstrainSelectedInstOperands,
68967 /* 195153 */ // GIR_Coverage, 24057,
68968 /* 195153 */ GIR_EraseRootFromParent_Done,
68969 /* 195154 */ // Label 4388: @195154
68970 /* 195154 */ GIM_Try, /*On fail goto*//*Label 4389*/ GIMT_Encode4(195212), // Rule ID 5423 //
68971 /* 195159 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
68972 /* 195162 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68973 /* 195166 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68974 /* 195170 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68975 /* 195174 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68976 /* 195177 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68977 /* 195181 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68978 /* 195185 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68979 /* 195187 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68980 /* 195194 */ // (umax:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68981 /* 195194 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZrm),
68982 /* 195197 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68983 /* 195199 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68984 /* 195201 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68985 /* 195205 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68986 /* 195210 */ GIR_RootConstrainSelectedInstOperands,
68987 /* 195211 */ // GIR_Coverage, 5423,
68988 /* 195211 */ GIR_EraseRootFromParent_Done,
68989 /* 195212 */ // Label 4389: @195212
68990 /* 195212 */ GIM_Try, /*On fail goto*//*Label 4390*/ GIMT_Encode4(195235), // Rule ID 5420 //
68991 /* 195217 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
68992 /* 195220 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68993 /* 195224 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68994 /* 195228 */ // (umax:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPMAXUBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
68995 /* 195228 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZrr),
68996 /* 195233 */ GIR_RootConstrainSelectedInstOperands,
68997 /* 195234 */ // GIR_Coverage, 5420,
68998 /* 195234 */ GIR_Done,
68999 /* 195235 */ // Label 4390: @195235
69000 /* 195235 */ GIM_Reject,
69001 /* 195236 */ // Label 4387: @195236
69002 /* 195236 */ GIM_Reject,
69003 /* 195237 */ // Label 4319: @195237
69004 /* 195237 */ GIM_Reject,
69005 /* 195238 */ // Label 59: @195238
69006 /* 195238 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(8), GIMT_Encode2(25), /*)*//*default:*//*Label 4403*/ GIMT_Encode4(197118),
69007 /* 195249 */ /*GILLT_v2s64*//*Label 4391*/ GIMT_Encode4(195317), GIMT_Encode4(0),
69008 /* 195257 */ /*GILLT_v4s32*//*Label 4392*/ GIMT_Encode4(195513),
69009 /* 195261 */ /*GILLT_v4s64*//*Label 4393*/ GIMT_Encode4(195704), GIMT_Encode4(0),
69010 /* 195269 */ /*GILLT_v8s16*//*Label 4394*/ GIMT_Encode4(195892),
69011 /* 195273 */ /*GILLT_v8s32*//*Label 4395*/ GIMT_Encode4(196083),
69012 /* 195277 */ /*GILLT_v8s64*//*Label 4396*/ GIMT_Encode4(196251), GIMT_Encode4(0),
69013 /* 195285 */ /*GILLT_v16s8*//*Label 4397*/ GIMT_Encode4(196336),
69014 /* 195289 */ /*GILLT_v16s16*//*Label 4398*/ GIMT_Encode4(196527),
69015 /* 195293 */ /*GILLT_v16s32*//*Label 4399*/ GIMT_Encode4(196695), GIMT_Encode4(0),
69016 /* 195301 */ /*GILLT_v32s8*//*Label 4400*/ GIMT_Encode4(196780),
69017 /* 195305 */ /*GILLT_v32s16*//*Label 4401*/ GIMT_Encode4(196948), GIMT_Encode4(0),
69018 /* 195313 */ /*GILLT_v64s8*//*Label 4402*/ GIMT_Encode4(197033),
69019 /* 195317 */ // Label 4391: @195317
69020 /* 195317 */ GIM_Try, /*On fail goto*//*Label 4404*/ GIMT_Encode4(195512),
69021 /* 195322 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
69022 /* 195325 */ GIM_Try, /*On fail goto*//*Label 4405*/ GIMT_Encode4(195381), // Rule ID 13271 //
69023 /* 195330 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69024 /* 195333 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69025 /* 195337 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69026 /* 195341 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69027 /* 195345 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69028 /* 195348 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69029 /* 195352 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69030 /* 195356 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69031 /* 195358 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69032 /* 195365 */ // (abs:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)
69033 /* 195365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSQZ128rm),
69034 /* 195368 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69035 /* 195370 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69036 /* 195374 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69037 /* 195379 */ GIR_RootConstrainSelectedInstOperands,
69038 /* 195380 */ // GIR_Coverage, 13271,
69039 /* 195380 */ GIR_EraseRootFromParent_Done,
69040 /* 195381 */ // Label 4405: @195381
69041 /* 195381 */ GIM_Try, /*On fail goto*//*Label 4406*/ GIMT_Encode4(195404), // Rule ID 13268 //
69042 /* 195386 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69043 /* 195389 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69044 /* 195393 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69045 /* 195397 */ // (abs:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1) => (VPABSQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1)
69046 /* 195397 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSQZ128rr),
69047 /* 195402 */ GIR_RootConstrainSelectedInstOperands,
69048 /* 195403 */ // GIR_Coverage, 13268,
69049 /* 195403 */ GIR_Done,
69050 /* 195404 */ // Label 4406: @195404
69051 /* 195404 */ GIM_Try, /*On fail goto*//*Label 4407*/ GIMT_Encode4(195511), // Rule ID 21835 //
69052 /* 195409 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
69053 /* 195412 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
69054 /* 195416 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69055 /* 195420 */ // (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] })
69056 /* 195420 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
69057 /* 195423 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
69058 /* 195427 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69059 /* 195432 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
69060 /* 195434 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
69061 /* 195437 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
69062 /* 195441 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69063 /* 195446 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
69064 /* 195449 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
69065 /* 195453 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
69066 /* 195456 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
69067 /* 195461 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69068 /* 195466 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
69069 /* 195471 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
69070 /* 195474 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPABSQZrr),
69071 /* 195478 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69072 /* 195483 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
69073 /* 195486 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
69074 /* 195488 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69075 /* 195491 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69076 /* 195493 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
69077 /* 195500 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
69078 /* 195505 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69079 /* 195510 */ // GIR_Coverage, 21835,
69080 /* 195510 */ GIR_EraseRootFromParent_Done,
69081 /* 195511 */ // Label 4407: @195511
69082 /* 195511 */ GIM_Reject,
69083 /* 195512 */ // Label 4404: @195512
69084 /* 195512 */ GIM_Reject,
69085 /* 195513 */ // Label 4392: @195513
69086 /* 195513 */ GIM_Try, /*On fail goto*//*Label 4408*/ GIMT_Encode4(195703),
69087 /* 195518 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
69088 /* 195521 */ GIM_Try, /*On fail goto*//*Label 4409*/ GIMT_Encode4(195577), // Rule ID 2995 //
69089 /* 195526 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
69090 /* 195529 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69091 /* 195533 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69092 /* 195537 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69093 /* 195541 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69094 /* 195544 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69095 /* 195548 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69096 /* 195552 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69097 /* 195554 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69098 /* 195561 */ // (abs:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
69099 /* 195561 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDrm),
69100 /* 195564 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69101 /* 195566 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
69102 /* 195570 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69103 /* 195575 */ GIR_RootConstrainSelectedInstOperands,
69104 /* 195576 */ // GIR_Coverage, 2995,
69105 /* 195576 */ GIR_EraseRootFromParent_Done,
69106 /* 195577 */ // Label 4409: @195577
69107 /* 195577 */ GIM_Try, /*On fail goto*//*Label 4410*/ GIMT_Encode4(195633), // Rule ID 13298 //
69108 /* 195582 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69109 /* 195585 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69110 /* 195589 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69111 /* 195593 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69112 /* 195597 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69113 /* 195600 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69114 /* 195604 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69115 /* 195608 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69116 /* 195610 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69117 /* 195617 */ // (abs:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDZ128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)
69118 /* 195617 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDZ128rm),
69119 /* 195620 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69120 /* 195622 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69121 /* 195626 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69122 /* 195631 */ GIR_RootConstrainSelectedInstOperands,
69123 /* 195632 */ // GIR_Coverage, 13298,
69124 /* 195632 */ GIR_EraseRootFromParent_Done,
69125 /* 195633 */ // Label 4410: @195633
69126 /* 195633 */ GIM_Try, /*On fail goto*//*Label 4411*/ GIMT_Encode4(195656), // Rule ID 2994 //
69127 /* 195638 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
69128 /* 195641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69129 /* 195645 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69130 /* 195649 */ // (abs:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src) => (VPABSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src)
69131 /* 195649 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDrr),
69132 /* 195654 */ GIR_RootConstrainSelectedInstOperands,
69133 /* 195655 */ // GIR_Coverage, 2994,
69134 /* 195655 */ GIR_Done,
69135 /* 195656 */ // Label 4411: @195656
69136 /* 195656 */ GIM_Try, /*On fail goto*//*Label 4412*/ GIMT_Encode4(195679), // Rule ID 3006 //
69137 /* 195661 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
69138 /* 195664 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69139 /* 195668 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69140 /* 195672 */ // (abs:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src) => (PABSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src)
69141 /* 195672 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PABSDrr),
69142 /* 195677 */ GIR_RootConstrainSelectedInstOperands,
69143 /* 195678 */ // GIR_Coverage, 3006,
69144 /* 195678 */ GIR_Done,
69145 /* 195679 */ // Label 4412: @195679
69146 /* 195679 */ GIM_Try, /*On fail goto*//*Label 4413*/ GIMT_Encode4(195702), // Rule ID 13295 //
69147 /* 195684 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69148 /* 195687 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69149 /* 195691 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69150 /* 195695 */ // (abs:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1) => (VPABSDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1)
69151 /* 195695 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDZ128rr),
69152 /* 195700 */ GIR_RootConstrainSelectedInstOperands,
69153 /* 195701 */ // GIR_Coverage, 13295,
69154 /* 195701 */ GIR_Done,
69155 /* 195702 */ // Label 4413: @195702
69156 /* 195702 */ GIM_Reject,
69157 /* 195703 */ // Label 4408: @195703
69158 /* 195703 */ GIM_Reject,
69159 /* 195704 */ // Label 4393: @195704
69160 /* 195704 */ GIM_Try, /*On fail goto*//*Label 4414*/ GIMT_Encode4(195891),
69161 /* 195709 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
69162 /* 195712 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69163 /* 195716 */ GIM_Try, /*On fail goto*//*Label 4415*/ GIMT_Encode4(195768), // Rule ID 13262 //
69164 /* 195721 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69165 /* 195724 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69166 /* 195728 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69167 /* 195732 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69168 /* 195735 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69169 /* 195739 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69170 /* 195743 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69171 /* 195745 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69172 /* 195752 */ // (abs:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)
69173 /* 195752 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSQZ256rm),
69174 /* 195755 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69175 /* 195757 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69176 /* 195761 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69177 /* 195766 */ GIR_RootConstrainSelectedInstOperands,
69178 /* 195767 */ // GIR_Coverage, 13262,
69179 /* 195767 */ GIR_EraseRootFromParent_Done,
69180 /* 195768 */ // Label 4415: @195768
69181 /* 195768 */ GIM_Try, /*On fail goto*//*Label 4416*/ GIMT_Encode4(195787), // Rule ID 13259 //
69182 /* 195773 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69183 /* 195776 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69184 /* 195780 */ // (abs:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1) => (VPABSQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1)
69185 /* 195780 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSQZ256rr),
69186 /* 195785 */ GIR_RootConstrainSelectedInstOperands,
69187 /* 195786 */ // GIR_Coverage, 13259,
69188 /* 195786 */ GIR_Done,
69189 /* 195787 */ // Label 4416: @195787
69190 /* 195787 */ GIM_Try, /*On fail goto*//*Label 4417*/ GIMT_Encode4(195890), // Rule ID 21834 //
69191 /* 195792 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
69192 /* 195795 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69193 /* 195799 */ // (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] })
69194 /* 195799 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
69195 /* 195802 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
69196 /* 195806 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69197 /* 195811 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
69198 /* 195813 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
69199 /* 195816 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
69200 /* 195820 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69201 /* 195825 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
69202 /* 195828 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
69203 /* 195832 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
69204 /* 195835 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
69205 /* 195840 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69206 /* 195845 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
69207 /* 195850 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
69208 /* 195853 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPABSQZrr),
69209 /* 195857 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69210 /* 195862 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
69211 /* 195865 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
69212 /* 195867 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69213 /* 195870 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69214 /* 195872 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
69215 /* 195879 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69216 /* 195884 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69217 /* 195889 */ // GIR_Coverage, 21834,
69218 /* 195889 */ GIR_EraseRootFromParent_Done,
69219 /* 195890 */ // Label 4417: @195890
69220 /* 195890 */ GIM_Reject,
69221 /* 195891 */ // Label 4414: @195891
69222 /* 195891 */ GIM_Reject,
69223 /* 195892 */ // Label 4394: @195892
69224 /* 195892 */ GIM_Try, /*On fail goto*//*Label 4418*/ GIMT_Encode4(196082),
69225 /* 195897 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
69226 /* 195900 */ GIM_Try, /*On fail goto*//*Label 4419*/ GIMT_Encode4(195956), // Rule ID 2993 //
69227 /* 195905 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
69228 /* 195908 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69229 /* 195912 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69230 /* 195916 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69231 /* 195920 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69232 /* 195923 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69233 /* 195927 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69234 /* 195931 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69235 /* 195933 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69236 /* 195940 */ // (abs:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
69237 /* 195940 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWrm),
69238 /* 195943 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69239 /* 195945 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
69240 /* 195949 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69241 /* 195954 */ GIR_RootConstrainSelectedInstOperands,
69242 /* 195955 */ // GIR_Coverage, 2993,
69243 /* 195955 */ GIR_EraseRootFromParent_Done,
69244 /* 195956 */ // Label 4419: @195956
69245 /* 195956 */ GIM_Try, /*On fail goto*//*Label 4420*/ GIMT_Encode4(196012), // Rule ID 13319 //
69246 /* 195961 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69247 /* 195964 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69248 /* 195968 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69249 /* 195972 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69250 /* 195976 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69251 /* 195979 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69252 /* 195983 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69253 /* 195987 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69254 /* 195989 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69255 /* 195996 */ // (abs:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWZ128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)
69256 /* 195996 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWZ128rm),
69257 /* 195999 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69258 /* 196001 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69259 /* 196005 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69260 /* 196010 */ GIR_RootConstrainSelectedInstOperands,
69261 /* 196011 */ // GIR_Coverage, 13319,
69262 /* 196011 */ GIR_EraseRootFromParent_Done,
69263 /* 196012 */ // Label 4420: @196012
69264 /* 196012 */ GIM_Try, /*On fail goto*//*Label 4421*/ GIMT_Encode4(196035), // Rule ID 2992 //
69265 /* 196017 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
69266 /* 196020 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69267 /* 196024 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69268 /* 196028 */ // (abs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src) => (VPABSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src)
69269 /* 196028 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWrr),
69270 /* 196033 */ GIR_RootConstrainSelectedInstOperands,
69271 /* 196034 */ // GIR_Coverage, 2992,
69272 /* 196034 */ GIR_Done,
69273 /* 196035 */ // Label 4421: @196035
69274 /* 196035 */ GIM_Try, /*On fail goto*//*Label 4422*/ GIMT_Encode4(196058), // Rule ID 3004 //
69275 /* 196040 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
69276 /* 196043 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69277 /* 196047 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69278 /* 196051 */ // (abs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src) => (PABSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src)
69279 /* 196051 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PABSWrr),
69280 /* 196056 */ GIR_RootConstrainSelectedInstOperands,
69281 /* 196057 */ // GIR_Coverage, 3004,
69282 /* 196057 */ GIR_Done,
69283 /* 196058 */ // Label 4422: @196058
69284 /* 196058 */ GIM_Try, /*On fail goto*//*Label 4423*/ GIMT_Encode4(196081), // Rule ID 13316 //
69285 /* 196063 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69286 /* 196066 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69287 /* 196070 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69288 /* 196074 */ // (abs:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1) => (VPABSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1)
69289 /* 196074 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWZ128rr),
69290 /* 196079 */ GIR_RootConstrainSelectedInstOperands,
69291 /* 196080 */ // GIR_Coverage, 13316,
69292 /* 196080 */ GIR_Done,
69293 /* 196081 */ // Label 4423: @196081
69294 /* 196081 */ GIM_Reject,
69295 /* 196082 */ // Label 4418: @196082
69296 /* 196082 */ GIM_Reject,
69297 /* 196083 */ // Label 4395: @196083
69298 /* 196083 */ GIM_Try, /*On fail goto*//*Label 4424*/ GIMT_Encode4(196250),
69299 /* 196088 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
69300 /* 196091 */ GIM_Try, /*On fail goto*//*Label 4425*/ GIMT_Encode4(196147), // Rule ID 3001 //
69301 /* 196096 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
69302 /* 196099 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69303 /* 196103 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69304 /* 196107 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69305 /* 196111 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69306 /* 196114 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69307 /* 196118 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69308 /* 196122 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69309 /* 196124 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69310 /* 196131 */ // (abs:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
69311 /* 196131 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDYrm),
69312 /* 196134 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69313 /* 196136 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
69314 /* 196140 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69315 /* 196145 */ GIR_RootConstrainSelectedInstOperands,
69316 /* 196146 */ // GIR_Coverage, 3001,
69317 /* 196146 */ GIR_EraseRootFromParent_Done,
69318 /* 196147 */ // Label 4425: @196147
69319 /* 196147 */ GIM_Try, /*On fail goto*//*Label 4426*/ GIMT_Encode4(196203), // Rule ID 13289 //
69320 /* 196152 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69321 /* 196155 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69322 /* 196159 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69323 /* 196163 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69324 /* 196167 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69325 /* 196170 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69326 /* 196174 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69327 /* 196178 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69328 /* 196180 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69329 /* 196187 */ // (abs:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)
69330 /* 196187 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDZ256rm),
69331 /* 196190 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69332 /* 196192 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69333 /* 196196 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69334 /* 196201 */ GIR_RootConstrainSelectedInstOperands,
69335 /* 196202 */ // GIR_Coverage, 13289,
69336 /* 196202 */ GIR_EraseRootFromParent_Done,
69337 /* 196203 */ // Label 4426: @196203
69338 /* 196203 */ GIM_Try, /*On fail goto*//*Label 4427*/ GIMT_Encode4(196226), // Rule ID 3000 //
69339 /* 196208 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
69340 /* 196211 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69341 /* 196215 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69342 /* 196219 */ // (abs:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src) => (VPABSDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src)
69343 /* 196219 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDYrr),
69344 /* 196224 */ GIR_RootConstrainSelectedInstOperands,
69345 /* 196225 */ // GIR_Coverage, 3000,
69346 /* 196225 */ GIR_Done,
69347 /* 196226 */ // Label 4427: @196226
69348 /* 196226 */ GIM_Try, /*On fail goto*//*Label 4428*/ GIMT_Encode4(196249), // Rule ID 13286 //
69349 /* 196231 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69350 /* 196234 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69351 /* 196238 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69352 /* 196242 */ // (abs:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1) => (VPABSDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1)
69353 /* 196242 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDZ256rr),
69354 /* 196247 */ GIR_RootConstrainSelectedInstOperands,
69355 /* 196248 */ // GIR_Coverage, 13286,
69356 /* 196248 */ GIR_Done,
69357 /* 196249 */ // Label 4428: @196249
69358 /* 196249 */ GIM_Reject,
69359 /* 196250 */ // Label 4424: @196250
69360 /* 196250 */ GIM_Reject,
69361 /* 196251 */ // Label 4396: @196251
69362 /* 196251 */ GIM_Try, /*On fail goto*//*Label 4429*/ GIMT_Encode4(196335),
69363 /* 196256 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
69364 /* 196259 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69365 /* 196263 */ GIM_Try, /*On fail goto*//*Label 4430*/ GIMT_Encode4(196315), // Rule ID 13253 //
69366 /* 196268 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
69367 /* 196271 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69368 /* 196275 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69369 /* 196279 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69370 /* 196282 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69371 /* 196286 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69372 /* 196290 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69373 /* 196292 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69374 /* 196299 */ // (abs:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)
69375 /* 196299 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSQZrm),
69376 /* 196302 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69377 /* 196304 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69378 /* 196308 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69379 /* 196313 */ GIR_RootConstrainSelectedInstOperands,
69380 /* 196314 */ // GIR_Coverage, 13253,
69381 /* 196314 */ GIR_EraseRootFromParent_Done,
69382 /* 196315 */ // Label 4430: @196315
69383 /* 196315 */ GIM_Try, /*On fail goto*//*Label 4431*/ GIMT_Encode4(196334), // Rule ID 13250 //
69384 /* 196320 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
69385 /* 196323 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69386 /* 196327 */ // (abs:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1) => (VPABSQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1)
69387 /* 196327 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSQZrr),
69388 /* 196332 */ GIR_RootConstrainSelectedInstOperands,
69389 /* 196333 */ // GIR_Coverage, 13250,
69390 /* 196333 */ GIR_Done,
69391 /* 196334 */ // Label 4431: @196334
69392 /* 196334 */ GIM_Reject,
69393 /* 196335 */ // Label 4429: @196335
69394 /* 196335 */ GIM_Reject,
69395 /* 196336 */ // Label 4397: @196336
69396 /* 196336 */ GIM_Try, /*On fail goto*//*Label 4432*/ GIMT_Encode4(196526),
69397 /* 196341 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
69398 /* 196344 */ GIM_Try, /*On fail goto*//*Label 4433*/ GIMT_Encode4(196400), // Rule ID 2991 //
69399 /* 196349 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
69400 /* 196352 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69401 /* 196356 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69402 /* 196360 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69403 /* 196364 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69404 /* 196367 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69405 /* 196371 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69406 /* 196375 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69407 /* 196377 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69408 /* 196384 */ // (abs:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
69409 /* 196384 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBrm),
69410 /* 196387 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69411 /* 196389 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
69412 /* 196393 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69413 /* 196398 */ GIR_RootConstrainSelectedInstOperands,
69414 /* 196399 */ // GIR_Coverage, 2991,
69415 /* 196399 */ GIR_EraseRootFromParent_Done,
69416 /* 196400 */ // Label 4433: @196400
69417 /* 196400 */ GIM_Try, /*On fail goto*//*Label 4434*/ GIMT_Encode4(196456), // Rule ID 13337 //
69418 /* 196405 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69419 /* 196408 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69420 /* 196412 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69421 /* 196416 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69422 /* 196420 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69423 /* 196423 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69424 /* 196427 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69425 /* 196431 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69426 /* 196433 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69427 /* 196440 */ // (abs:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBZ128rm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)
69428 /* 196440 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBZ128rm),
69429 /* 196443 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69430 /* 196445 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69431 /* 196449 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69432 /* 196454 */ GIR_RootConstrainSelectedInstOperands,
69433 /* 196455 */ // GIR_Coverage, 13337,
69434 /* 196455 */ GIR_EraseRootFromParent_Done,
69435 /* 196456 */ // Label 4434: @196456
69436 /* 196456 */ GIM_Try, /*On fail goto*//*Label 4435*/ GIMT_Encode4(196479), // Rule ID 2990 //
69437 /* 196461 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
69438 /* 196464 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69439 /* 196468 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69440 /* 196472 */ // (abs:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src) => (VPABSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src)
69441 /* 196472 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBrr),
69442 /* 196477 */ GIR_RootConstrainSelectedInstOperands,
69443 /* 196478 */ // GIR_Coverage, 2990,
69444 /* 196478 */ GIR_Done,
69445 /* 196479 */ // Label 4435: @196479
69446 /* 196479 */ GIM_Try, /*On fail goto*//*Label 4436*/ GIMT_Encode4(196502), // Rule ID 3002 //
69447 /* 196484 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
69448 /* 196487 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69449 /* 196491 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69450 /* 196495 */ // (abs:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src) => (PABSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src)
69451 /* 196495 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PABSBrr),
69452 /* 196500 */ GIR_RootConstrainSelectedInstOperands,
69453 /* 196501 */ // GIR_Coverage, 3002,
69454 /* 196501 */ GIR_Done,
69455 /* 196502 */ // Label 4436: @196502
69456 /* 196502 */ GIM_Try, /*On fail goto*//*Label 4437*/ GIMT_Encode4(196525), // Rule ID 13334 //
69457 /* 196507 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69458 /* 196510 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69459 /* 196514 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69460 /* 196518 */ // (abs:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1) => (VPABSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1)
69461 /* 196518 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBZ128rr),
69462 /* 196523 */ GIR_RootConstrainSelectedInstOperands,
69463 /* 196524 */ // GIR_Coverage, 13334,
69464 /* 196524 */ GIR_Done,
69465 /* 196525 */ // Label 4437: @196525
69466 /* 196525 */ GIM_Reject,
69467 /* 196526 */ // Label 4432: @196526
69468 /* 196526 */ GIM_Reject,
69469 /* 196527 */ // Label 4398: @196527
69470 /* 196527 */ GIM_Try, /*On fail goto*//*Label 4438*/ GIMT_Encode4(196694),
69471 /* 196532 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
69472 /* 196535 */ GIM_Try, /*On fail goto*//*Label 4439*/ GIMT_Encode4(196591), // Rule ID 2999 //
69473 /* 196540 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
69474 /* 196543 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69475 /* 196547 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69476 /* 196551 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69477 /* 196555 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69478 /* 196558 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69479 /* 196562 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69480 /* 196566 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69481 /* 196568 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69482 /* 196575 */ // (abs:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
69483 /* 196575 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWYrm),
69484 /* 196578 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69485 /* 196580 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
69486 /* 196584 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69487 /* 196589 */ GIR_RootConstrainSelectedInstOperands,
69488 /* 196590 */ // GIR_Coverage, 2999,
69489 /* 196590 */ GIR_EraseRootFromParent_Done,
69490 /* 196591 */ // Label 4439: @196591
69491 /* 196591 */ GIM_Try, /*On fail goto*//*Label 4440*/ GIMT_Encode4(196647), // Rule ID 13313 //
69492 /* 196596 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69493 /* 196599 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69494 /* 196603 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69495 /* 196607 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69496 /* 196611 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69497 /* 196614 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69498 /* 196618 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69499 /* 196622 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69500 /* 196624 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69501 /* 196631 */ // (abs:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src1)
69502 /* 196631 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWZ256rm),
69503 /* 196634 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69504 /* 196636 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69505 /* 196640 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69506 /* 196645 */ GIR_RootConstrainSelectedInstOperands,
69507 /* 196646 */ // GIR_Coverage, 13313,
69508 /* 196646 */ GIR_EraseRootFromParent_Done,
69509 /* 196647 */ // Label 4440: @196647
69510 /* 196647 */ GIM_Try, /*On fail goto*//*Label 4441*/ GIMT_Encode4(196670), // Rule ID 2998 //
69511 /* 196652 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
69512 /* 196655 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69513 /* 196659 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69514 /* 196663 */ // (abs:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src) => (VPABSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src)
69515 /* 196663 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWYrr),
69516 /* 196668 */ GIR_RootConstrainSelectedInstOperands,
69517 /* 196669 */ // GIR_Coverage, 2998,
69518 /* 196669 */ GIR_Done,
69519 /* 196670 */ // Label 4441: @196670
69520 /* 196670 */ GIM_Try, /*On fail goto*//*Label 4442*/ GIMT_Encode4(196693), // Rule ID 13310 //
69521 /* 196675 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69522 /* 196678 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69523 /* 196682 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69524 /* 196686 */ // (abs:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1) => (VPABSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1)
69525 /* 196686 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWZ256rr),
69526 /* 196691 */ GIR_RootConstrainSelectedInstOperands,
69527 /* 196692 */ // GIR_Coverage, 13310,
69528 /* 196692 */ GIR_Done,
69529 /* 196693 */ // Label 4442: @196693
69530 /* 196693 */ GIM_Reject,
69531 /* 196694 */ // Label 4438: @196694
69532 /* 196694 */ GIM_Reject,
69533 /* 196695 */ // Label 4399: @196695
69534 /* 196695 */ GIM_Try, /*On fail goto*//*Label 4443*/ GIMT_Encode4(196779),
69535 /* 196700 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
69536 /* 196703 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69537 /* 196707 */ GIM_Try, /*On fail goto*//*Label 4444*/ GIMT_Encode4(196759), // Rule ID 13280 //
69538 /* 196712 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
69539 /* 196715 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69540 /* 196719 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69541 /* 196723 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69542 /* 196726 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69543 /* 196730 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69544 /* 196734 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69545 /* 196736 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69546 /* 196743 */ // (abs:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)
69547 /* 196743 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDZrm),
69548 /* 196746 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69549 /* 196748 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69550 /* 196752 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69551 /* 196757 */ GIR_RootConstrainSelectedInstOperands,
69552 /* 196758 */ // GIR_Coverage, 13280,
69553 /* 196758 */ GIR_EraseRootFromParent_Done,
69554 /* 196759 */ // Label 4444: @196759
69555 /* 196759 */ GIM_Try, /*On fail goto*//*Label 4445*/ GIMT_Encode4(196778), // Rule ID 13277 //
69556 /* 196764 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
69557 /* 196767 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69558 /* 196771 */ // (abs:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1) => (VPABSDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1)
69559 /* 196771 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDZrr),
69560 /* 196776 */ GIR_RootConstrainSelectedInstOperands,
69561 /* 196777 */ // GIR_Coverage, 13277,
69562 /* 196777 */ GIR_Done,
69563 /* 196778 */ // Label 4445: @196778
69564 /* 196778 */ GIM_Reject,
69565 /* 196779 */ // Label 4443: @196779
69566 /* 196779 */ GIM_Reject,
69567 /* 196780 */ // Label 4400: @196780
69568 /* 196780 */ GIM_Try, /*On fail goto*//*Label 4446*/ GIMT_Encode4(196947),
69569 /* 196785 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
69570 /* 196788 */ GIM_Try, /*On fail goto*//*Label 4447*/ GIMT_Encode4(196844), // Rule ID 2997 //
69571 /* 196793 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
69572 /* 196796 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69573 /* 196800 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69574 /* 196804 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69575 /* 196808 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69576 /* 196811 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69577 /* 196815 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69578 /* 196819 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69579 /* 196821 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69580 /* 196828 */ // (abs:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBYrm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
69581 /* 196828 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBYrm),
69582 /* 196831 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69583 /* 196833 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
69584 /* 196837 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69585 /* 196842 */ GIR_RootConstrainSelectedInstOperands,
69586 /* 196843 */ // GIR_Coverage, 2997,
69587 /* 196843 */ GIR_EraseRootFromParent_Done,
69588 /* 196844 */ // Label 4447: @196844
69589 /* 196844 */ GIM_Try, /*On fail goto*//*Label 4448*/ GIMT_Encode4(196900), // Rule ID 13331 //
69590 /* 196849 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69591 /* 196852 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69592 /* 196856 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69593 /* 196860 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69594 /* 196864 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69595 /* 196867 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69596 /* 196871 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69597 /* 196875 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69598 /* 196877 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69599 /* 196884 */ // (abs:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBZ256rm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src1)
69600 /* 196884 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBZ256rm),
69601 /* 196887 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69602 /* 196889 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69603 /* 196893 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69604 /* 196898 */ GIR_RootConstrainSelectedInstOperands,
69605 /* 196899 */ // GIR_Coverage, 13331,
69606 /* 196899 */ GIR_EraseRootFromParent_Done,
69607 /* 196900 */ // Label 4448: @196900
69608 /* 196900 */ GIM_Try, /*On fail goto*//*Label 4449*/ GIMT_Encode4(196923), // Rule ID 2996 //
69609 /* 196905 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
69610 /* 196908 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69611 /* 196912 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69612 /* 196916 */ // (abs:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src) => (VPABSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src)
69613 /* 196916 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBYrr),
69614 /* 196921 */ GIR_RootConstrainSelectedInstOperands,
69615 /* 196922 */ // GIR_Coverage, 2996,
69616 /* 196922 */ GIR_Done,
69617 /* 196923 */ // Label 4449: @196923
69618 /* 196923 */ GIM_Try, /*On fail goto*//*Label 4450*/ GIMT_Encode4(196946), // Rule ID 13328 //
69619 /* 196928 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69620 /* 196931 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69621 /* 196935 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69622 /* 196939 */ // (abs:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1) => (VPABSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1)
69623 /* 196939 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBZ256rr),
69624 /* 196944 */ GIR_RootConstrainSelectedInstOperands,
69625 /* 196945 */ // GIR_Coverage, 13328,
69626 /* 196945 */ GIR_Done,
69627 /* 196946 */ // Label 4450: @196946
69628 /* 196946 */ GIM_Reject,
69629 /* 196947 */ // Label 4446: @196947
69630 /* 196947 */ GIM_Reject,
69631 /* 196948 */ // Label 4401: @196948
69632 /* 196948 */ GIM_Try, /*On fail goto*//*Label 4451*/ GIMT_Encode4(197032),
69633 /* 196953 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
69634 /* 196956 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69635 /* 196960 */ GIM_Try, /*On fail goto*//*Label 4452*/ GIMT_Encode4(197012), // Rule ID 13307 //
69636 /* 196965 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
69637 /* 196968 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69638 /* 196972 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69639 /* 196976 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69640 /* 196979 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69641 /* 196983 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69642 /* 196987 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69643 /* 196989 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69644 /* 196996 */ // (abs:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src1)
69645 /* 196996 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWZrm),
69646 /* 196999 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69647 /* 197001 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69648 /* 197005 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69649 /* 197010 */ GIR_RootConstrainSelectedInstOperands,
69650 /* 197011 */ // GIR_Coverage, 13307,
69651 /* 197011 */ GIR_EraseRootFromParent_Done,
69652 /* 197012 */ // Label 4452: @197012
69653 /* 197012 */ GIM_Try, /*On fail goto*//*Label 4453*/ GIMT_Encode4(197031), // Rule ID 13304 //
69654 /* 197017 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
69655 /* 197020 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69656 /* 197024 */ // (abs:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1) => (VPABSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1)
69657 /* 197024 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWZrr),
69658 /* 197029 */ GIR_RootConstrainSelectedInstOperands,
69659 /* 197030 */ // GIR_Coverage, 13304,
69660 /* 197030 */ GIR_Done,
69661 /* 197031 */ // Label 4453: @197031
69662 /* 197031 */ GIM_Reject,
69663 /* 197032 */ // Label 4451: @197032
69664 /* 197032 */ GIM_Reject,
69665 /* 197033 */ // Label 4402: @197033
69666 /* 197033 */ GIM_Try, /*On fail goto*//*Label 4454*/ GIMT_Encode4(197117),
69667 /* 197038 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
69668 /* 197041 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69669 /* 197045 */ GIM_Try, /*On fail goto*//*Label 4455*/ GIMT_Encode4(197097), // Rule ID 13325 //
69670 /* 197050 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
69671 /* 197053 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69672 /* 197057 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69673 /* 197061 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69674 /* 197064 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69675 /* 197068 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69676 /* 197072 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69677 /* 197074 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69678 /* 197081 */ // (abs:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBZrm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src1)
69679 /* 197081 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBZrm),
69680 /* 197084 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69681 /* 197086 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69682 /* 197090 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69683 /* 197095 */ GIR_RootConstrainSelectedInstOperands,
69684 /* 197096 */ // GIR_Coverage, 13325,
69685 /* 197096 */ GIR_EraseRootFromParent_Done,
69686 /* 197097 */ // Label 4455: @197097
69687 /* 197097 */ GIM_Try, /*On fail goto*//*Label 4456*/ GIMT_Encode4(197116), // Rule ID 13322 //
69688 /* 197102 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
69689 /* 197105 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69690 /* 197109 */ // (abs:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1) => (VPABSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1)
69691 /* 197109 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBZrr),
69692 /* 197114 */ GIR_RootConstrainSelectedInstOperands,
69693 /* 197115 */ // GIR_Coverage, 13322,
69694 /* 197115 */ GIR_Done,
69695 /* 197116 */ // Label 4456: @197116
69696 /* 197116 */ GIM_Reject,
69697 /* 197117 */ // Label 4454: @197117
69698 /* 197117 */ GIM_Reject,
69699 /* 197118 */ // Label 4403: @197118
69700 /* 197118 */ GIM_Reject,
69701 /* 197119 */ // Label 60: @197119
69702 /* 197119 */ GIM_Try, /*On fail goto*//*Label 4457*/ GIMT_Encode4(197134), // Rule ID 629 //
69703 /* 197124 */ // MIs[0] dst
69704 /* 197124 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/0,
69705 /* 197127 */ // (br (bb:{ *:[Other] }):$dst) => (JMP_1 (bb:{ *:[Other] }):$dst)
69706 /* 197127 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::JMP_1),
69707 /* 197132 */ GIR_RootConstrainSelectedInstOperands,
69708 /* 197133 */ // GIR_Coverage, 629,
69709 /* 197133 */ GIR_Done,
69710 /* 197134 */ // Label 4457: @197134
69711 /* 197134 */ GIM_Reject,
69712 /* 197135 */ // Label 61: @197135
69713 /* 197135 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(22), /*)*//*default:*//*Label 4472*/ GIMT_Encode4(200063),
69714 /* 197146 */ /*GILLT_s1*//*Label 4458*/ GIMT_Encode4(197234), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
69715 /* 197174 */ /*GILLT_v2s1*//*Label 4459*/ GIMT_Encode4(197475),
69716 /* 197178 */ /*GILLT_v2s64*//*Label 4460*/ GIMT_Encode4(197676),
69717 /* 197182 */ /*GILLT_v4s1*//*Label 4461*/ GIMT_Encode4(198157),
69718 /* 197186 */ /*GILLT_v4s32*//*Label 4462*/ GIMT_Encode4(198318),
69719 /* 197190 */ /*GILLT_v4s64*//*Label 4463*/ GIMT_Encode4(198799),
69720 /* 197194 */ /*GILLT_v8s1*//*Label 4464*/ GIMT_Encode4(198882),
69721 /* 197198 */ /*GILLT_v8s16*//*Label 4465*/ GIMT_Encode4(199003),
69722 /* 197202 */ /*GILLT_v8s32*//*Label 4466*/ GIMT_Encode4(199484), GIMT_Encode4(0),
69723 /* 197210 */ /*GILLT_v16s1*//*Label 4467*/ GIMT_Encode4(199567),
69724 /* 197214 */ /*GILLT_v16s8*//*Label 4468*/ GIMT_Encode4(199648),
69725 /* 197218 */ /*GILLT_v16s16*//*Label 4469*/ GIMT_Encode4(199889), GIMT_Encode4(0),
69726 /* 197226 */ /*GILLT_v32s1*//*Label 4470*/ GIMT_Encode4(199972),
69727 /* 197230 */ /*GILLT_v32s8*//*Label 4471*/ GIMT_Encode4(200013),
69728 /* 197234 */ // Label 4458: @197234
69729 /* 197234 */ GIM_Try, /*On fail goto*//*Label 4473*/ GIMT_Encode4(197274), // Rule ID 19611 //
69730 /* 197239 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
69731 /* 197242 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
69732 /* 197246 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
69733 /* 197250 */ // MIs[0] Operand 2
69734 /* 197250 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69735 /* 197261 */ // (extract_subvector:{ *:[v1i1] } VK2:{ *:[v2i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK2:{ *:[v2i1] }:$src, VK1:{ *:[i32] })
69736 /* 197261 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69737 /* 197264 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69738 /* 197266 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69739 /* 197268 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
69740 /* 197273 */ // GIR_Coverage, 19611,
69741 /* 197273 */ GIR_EraseRootFromParent_Done,
69742 /* 197274 */ // Label 4473: @197274
69743 /* 197274 */ GIM_Try, /*On fail goto*//*Label 4474*/ GIMT_Encode4(197314), // Rule ID 19613 //
69744 /* 197279 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
69745 /* 197282 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
69746 /* 197286 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
69747 /* 197290 */ // MIs[0] Operand 2
69748 /* 197290 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69749 /* 197301 */ // (extract_subvector:{ *:[v1i1] } VK4:{ *:[v4i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK4:{ *:[v4i1] }:$src, VK1:{ *:[i32] })
69750 /* 197301 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69751 /* 197304 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69752 /* 197306 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69753 /* 197308 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
69754 /* 197313 */ // GIR_Coverage, 19613,
69755 /* 197313 */ GIR_EraseRootFromParent_Done,
69756 /* 197314 */ // Label 4474: @197314
69757 /* 197314 */ GIM_Try, /*On fail goto*//*Label 4475*/ GIMT_Encode4(197354), // Rule ID 19615 //
69758 /* 197319 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
69759 /* 197322 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
69760 /* 197326 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
69761 /* 197330 */ // MIs[0] Operand 2
69762 /* 197330 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69763 /* 197341 */ // (extract_subvector:{ *:[v1i1] } VK8:{ *:[v8i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK8:{ *:[v8i1] }:$src, VK1:{ *:[i32] })
69764 /* 197341 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69765 /* 197344 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69766 /* 197346 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69767 /* 197348 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
69768 /* 197353 */ // GIR_Coverage, 19615,
69769 /* 197353 */ GIR_EraseRootFromParent_Done,
69770 /* 197354 */ // Label 4475: @197354
69771 /* 197354 */ GIM_Try, /*On fail goto*//*Label 4476*/ GIMT_Encode4(197394), // Rule ID 19617 //
69772 /* 197359 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
69773 /* 197362 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
69774 /* 197366 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
69775 /* 197370 */ // MIs[0] Operand 2
69776 /* 197370 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69777 /* 197381 */ // (extract_subvector:{ *:[v1i1] } VK16:{ *:[v16i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK16:{ *:[v16i1] }:$src, VK1:{ *:[i32] })
69778 /* 197381 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69779 /* 197384 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69780 /* 197386 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69781 /* 197388 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
69782 /* 197393 */ // GIR_Coverage, 19617,
69783 /* 197393 */ GIR_EraseRootFromParent_Done,
69784 /* 197394 */ // Label 4476: @197394
69785 /* 197394 */ GIM_Try, /*On fail goto*//*Label 4477*/ GIMT_Encode4(197434), // Rule ID 19619 //
69786 /* 197399 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
69787 /* 197402 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
69788 /* 197406 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
69789 /* 197410 */ // MIs[0] Operand 2
69790 /* 197410 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69791 /* 197421 */ // (extract_subvector:{ *:[v1i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK32:{ *:[v32i1] }:$src, VK1:{ *:[i32] })
69792 /* 197421 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69793 /* 197424 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69794 /* 197426 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69795 /* 197428 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
69796 /* 197433 */ // GIR_Coverage, 19619,
69797 /* 197433 */ GIR_EraseRootFromParent_Done,
69798 /* 197434 */ // Label 4477: @197434
69799 /* 197434 */ GIM_Try, /*On fail goto*//*Label 4478*/ GIMT_Encode4(197474), // Rule ID 19621 //
69800 /* 197439 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
69801 /* 197442 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
69802 /* 197446 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
69803 /* 197450 */ // MIs[0] Operand 2
69804 /* 197450 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69805 /* 197461 */ // (extract_subvector:{ *:[v1i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK64:{ *:[v64i1] }:$src, VK1:{ *:[i32] })
69806 /* 197461 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69807 /* 197464 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69808 /* 197466 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69809 /* 197468 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
69810 /* 197473 */ // GIR_Coverage, 19621,
69811 /* 197473 */ GIR_EraseRootFromParent_Done,
69812 /* 197474 */ // Label 4478: @197474
69813 /* 197474 */ GIM_Reject,
69814 /* 197475 */ // Label 4459: @197475
69815 /* 197475 */ GIM_Try, /*On fail goto*//*Label 4479*/ GIMT_Encode4(197515), // Rule ID 19623 //
69816 /* 197480 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
69817 /* 197483 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
69818 /* 197487 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
69819 /* 197491 */ // MIs[0] Operand 2
69820 /* 197491 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69821 /* 197502 */ // (extract_subvector:{ *:[v2i1] } VK4:{ *:[v4i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK4:{ *:[v4i1] }:$src, VK2:{ *:[i32] })
69822 /* 197502 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69823 /* 197505 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69824 /* 197507 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69825 /* 197509 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
69826 /* 197514 */ // GIR_Coverage, 19623,
69827 /* 197514 */ GIR_EraseRootFromParent_Done,
69828 /* 197515 */ // Label 4479: @197515
69829 /* 197515 */ GIM_Try, /*On fail goto*//*Label 4480*/ GIMT_Encode4(197555), // Rule ID 19625 //
69830 /* 197520 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
69831 /* 197523 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
69832 /* 197527 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
69833 /* 197531 */ // MIs[0] Operand 2
69834 /* 197531 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69835 /* 197542 */ // (extract_subvector:{ *:[v2i1] } VK8:{ *:[v8i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK8:{ *:[v8i1] }:$src, VK2:{ *:[i32] })
69836 /* 197542 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69837 /* 197545 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69838 /* 197547 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69839 /* 197549 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
69840 /* 197554 */ // GIR_Coverage, 19625,
69841 /* 197554 */ GIR_EraseRootFromParent_Done,
69842 /* 197555 */ // Label 4480: @197555
69843 /* 197555 */ GIM_Try, /*On fail goto*//*Label 4481*/ GIMT_Encode4(197595), // Rule ID 19627 //
69844 /* 197560 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
69845 /* 197563 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
69846 /* 197567 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
69847 /* 197571 */ // MIs[0] Operand 2
69848 /* 197571 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69849 /* 197582 */ // (extract_subvector:{ *:[v2i1] } VK16:{ *:[v16i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK16:{ *:[v16i1] }:$src, VK2:{ *:[i32] })
69850 /* 197582 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69851 /* 197585 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69852 /* 197587 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69853 /* 197589 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
69854 /* 197594 */ // GIR_Coverage, 19627,
69855 /* 197594 */ GIR_EraseRootFromParent_Done,
69856 /* 197595 */ // Label 4481: @197595
69857 /* 197595 */ GIM_Try, /*On fail goto*//*Label 4482*/ GIMT_Encode4(197635), // Rule ID 19629 //
69858 /* 197600 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
69859 /* 197603 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
69860 /* 197607 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
69861 /* 197611 */ // MIs[0] Operand 2
69862 /* 197611 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69863 /* 197622 */ // (extract_subvector:{ *:[v2i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK32:{ *:[v32i1] }:$src, VK2:{ *:[i32] })
69864 /* 197622 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69865 /* 197625 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69866 /* 197627 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69867 /* 197629 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
69868 /* 197634 */ // GIR_Coverage, 19629,
69869 /* 197634 */ GIR_EraseRootFromParent_Done,
69870 /* 197635 */ // Label 4482: @197635
69871 /* 197635 */ GIM_Try, /*On fail goto*//*Label 4483*/ GIMT_Encode4(197675), // Rule ID 19631 //
69872 /* 197640 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
69873 /* 197643 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
69874 /* 197647 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
69875 /* 197651 */ // MIs[0] Operand 2
69876 /* 197651 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69877 /* 197662 */ // (extract_subvector:{ *:[v2i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK64:{ *:[v64i1] }:$src, VK2:{ *:[i32] })
69878 /* 197662 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69879 /* 197665 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69880 /* 197667 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69881 /* 197669 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
69882 /* 197674 */ // GIR_Coverage, 19631,
69883 /* 197674 */ GIR_EraseRootFromParent_Done,
69884 /* 197675 */ // Label 4483: @197675
69885 /* 197675 */ GIM_Reject,
69886 /* 197676 */ // Label 4460: @197676
69887 /* 197676 */ GIM_Try, /*On fail goto*//*Label 4484*/ GIMT_Encode4(197747), // Rule ID 19051 //
69888 /* 197681 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoVLX),
69889 /* 197684 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
69890 /* 197687 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69891 /* 197691 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69892 /* 197695 */ // MIs[0] Operand 2
69893 /* 197695 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2),
69894 /* 197706 */ // (extract_subvector:{ *:[v2i64] } VR512:{ *:[v8i64] }:$src, 2:{ *:[iPTR] }) => (VEXTRACTI128rri:{ *:[v2i64] } (EXTRACT_SUBREG:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69895 /* 197706 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s64,
69896 /* 197709 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69897 /* 197713 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69898 /* 197718 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69899 /* 197724 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69900 /* 197729 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69901 /* 197734 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI128rri),
69902 /* 197737 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69903 /* 197739 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69904 /* 197742 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69905 /* 197745 */ GIR_RootConstrainSelectedInstOperands,
69906 /* 197746 */ // GIR_Coverage, 19051,
69907 /* 197746 */ GIR_EraseRootFromParent_Done,
69908 /* 197747 */ // Label 4484: @197747
69909 /* 197747 */ GIM_Try, /*On fail goto*//*Label 4485*/ GIMT_Encode4(197818), // Rule ID 19052 //
69910 /* 197752 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoVLX),
69911 /* 197755 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
69912 /* 197758 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69913 /* 197762 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69914 /* 197766 */ // MIs[0] Operand 2
69915 /* 197766 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2),
69916 /* 197777 */ // (extract_subvector:{ *:[v2f64] } VR512:{ *:[v8f64] }:$src, 2:{ *:[iPTR] }) => (VEXTRACTF128rri:{ *:[v2f64] } (EXTRACT_SUBREG:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69917 /* 197777 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s64,
69918 /* 197780 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69919 /* 197784 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69920 /* 197789 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69921 /* 197795 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69922 /* 197800 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69923 /* 197805 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF128rri),
69924 /* 197808 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69925 /* 197810 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69926 /* 197813 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69927 /* 197816 */ GIR_RootConstrainSelectedInstOperands,
69928 /* 197817 */ // GIR_Coverage, 19052,
69929 /* 197817 */ GIR_EraseRootFromParent_Done,
69930 /* 197818 */ // Label 4485: @197818
69931 /* 197818 */ GIM_Try, /*On fail goto*//*Label 4486*/ GIMT_Encode4(197889), // Rule ID 19058 //
69932 /* 197823 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
69933 /* 197826 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
69934 /* 197829 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69935 /* 197833 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69936 /* 197837 */ // MIs[0] Operand 2
69937 /* 197837 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2),
69938 /* 197848 */ // (extract_subvector:{ *:[v2i64] } VR512:{ *:[v8i64] }:$src, 2:{ *:[iPTR] }) => (VEXTRACTI32X4Z256rri:{ *:[v2i64] } (EXTRACT_SUBREG:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69939 /* 197848 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s64,
69940 /* 197851 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69941 /* 197855 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69942 /* 197860 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69943 /* 197866 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69944 /* 197871 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69945 /* 197876 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI32X4Z256rri),
69946 /* 197879 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69947 /* 197881 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69948 /* 197884 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69949 /* 197887 */ GIR_RootConstrainSelectedInstOperands,
69950 /* 197888 */ // GIR_Coverage, 19058,
69951 /* 197888 */ GIR_EraseRootFromParent_Done,
69952 /* 197889 */ // Label 4486: @197889
69953 /* 197889 */ GIM_Try, /*On fail goto*//*Label 4487*/ GIMT_Encode4(197960), // Rule ID 19059 //
69954 /* 197894 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
69955 /* 197897 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
69956 /* 197900 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69957 /* 197904 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69958 /* 197908 */ // MIs[0] Operand 2
69959 /* 197908 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2),
69960 /* 197919 */ // (extract_subvector:{ *:[v2f64] } VR512:{ *:[v8f64] }:$src, 2:{ *:[iPTR] }) => (VEXTRACTF32X4Z256rri:{ *:[v2f64] } (EXTRACT_SUBREG:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69961 /* 197919 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s64,
69962 /* 197922 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69963 /* 197926 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69964 /* 197931 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69965 /* 197937 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69966 /* 197942 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69967 /* 197947 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF32X4Z256rri),
69968 /* 197950 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69969 /* 197952 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69970 /* 197955 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69971 /* 197958 */ GIR_RootConstrainSelectedInstOperands,
69972 /* 197959 */ // GIR_Coverage, 19059,
69973 /* 197959 */ GIR_EraseRootFromParent_Done,
69974 /* 197960 */ // Label 4487: @197960
69975 /* 197960 */ GIM_Try, /*On fail goto*//*Label 4488*/ GIMT_Encode4(198009), // Rule ID 23089 //
69976 /* 197965 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
69977 /* 197968 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
69978 /* 197972 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69979 /* 197976 */ // MIs[0] Operand 2
69980 /* 197976 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69981 /* 197987 */ // (extract_subvector:{ *:[v2i64] } VR256:{ *:[v4i64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v2i64] } VR256:{ *:[v4i64] }:$src, sub_xmm:{ *:[i32] })
69982 /* 197987 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69983 /* 197990 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69984 /* 197992 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
69985 /* 197998 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
69986 /* 198003 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
69987 /* 198008 */ // GIR_Coverage, 23089,
69988 /* 198008 */ GIR_EraseRootFromParent_Done,
69989 /* 198009 */ // Label 4488: @198009
69990 /* 198009 */ GIM_Try, /*On fail goto*//*Label 4489*/ GIMT_Encode4(198058), // Rule ID 23092 //
69991 /* 198014 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
69992 /* 198017 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
69993 /* 198021 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69994 /* 198025 */ // MIs[0] Operand 2
69995 /* 198025 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69996 /* 198036 */ // (extract_subvector:{ *:[v2f64] } VR256:{ *:[v4f64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v2f64] } VR256:{ *:[v4f64] }:$src, sub_xmm:{ *:[i32] })
69997 /* 198036 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69998 /* 198039 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69999 /* 198041 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
70000 /* 198047 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
70001 /* 198052 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
70002 /* 198057 */ // GIR_Coverage, 23092,
70003 /* 198057 */ GIR_EraseRootFromParent_Done,
70004 /* 198058 */ // Label 4489: @198058
70005 /* 198058 */ GIM_Try, /*On fail goto*//*Label 4490*/ GIMT_Encode4(198107), // Rule ID 23110 //
70006 /* 198063 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
70007 /* 198066 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
70008 /* 198070 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70009 /* 198074 */ // MIs[0] Operand 2
70010 /* 198074 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70011 /* 198085 */ // (extract_subvector:{ *:[v2i64] } VR512:{ *:[v8i64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v2i64] } VR512:{ *:[v8i64] }:$src, sub_xmm:{ *:[i32] })
70012 /* 198085 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70013 /* 198088 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70014 /* 198090 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
70015 /* 198096 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
70016 /* 198101 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70017 /* 198106 */ // GIR_Coverage, 23110,
70018 /* 198106 */ GIR_EraseRootFromParent_Done,
70019 /* 198107 */ // Label 4490: @198107
70020 /* 198107 */ GIM_Try, /*On fail goto*//*Label 4491*/ GIMT_Encode4(198156), // Rule ID 23113 //
70021 /* 198112 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
70022 /* 198115 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
70023 /* 198119 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70024 /* 198123 */ // MIs[0] Operand 2
70025 /* 198123 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70026 /* 198134 */ // (extract_subvector:{ *:[v2f64] } VR512:{ *:[v8f64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v2f64] } VR512:{ *:[v8f64] }:$src, sub_xmm:{ *:[i32] })
70027 /* 198134 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70028 /* 198137 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70029 /* 198139 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
70030 /* 198145 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
70031 /* 198150 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70032 /* 198155 */ // GIR_Coverage, 23113,
70033 /* 198155 */ GIR_EraseRootFromParent_Done,
70034 /* 198156 */ // Label 4491: @198156
70035 /* 198156 */ GIM_Reject,
70036 /* 198157 */ // Label 4461: @198157
70037 /* 198157 */ GIM_Try, /*On fail goto*//*Label 4492*/ GIMT_Encode4(198197), // Rule ID 19633 //
70038 /* 198162 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
70039 /* 198165 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
70040 /* 198169 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
70041 /* 198173 */ // MIs[0] Operand 2
70042 /* 198173 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70043 /* 198184 */ // (extract_subvector:{ *:[v4i1] } VK8:{ *:[v8i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } VK8:{ *:[v8i1] }:$src, VK4:{ *:[i32] })
70044 /* 198184 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70045 /* 198187 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70046 /* 198189 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70047 /* 198191 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
70048 /* 198196 */ // GIR_Coverage, 19633,
70049 /* 198196 */ GIR_EraseRootFromParent_Done,
70050 /* 198197 */ // Label 4492: @198197
70051 /* 198197 */ GIM_Try, /*On fail goto*//*Label 4493*/ GIMT_Encode4(198237), // Rule ID 19635 //
70052 /* 198202 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
70053 /* 198205 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
70054 /* 198209 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
70055 /* 198213 */ // MIs[0] Operand 2
70056 /* 198213 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70057 /* 198224 */ // (extract_subvector:{ *:[v4i1] } VK16:{ *:[v16i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } VK16:{ *:[v16i1] }:$src, VK4:{ *:[i32] })
70058 /* 198224 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70059 /* 198227 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70060 /* 198229 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70061 /* 198231 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
70062 /* 198236 */ // GIR_Coverage, 19635,
70063 /* 198236 */ GIR_EraseRootFromParent_Done,
70064 /* 198237 */ // Label 4493: @198237
70065 /* 198237 */ GIM_Try, /*On fail goto*//*Label 4494*/ GIMT_Encode4(198277), // Rule ID 19637 //
70066 /* 198242 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
70067 /* 198245 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
70068 /* 198249 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
70069 /* 198253 */ // MIs[0] Operand 2
70070 /* 198253 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70071 /* 198264 */ // (extract_subvector:{ *:[v4i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } VK32:{ *:[v32i1] }:$src, VK4:{ *:[i32] })
70072 /* 198264 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70073 /* 198267 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70074 /* 198269 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70075 /* 198271 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
70076 /* 198276 */ // GIR_Coverage, 19637,
70077 /* 198276 */ GIR_EraseRootFromParent_Done,
70078 /* 198277 */ // Label 4494: @198277
70079 /* 198277 */ GIM_Try, /*On fail goto*//*Label 4495*/ GIMT_Encode4(198317), // Rule ID 19639 //
70080 /* 198282 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
70081 /* 198285 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
70082 /* 198289 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
70083 /* 198293 */ // MIs[0] Operand 2
70084 /* 198293 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70085 /* 198304 */ // (extract_subvector:{ *:[v4i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } VK64:{ *:[v64i1] }:$src, VK4:{ *:[i32] })
70086 /* 198304 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70087 /* 198307 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70088 /* 198309 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70089 /* 198311 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
70090 /* 198316 */ // GIR_Coverage, 19639,
70091 /* 198316 */ GIR_EraseRootFromParent_Done,
70092 /* 198317 */ // Label 4495: @198317
70093 /* 198317 */ GIM_Reject,
70094 /* 198318 */ // Label 4462: @198318
70095 /* 198318 */ GIM_Try, /*On fail goto*//*Label 4496*/ GIMT_Encode4(198389), // Rule ID 19053 //
70096 /* 198323 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoVLX),
70097 /* 198326 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
70098 /* 198329 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70099 /* 198333 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70100 /* 198337 */ // MIs[0] Operand 2
70101 /* 198337 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(4),
70102 /* 198348 */ // (extract_subvector:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src, 4:{ *:[iPTR] }) => (VEXTRACTI128rri:{ *:[v4i32] } (EXTRACT_SUBREG:{ *:[v8i32] } VR512:{ *:[v16i32] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70103 /* 198348 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
70104 /* 198351 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70105 /* 198355 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70106 /* 198360 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70107 /* 198366 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70108 /* 198371 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70109 /* 198376 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI128rri),
70110 /* 198379 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70111 /* 198381 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70112 /* 198384 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70113 /* 198387 */ GIR_RootConstrainSelectedInstOperands,
70114 /* 198388 */ // GIR_Coverage, 19053,
70115 /* 198388 */ GIR_EraseRootFromParent_Done,
70116 /* 198389 */ // Label 4496: @198389
70117 /* 198389 */ GIM_Try, /*On fail goto*//*Label 4497*/ GIMT_Encode4(198460), // Rule ID 19054 //
70118 /* 198394 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoVLX),
70119 /* 198397 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
70120 /* 198400 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70121 /* 198404 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70122 /* 198408 */ // MIs[0] Operand 2
70123 /* 198408 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(4),
70124 /* 198419 */ // (extract_subvector:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src, 4:{ *:[iPTR] }) => (VEXTRACTF128rri:{ *:[v4f32] } (EXTRACT_SUBREG:{ *:[v8f32] } VR512:{ *:[v16f32] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70125 /* 198419 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
70126 /* 198422 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70127 /* 198426 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70128 /* 198431 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70129 /* 198437 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70130 /* 198442 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70131 /* 198447 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF128rri),
70132 /* 198450 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70133 /* 198452 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70134 /* 198455 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70135 /* 198458 */ GIR_RootConstrainSelectedInstOperands,
70136 /* 198459 */ // GIR_Coverage, 19054,
70137 /* 198459 */ GIR_EraseRootFromParent_Done,
70138 /* 198460 */ // Label 4497: @198460
70139 /* 198460 */ GIM_Try, /*On fail goto*//*Label 4498*/ GIMT_Encode4(198531), // Rule ID 19060 //
70140 /* 198465 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
70141 /* 198468 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
70142 /* 198471 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70143 /* 198475 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70144 /* 198479 */ // MIs[0] Operand 2
70145 /* 198479 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(4),
70146 /* 198490 */ // (extract_subvector:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src, 4:{ *:[iPTR] }) => (VEXTRACTI32X4Z256rri:{ *:[v4i32] } (EXTRACT_SUBREG:{ *:[v8i32] } VR512:{ *:[v16i32] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70147 /* 198490 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
70148 /* 198493 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70149 /* 198497 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70150 /* 198502 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70151 /* 198508 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70152 /* 198513 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70153 /* 198518 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI32X4Z256rri),
70154 /* 198521 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70155 /* 198523 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70156 /* 198526 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70157 /* 198529 */ GIR_RootConstrainSelectedInstOperands,
70158 /* 198530 */ // GIR_Coverage, 19060,
70159 /* 198530 */ GIR_EraseRootFromParent_Done,
70160 /* 198531 */ // Label 4498: @198531
70161 /* 198531 */ GIM_Try, /*On fail goto*//*Label 4499*/ GIMT_Encode4(198602), // Rule ID 19061 //
70162 /* 198536 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
70163 /* 198539 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
70164 /* 198542 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70165 /* 198546 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70166 /* 198550 */ // MIs[0] Operand 2
70167 /* 198550 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(4),
70168 /* 198561 */ // (extract_subvector:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src, 4:{ *:[iPTR] }) => (VEXTRACTF32X4Z256rri:{ *:[v4f32] } (EXTRACT_SUBREG:{ *:[v8f32] } VR512:{ *:[v16f32] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70169 /* 198561 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
70170 /* 198564 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70171 /* 198568 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70172 /* 198573 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70173 /* 198579 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70174 /* 198584 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70175 /* 198589 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF32X4Z256rri),
70176 /* 198592 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70177 /* 198594 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70178 /* 198597 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70179 /* 198600 */ GIR_RootConstrainSelectedInstOperands,
70180 /* 198601 */ // GIR_Coverage, 19061,
70181 /* 198601 */ GIR_EraseRootFromParent_Done,
70182 /* 198602 */ // Label 4499: @198602
70183 /* 198602 */ GIM_Try, /*On fail goto*//*Label 4500*/ GIMT_Encode4(198651), // Rule ID 23083 //
70184 /* 198607 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
70185 /* 198610 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
70186 /* 198614 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70187 /* 198618 */ // MIs[0] Operand 2
70188 /* 198618 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70189 /* 198629 */ // (extract_subvector:{ *:[v4i32] } VR256:{ *:[v8i32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4i32] } VR256:{ *:[v8i32] }:$src, sub_xmm:{ *:[i32] })
70190 /* 198629 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70191 /* 198632 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70192 /* 198634 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
70193 /* 198640 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
70194 /* 198645 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
70195 /* 198650 */ // GIR_Coverage, 23083,
70196 /* 198650 */ GIR_EraseRootFromParent_Done,
70197 /* 198651 */ // Label 4500: @198651
70198 /* 198651 */ GIM_Try, /*On fail goto*//*Label 4501*/ GIMT_Encode4(198700), // Rule ID 23086 //
70199 /* 198656 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
70200 /* 198659 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
70201 /* 198663 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70202 /* 198667 */ // MIs[0] Operand 2
70203 /* 198667 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70204 /* 198678 */ // (extract_subvector:{ *:[v4f32] } VR256:{ *:[v8f32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4f32] } VR256:{ *:[v8f32] }:$src, sub_xmm:{ *:[i32] })
70205 /* 198678 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70206 /* 198681 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70207 /* 198683 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
70208 /* 198689 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
70209 /* 198694 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
70210 /* 198699 */ // GIR_Coverage, 23086,
70211 /* 198699 */ GIR_EraseRootFromParent_Done,
70212 /* 198700 */ // Label 4501: @198700
70213 /* 198700 */ GIM_Try, /*On fail goto*//*Label 4502*/ GIMT_Encode4(198749), // Rule ID 23104 //
70214 /* 198705 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
70215 /* 198708 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
70216 /* 198712 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70217 /* 198716 */ // MIs[0] Operand 2
70218 /* 198716 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70219 /* 198727 */ // (extract_subvector:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src, sub_xmm:{ *:[i32] })
70220 /* 198727 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70221 /* 198730 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70222 /* 198732 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
70223 /* 198738 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
70224 /* 198743 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70225 /* 198748 */ // GIR_Coverage, 23104,
70226 /* 198748 */ GIR_EraseRootFromParent_Done,
70227 /* 198749 */ // Label 4502: @198749
70228 /* 198749 */ GIM_Try, /*On fail goto*//*Label 4503*/ GIMT_Encode4(198798), // Rule ID 23107 //
70229 /* 198754 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
70230 /* 198757 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
70231 /* 198761 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70232 /* 198765 */ // MIs[0] Operand 2
70233 /* 198765 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70234 /* 198776 */ // (extract_subvector:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src, sub_xmm:{ *:[i32] })
70235 /* 198776 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70236 /* 198779 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70237 /* 198781 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
70238 /* 198787 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
70239 /* 198792 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70240 /* 198797 */ // GIR_Coverage, 23107,
70241 /* 198797 */ GIR_EraseRootFromParent_Done,
70242 /* 198798 */ // Label 4503: @198798
70243 /* 198798 */ GIM_Reject,
70244 /* 198799 */ // Label 4463: @198799
70245 /* 198799 */ GIM_Try, /*On fail goto*//*Label 4504*/ GIMT_Encode4(198881),
70246 /* 198804 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
70247 /* 198807 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70248 /* 198811 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70249 /* 198815 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70250 /* 198826 */ GIM_Try, /*On fail goto*//*Label 4505*/ GIMT_Encode4(198853), // Rule ID 23131 //
70251 /* 198831 */ // (extract_subvector:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src, sub_ymm:{ *:[i32] })
70252 /* 198831 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70253 /* 198834 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70254 /* 198836 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70255 /* 198842 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70256 /* 198847 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70257 /* 198852 */ // GIR_Coverage, 23131,
70258 /* 198852 */ GIR_EraseRootFromParent_Done,
70259 /* 198853 */ // Label 4505: @198853
70260 /* 198853 */ GIM_Try, /*On fail goto*//*Label 4506*/ GIMT_Encode4(198880), // Rule ID 23134 //
70261 /* 198858 */ // (extract_subvector:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src, sub_ymm:{ *:[i32] })
70262 /* 198858 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70263 /* 198861 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70264 /* 198863 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70265 /* 198869 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70266 /* 198874 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70267 /* 198879 */ // GIR_Coverage, 23134,
70268 /* 198879 */ GIR_EraseRootFromParent_Done,
70269 /* 198880 */ // Label 4506: @198880
70270 /* 198880 */ GIM_Reject,
70271 /* 198881 */ // Label 4504: @198881
70272 /* 198881 */ GIM_Reject,
70273 /* 198882 */ // Label 4464: @198882
70274 /* 198882 */ GIM_Try, /*On fail goto*//*Label 4507*/ GIMT_Encode4(198922), // Rule ID 19641 //
70275 /* 198887 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
70276 /* 198890 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
70277 /* 198894 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
70278 /* 198898 */ // MIs[0] Operand 2
70279 /* 198898 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70280 /* 198909 */ // (extract_subvector:{ *:[v8i1] } VK16:{ *:[v16i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v8i1] } VK16:{ *:[v16i1] }:$src, VK8:{ *:[i32] })
70281 /* 198909 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70282 /* 198912 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70283 /* 198914 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70284 /* 198916 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
70285 /* 198921 */ // GIR_Coverage, 19641,
70286 /* 198921 */ GIR_EraseRootFromParent_Done,
70287 /* 198922 */ // Label 4507: @198922
70288 /* 198922 */ GIM_Try, /*On fail goto*//*Label 4508*/ GIMT_Encode4(198962), // Rule ID 19643 //
70289 /* 198927 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
70290 /* 198930 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
70291 /* 198934 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
70292 /* 198938 */ // MIs[0] Operand 2
70293 /* 198938 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70294 /* 198949 */ // (extract_subvector:{ *:[v8i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v8i1] } VK32:{ *:[v32i1] }:$src, VK8:{ *:[i32] })
70295 /* 198949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70296 /* 198952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70297 /* 198954 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70298 /* 198956 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
70299 /* 198961 */ // GIR_Coverage, 19643,
70300 /* 198961 */ GIR_EraseRootFromParent_Done,
70301 /* 198962 */ // Label 4508: @198962
70302 /* 198962 */ GIM_Try, /*On fail goto*//*Label 4509*/ GIMT_Encode4(199002), // Rule ID 19645 //
70303 /* 198967 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
70304 /* 198970 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
70305 /* 198974 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
70306 /* 198978 */ // MIs[0] Operand 2
70307 /* 198978 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70308 /* 198989 */ // (extract_subvector:{ *:[v8i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v8i1] } VK64:{ *:[v64i1] }:$src, VK8:{ *:[i32] })
70309 /* 198989 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70310 /* 198992 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70311 /* 198994 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70312 /* 198996 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
70313 /* 199001 */ // GIR_Coverage, 19645,
70314 /* 199001 */ GIR_EraseRootFromParent_Done,
70315 /* 199002 */ // Label 4509: @199002
70316 /* 199002 */ GIM_Reject,
70317 /* 199003 */ // Label 4465: @199003
70318 /* 199003 */ GIM_Try, /*On fail goto*//*Label 4510*/ GIMT_Encode4(199074), // Rule ID 19055 //
70319 /* 199008 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoVLX),
70320 /* 199011 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
70321 /* 199014 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70322 /* 199018 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70323 /* 199022 */ // MIs[0] Operand 2
70324 /* 199022 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
70325 /* 199033 */ // (extract_subvector:{ *:[v8i16] } VR512:{ *:[v32i16] }:$src, 8:{ *:[iPTR] }) => (VEXTRACTI128rri:{ *:[v8i16] } (EXTRACT_SUBREG:{ *:[v16i16] } VR512:{ *:[v32i16] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70326 /* 199033 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
70327 /* 199036 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70328 /* 199040 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70329 /* 199045 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70330 /* 199051 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70331 /* 199056 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70332 /* 199061 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI128rri),
70333 /* 199064 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70334 /* 199066 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70335 /* 199069 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70336 /* 199072 */ GIR_RootConstrainSelectedInstOperands,
70337 /* 199073 */ // GIR_Coverage, 19055,
70338 /* 199073 */ GIR_EraseRootFromParent_Done,
70339 /* 199074 */ // Label 4510: @199074
70340 /* 199074 */ GIM_Try, /*On fail goto*//*Label 4511*/ GIMT_Encode4(199145), // Rule ID 19056 //
70341 /* 199079 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoVLX),
70342 /* 199082 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
70343 /* 199085 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70344 /* 199089 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70345 /* 199093 */ // MIs[0] Operand 2
70346 /* 199093 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
70347 /* 199104 */ // (extract_subvector:{ *:[v8f16] } VR512:{ *:[v32f16] }:$src, 8:{ *:[iPTR] }) => (VEXTRACTF128rri:{ *:[v8f16] } (EXTRACT_SUBREG:{ *:[v16f16] } VR512:{ *:[v32f16] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70348 /* 199104 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
70349 /* 199107 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70350 /* 199111 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70351 /* 199116 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70352 /* 199122 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70353 /* 199127 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70354 /* 199132 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF128rri),
70355 /* 199135 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70356 /* 199137 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70357 /* 199140 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70358 /* 199143 */ GIR_RootConstrainSelectedInstOperands,
70359 /* 199144 */ // GIR_Coverage, 19056,
70360 /* 199144 */ GIR_EraseRootFromParent_Done,
70361 /* 199145 */ // Label 4511: @199145
70362 /* 199145 */ GIM_Try, /*On fail goto*//*Label 4512*/ GIMT_Encode4(199216), // Rule ID 19062 //
70363 /* 199150 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
70364 /* 199153 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
70365 /* 199156 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70366 /* 199160 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70367 /* 199164 */ // MIs[0] Operand 2
70368 /* 199164 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
70369 /* 199175 */ // (extract_subvector:{ *:[v8i16] } VR512:{ *:[v32i16] }:$src, 8:{ *:[iPTR] }) => (VEXTRACTI32X4Z256rri:{ *:[v8i16] } (EXTRACT_SUBREG:{ *:[v16i16] } VR512:{ *:[v32i16] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70370 /* 199175 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
70371 /* 199178 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70372 /* 199182 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70373 /* 199187 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70374 /* 199193 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70375 /* 199198 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70376 /* 199203 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI32X4Z256rri),
70377 /* 199206 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70378 /* 199208 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70379 /* 199211 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70380 /* 199214 */ GIR_RootConstrainSelectedInstOperands,
70381 /* 199215 */ // GIR_Coverage, 19062,
70382 /* 199215 */ GIR_EraseRootFromParent_Done,
70383 /* 199216 */ // Label 4512: @199216
70384 /* 199216 */ GIM_Try, /*On fail goto*//*Label 4513*/ GIMT_Encode4(199287), // Rule ID 19063 //
70385 /* 199221 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
70386 /* 199224 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
70387 /* 199227 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70388 /* 199231 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70389 /* 199235 */ // MIs[0] Operand 2
70390 /* 199235 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
70391 /* 199246 */ // (extract_subvector:{ *:[v8f16] } VR512:{ *:[v32f16] }:$src, 8:{ *:[iPTR] }) => (VEXTRACTF32X4Z256rri:{ *:[v8f16] } (EXTRACT_SUBREG:{ *:[v16f16] } VR512:{ *:[v32f16] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70392 /* 199246 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
70393 /* 199249 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70394 /* 199253 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70395 /* 199258 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70396 /* 199264 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70397 /* 199269 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70398 /* 199274 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF32X4Z256rri),
70399 /* 199277 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70400 /* 199279 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70401 /* 199282 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70402 /* 199285 */ GIR_RootConstrainSelectedInstOperands,
70403 /* 199286 */ // GIR_Coverage, 19063,
70404 /* 199286 */ GIR_EraseRootFromParent_Done,
70405 /* 199287 */ // Label 4513: @199287
70406 /* 199287 */ GIM_Try, /*On fail goto*//*Label 4514*/ GIMT_Encode4(199336), // Rule ID 23095 //
70407 /* 199292 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
70408 /* 199295 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
70409 /* 199299 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70410 /* 199303 */ // MIs[0] Operand 2
70411 /* 199303 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70412 /* 199314 */ // (extract_subvector:{ *:[v8i16] } VR256:{ *:[v16i16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8i16] } VR256:{ *:[v16i16] }:$src, sub_xmm:{ *:[i32] })
70413 /* 199314 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70414 /* 199317 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70415 /* 199319 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
70416 /* 199325 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
70417 /* 199330 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
70418 /* 199335 */ // GIR_Coverage, 23095,
70419 /* 199335 */ GIR_EraseRootFromParent_Done,
70420 /* 199336 */ // Label 4514: @199336
70421 /* 199336 */ GIM_Try, /*On fail goto*//*Label 4515*/ GIMT_Encode4(199385), // Rule ID 23101 //
70422 /* 199341 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
70423 /* 199344 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
70424 /* 199348 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70425 /* 199352 */ // MIs[0] Operand 2
70426 /* 199352 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70427 /* 199363 */ // (extract_subvector:{ *:[v8f16] } VR256:{ *:[v16f16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8f16] } VR256:{ *:[v16f16] }:$src, sub_xmm:{ *:[i32] })
70428 /* 199363 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70429 /* 199366 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70430 /* 199368 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
70431 /* 199374 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
70432 /* 199379 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
70433 /* 199384 */ // GIR_Coverage, 23101,
70434 /* 199384 */ GIR_EraseRootFromParent_Done,
70435 /* 199385 */ // Label 4515: @199385
70436 /* 199385 */ GIM_Try, /*On fail goto*//*Label 4516*/ GIMT_Encode4(199434), // Rule ID 23116 //
70437 /* 199390 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
70438 /* 199393 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
70439 /* 199397 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70440 /* 199401 */ // MIs[0] Operand 2
70441 /* 199401 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70442 /* 199412 */ // (extract_subvector:{ *:[v8i16] } VR512:{ *:[v32i16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8i16] } VR512:{ *:[v32i16] }:$src, sub_xmm:{ *:[i32] })
70443 /* 199412 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70444 /* 199415 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70445 /* 199417 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
70446 /* 199423 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
70447 /* 199428 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70448 /* 199433 */ // GIR_Coverage, 23116,
70449 /* 199433 */ GIR_EraseRootFromParent_Done,
70450 /* 199434 */ // Label 4516: @199434
70451 /* 199434 */ GIM_Try, /*On fail goto*//*Label 4517*/ GIMT_Encode4(199483), // Rule ID 23122 //
70452 /* 199439 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
70453 /* 199442 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
70454 /* 199446 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70455 /* 199450 */ // MIs[0] Operand 2
70456 /* 199450 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70457 /* 199461 */ // (extract_subvector:{ *:[v8f16] } VR512:{ *:[v32f16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8f16] } VR512:{ *:[v32f16] }:$src, sub_xmm:{ *:[i32] })
70458 /* 199461 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70459 /* 199464 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70460 /* 199466 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
70461 /* 199472 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
70462 /* 199477 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70463 /* 199482 */ // GIR_Coverage, 23122,
70464 /* 199482 */ GIR_EraseRootFromParent_Done,
70465 /* 199483 */ // Label 4517: @199483
70466 /* 199483 */ GIM_Reject,
70467 /* 199484 */ // Label 4466: @199484
70468 /* 199484 */ GIM_Try, /*On fail goto*//*Label 4518*/ GIMT_Encode4(199566),
70469 /* 199489 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
70470 /* 199492 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70471 /* 199496 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70472 /* 199500 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70473 /* 199511 */ GIM_Try, /*On fail goto*//*Label 4519*/ GIMT_Encode4(199538), // Rule ID 23125 //
70474 /* 199516 */ // (extract_subvector:{ *:[v8i32] } VR512:{ *:[v16i32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8i32] } VR512:{ *:[v16i32] }:$src, sub_ymm:{ *:[i32] })
70475 /* 199516 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70476 /* 199519 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70477 /* 199521 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70478 /* 199527 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70479 /* 199532 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70480 /* 199537 */ // GIR_Coverage, 23125,
70481 /* 199537 */ GIR_EraseRootFromParent_Done,
70482 /* 199538 */ // Label 4519: @199538
70483 /* 199538 */ GIM_Try, /*On fail goto*//*Label 4520*/ GIMT_Encode4(199565), // Rule ID 23128 //
70484 /* 199543 */ // (extract_subvector:{ *:[v8f32] } VR512:{ *:[v16f32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8f32] } VR512:{ *:[v16f32] }:$src, sub_ymm:{ *:[i32] })
70485 /* 199543 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70486 /* 199546 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70487 /* 199548 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70488 /* 199554 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70489 /* 199559 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70490 /* 199564 */ // GIR_Coverage, 23128,
70491 /* 199564 */ GIR_EraseRootFromParent_Done,
70492 /* 199565 */ // Label 4520: @199565
70493 /* 199565 */ GIM_Reject,
70494 /* 199566 */ // Label 4518: @199566
70495 /* 199566 */ GIM_Reject,
70496 /* 199567 */ // Label 4467: @199567
70497 /* 199567 */ GIM_Try, /*On fail goto*//*Label 4521*/ GIMT_Encode4(199607), // Rule ID 19647 //
70498 /* 199572 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
70499 /* 199575 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
70500 /* 199579 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
70501 /* 199583 */ // MIs[0] Operand 2
70502 /* 199583 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70503 /* 199594 */ // (extract_subvector:{ *:[v16i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v16i1] } VK32:{ *:[v32i1] }:$src, VK16:{ *:[i32] })
70504 /* 199594 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70505 /* 199597 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70506 /* 199599 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70507 /* 199601 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
70508 /* 199606 */ // GIR_Coverage, 19647,
70509 /* 199606 */ GIR_EraseRootFromParent_Done,
70510 /* 199607 */ // Label 4521: @199607
70511 /* 199607 */ GIM_Try, /*On fail goto*//*Label 4522*/ GIMT_Encode4(199647), // Rule ID 19649 //
70512 /* 199612 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
70513 /* 199615 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
70514 /* 199619 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
70515 /* 199623 */ // MIs[0] Operand 2
70516 /* 199623 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70517 /* 199634 */ // (extract_subvector:{ *:[v16i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v16i1] } VK64:{ *:[v64i1] }:$src, VK16:{ *:[i32] })
70518 /* 199634 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70519 /* 199637 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70520 /* 199639 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70521 /* 199641 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
70522 /* 199646 */ // GIR_Coverage, 19649,
70523 /* 199646 */ GIR_EraseRootFromParent_Done,
70524 /* 199647 */ // Label 4522: @199647
70525 /* 199647 */ GIM_Reject,
70526 /* 199648 */ // Label 4468: @199648
70527 /* 199648 */ GIM_Try, /*On fail goto*//*Label 4523*/ GIMT_Encode4(199719), // Rule ID 19057 //
70528 /* 199653 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoVLX),
70529 /* 199656 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
70530 /* 199659 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70531 /* 199663 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70532 /* 199667 */ // MIs[0] Operand 2
70533 /* 199667 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(16),
70534 /* 199678 */ // (extract_subvector:{ *:[v16i8] } VR512:{ *:[v64i8] }:$src, 16:{ *:[iPTR] }) => (VEXTRACTI128rri:{ *:[v16i8] } (EXTRACT_SUBREG:{ *:[v32i8] } VR512:{ *:[v64i8] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70535 /* 199678 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s8,
70536 /* 199681 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70537 /* 199685 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70538 /* 199690 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70539 /* 199696 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70540 /* 199701 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70541 /* 199706 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI128rri),
70542 /* 199709 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70543 /* 199711 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70544 /* 199714 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70545 /* 199717 */ GIR_RootConstrainSelectedInstOperands,
70546 /* 199718 */ // GIR_Coverage, 19057,
70547 /* 199718 */ GIR_EraseRootFromParent_Done,
70548 /* 199719 */ // Label 4523: @199719
70549 /* 199719 */ GIM_Try, /*On fail goto*//*Label 4524*/ GIMT_Encode4(199790), // Rule ID 19064 //
70550 /* 199724 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
70551 /* 199727 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
70552 /* 199730 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70553 /* 199734 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70554 /* 199738 */ // MIs[0] Operand 2
70555 /* 199738 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(16),
70556 /* 199749 */ // (extract_subvector:{ *:[v16i8] } VR512:{ *:[v64i8] }:$src, 16:{ *:[iPTR] }) => (VEXTRACTI32X4Z256rri:{ *:[v16i8] } (EXTRACT_SUBREG:{ *:[v32i8] } VR512:{ *:[v64i8] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70557 /* 199749 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s8,
70558 /* 199752 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70559 /* 199756 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70560 /* 199761 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70561 /* 199767 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70562 /* 199772 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70563 /* 199777 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI32X4Z256rri),
70564 /* 199780 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70565 /* 199782 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70566 /* 199785 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70567 /* 199788 */ GIR_RootConstrainSelectedInstOperands,
70568 /* 199789 */ // GIR_Coverage, 19064,
70569 /* 199789 */ GIR_EraseRootFromParent_Done,
70570 /* 199790 */ // Label 4524: @199790
70571 /* 199790 */ GIM_Try, /*On fail goto*//*Label 4525*/ GIMT_Encode4(199839), // Rule ID 23098 //
70572 /* 199795 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
70573 /* 199798 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
70574 /* 199802 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70575 /* 199806 */ // MIs[0] Operand 2
70576 /* 199806 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70577 /* 199817 */ // (extract_subvector:{ *:[v16i8] } VR256:{ *:[v32i8] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v16i8] } VR256:{ *:[v32i8] }:$src, sub_xmm:{ *:[i32] })
70578 /* 199817 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70579 /* 199820 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70580 /* 199822 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
70581 /* 199828 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
70582 /* 199833 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
70583 /* 199838 */ // GIR_Coverage, 23098,
70584 /* 199838 */ GIR_EraseRootFromParent_Done,
70585 /* 199839 */ // Label 4525: @199839
70586 /* 199839 */ GIM_Try, /*On fail goto*//*Label 4526*/ GIMT_Encode4(199888), // Rule ID 23119 //
70587 /* 199844 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
70588 /* 199847 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
70589 /* 199851 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70590 /* 199855 */ // MIs[0] Operand 2
70591 /* 199855 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70592 /* 199866 */ // (extract_subvector:{ *:[v16i8] } VR512:{ *:[v64i8] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v16i8] } VR512:{ *:[v64i8] }:$src, sub_xmm:{ *:[i32] })
70593 /* 199866 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70594 /* 199869 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70595 /* 199871 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
70596 /* 199877 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
70597 /* 199882 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70598 /* 199887 */ // GIR_Coverage, 23119,
70599 /* 199887 */ GIR_EraseRootFromParent_Done,
70600 /* 199888 */ // Label 4526: @199888
70601 /* 199888 */ GIM_Reject,
70602 /* 199889 */ // Label 4469: @199889
70603 /* 199889 */ GIM_Try, /*On fail goto*//*Label 4527*/ GIMT_Encode4(199971),
70604 /* 199894 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
70605 /* 199897 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70606 /* 199901 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70607 /* 199905 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70608 /* 199916 */ GIM_Try, /*On fail goto*//*Label 4528*/ GIMT_Encode4(199943), // Rule ID 23137 //
70609 /* 199921 */ // (extract_subvector:{ *:[v16i16] } VR512:{ *:[v32i16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v16i16] } VR512:{ *:[v32i16] }:$src, sub_ymm:{ *:[i32] })
70610 /* 199921 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70611 /* 199924 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70612 /* 199926 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70613 /* 199932 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70614 /* 199937 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70615 /* 199942 */ // GIR_Coverage, 23137,
70616 /* 199942 */ GIR_EraseRootFromParent_Done,
70617 /* 199943 */ // Label 4528: @199943
70618 /* 199943 */ GIM_Try, /*On fail goto*//*Label 4529*/ GIMT_Encode4(199970), // Rule ID 23143 //
70619 /* 199948 */ // (extract_subvector:{ *:[v16f16] } VR512:{ *:[v32f16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v16f16] } VR512:{ *:[v32f16] }:$src, sub_ymm:{ *:[i32] })
70620 /* 199948 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70621 /* 199951 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70622 /* 199953 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70623 /* 199959 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70624 /* 199964 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70625 /* 199969 */ // GIR_Coverage, 23143,
70626 /* 199969 */ GIR_EraseRootFromParent_Done,
70627 /* 199970 */ // Label 4529: @199970
70628 /* 199970 */ GIM_Reject,
70629 /* 199971 */ // Label 4527: @199971
70630 /* 199971 */ GIM_Reject,
70631 /* 199972 */ // Label 4470: @199972
70632 /* 199972 */ GIM_Try, /*On fail goto*//*Label 4530*/ GIMT_Encode4(200012), // Rule ID 19651 //
70633 /* 199977 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
70634 /* 199980 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
70635 /* 199984 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
70636 /* 199988 */ // MIs[0] Operand 2
70637 /* 199988 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70638 /* 199999 */ // (extract_subvector:{ *:[v32i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v32i1] } VK64:{ *:[v64i1] }:$src, VK32:{ *:[i32] })
70639 /* 199999 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70640 /* 200002 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70641 /* 200004 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70642 /* 200006 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK32RegClassID),
70643 /* 200011 */ // GIR_Coverage, 19651,
70644 /* 200011 */ GIR_EraseRootFromParent_Done,
70645 /* 200012 */ // Label 4530: @200012
70646 /* 200012 */ GIM_Reject,
70647 /* 200013 */ // Label 4471: @200013
70648 /* 200013 */ GIM_Try, /*On fail goto*//*Label 4531*/ GIMT_Encode4(200062), // Rule ID 23140 //
70649 /* 200018 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
70650 /* 200021 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70651 /* 200025 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70652 /* 200029 */ // MIs[0] Operand 2
70653 /* 200029 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70654 /* 200040 */ // (extract_subvector:{ *:[v32i8] } VR512:{ *:[v64i8] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v32i8] } VR512:{ *:[v64i8] }:$src, sub_ymm:{ *:[i32] })
70655 /* 200040 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70656 /* 200043 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70657 /* 200045 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70658 /* 200051 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70659 /* 200056 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70660 /* 200061 */ // GIR_Coverage, 23140,
70661 /* 200061 */ GIR_EraseRootFromParent_Done,
70662 /* 200062 */ // Label 4531: @200062
70663 /* 200062 */ GIM_Reject,
70664 /* 200063 */ // Label 4472: @200063
70665 /* 200063 */ GIM_Reject,
70666 /* 200064 */ // Label 62: @200064
70667 /* 200064 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(8), GIMT_Encode2(25), /*)*//*default:*//*Label 4544*/ GIMT_Encode4(202045),
70668 /* 200075 */ /*GILLT_v2s64*//*Label 4532*/ GIMT_Encode4(200143), GIMT_Encode4(0),
70669 /* 200083 */ /*GILLT_v4s32*//*Label 4533*/ GIMT_Encode4(200345),
70670 /* 200087 */ /*GILLT_v4s64*//*Label 4534*/ GIMT_Encode4(200547), GIMT_Encode4(0),
70671 /* 200095 */ /*GILLT_v8s16*//*Label 4535*/ GIMT_Encode4(200749),
70672 /* 200099 */ /*GILLT_v8s32*//*Label 4536*/ GIMT_Encode4(200864),
70673 /* 200103 */ /*GILLT_v8s64*//*Label 4537*/ GIMT_Encode4(201066), GIMT_Encode4(0),
70674 /* 200111 */ /*GILLT_v16s8*//*Label 4538*/ GIMT_Encode4(201268),
70675 /* 200115 */ /*GILLT_v16s16*//*Label 4539*/ GIMT_Encode4(201383),
70676 /* 200119 */ /*GILLT_v16s32*//*Label 4540*/ GIMT_Encode4(201498), GIMT_Encode4(0),
70677 /* 200127 */ /*GILLT_v32s8*//*Label 4541*/ GIMT_Encode4(201700),
70678 /* 200131 */ /*GILLT_v32s16*//*Label 4542*/ GIMT_Encode4(201815), GIMT_Encode4(0),
70679 /* 200139 */ /*GILLT_v64s8*//*Label 4543*/ GIMT_Encode4(201930),
70680 /* 200143 */ // Label 4532: @200143
70681 /* 200143 */ GIM_Try, /*On fail goto*//*Label 4545*/ GIMT_Encode4(200344),
70682 /* 200148 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
70683 /* 200151 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s1,
70684 /* 200154 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
70685 /* 200157 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70686 /* 200161 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70687 /* 200165 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
70688 /* 200169 */ GIM_Try, /*On fail goto*//*Label 4546*/ GIMT_Encode4(200202), // Rule ID 21707 //
70689 /* 200174 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
70690 /* 200177 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70691 /* 200181 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70692 /* 200187 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70693 /* 200189 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70694 /* 200191 */ // (vector_compress:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, VK2WM:{ *:[v2i1] }:$mask, immAllZerosV:{ *:[v2i64] }) => (VPCOMPRESSQZ128rrkz:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src)
70695 /* 200191 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ128rrkz),
70696 /* 200194 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70697 /* 200196 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70698 /* 200198 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70699 /* 200200 */ GIR_RootConstrainSelectedInstOperands,
70700 /* 200201 */ // GIR_Coverage, 21707,
70701 /* 200201 */ GIR_EraseRootFromParent_Done,
70702 /* 200202 */ // Label 4546: @200202
70703 /* 200202 */ GIM_Try, /*On fail goto*//*Label 4547*/ GIMT_Encode4(200235), // Rule ID 21743 //
70704 /* 200207 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
70705 /* 200210 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70706 /* 200214 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70707 /* 200220 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70708 /* 200222 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70709 /* 200224 */ // (vector_compress:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src, VK2WM:{ *:[v2i1] }:$mask, immAllZerosV:{ *:[v2f64] }) => (VCOMPRESSPDZ128rrkz:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src)
70710 /* 200224 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ128rrkz),
70711 /* 200227 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70712 /* 200229 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70713 /* 200231 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70714 /* 200233 */ GIR_RootConstrainSelectedInstOperands,
70715 /* 200234 */ // GIR_Coverage, 21743,
70716 /* 200234 */ GIR_EraseRootFromParent_Done,
70717 /* 200235 */ // Label 4547: @200235
70718 /* 200235 */ GIM_Try, /*On fail goto*//*Label 4548*/ GIMT_Encode4(200264), // Rule ID 21706 //
70719 /* 200240 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
70720 /* 200243 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70721 /* 200247 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70722 /* 200251 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70723 /* 200253 */ // (vector_compress:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, VK2WM:{ *:[v2i1] }:$mask, (undef:{ *:[v2i64] })) => (VPCOMPRESSQZ128rrkz:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src)
70724 /* 200253 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ128rrkz),
70725 /* 200256 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70726 /* 200258 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70727 /* 200260 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70728 /* 200262 */ GIR_RootConstrainSelectedInstOperands,
70729 /* 200263 */ // GIR_Coverage, 21706,
70730 /* 200263 */ GIR_EraseRootFromParent_Done,
70731 /* 200264 */ // Label 4548: @200264
70732 /* 200264 */ GIM_Try, /*On fail goto*//*Label 4549*/ GIMT_Encode4(200293), // Rule ID 21742 //
70733 /* 200269 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
70734 /* 200272 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70735 /* 200276 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70736 /* 200280 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70737 /* 200282 */ // (vector_compress:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src, VK2WM:{ *:[v2i1] }:$mask, (undef:{ *:[v2f64] })) => (VCOMPRESSPDZ128rrkz:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src)
70738 /* 200282 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ128rrkz),
70739 /* 200285 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70740 /* 200287 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70741 /* 200289 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70742 /* 200291 */ GIR_RootConstrainSelectedInstOperands,
70743 /* 200292 */ // GIR_Coverage, 21742,
70744 /* 200292 */ GIR_EraseRootFromParent_Done,
70745 /* 200293 */ // Label 4549: @200293
70746 /* 200293 */ GIM_Try, /*On fail goto*//*Label 4550*/ GIMT_Encode4(200318), // Rule ID 21708 //
70747 /* 200298 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
70748 /* 200301 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70749 /* 200305 */ // (vector_compress:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$passthru) => (VPCOMPRESSQZ128rrk:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$passthru, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src)
70750 /* 200305 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ128rrk),
70751 /* 200308 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70752 /* 200310 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70753 /* 200312 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70754 /* 200314 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70755 /* 200316 */ GIR_RootConstrainSelectedInstOperands,
70756 /* 200317 */ // GIR_Coverage, 21708,
70757 /* 200317 */ GIR_EraseRootFromParent_Done,
70758 /* 200318 */ // Label 4550: @200318
70759 /* 200318 */ GIM_Try, /*On fail goto*//*Label 4551*/ GIMT_Encode4(200343), // Rule ID 21744 //
70760 /* 200323 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
70761 /* 200326 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70762 /* 200330 */ // (vector_compress:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$passthru) => (VCOMPRESSPDZ128rrk:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$passthru, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src)
70763 /* 200330 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ128rrk),
70764 /* 200333 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70765 /* 200335 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70766 /* 200337 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70767 /* 200339 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70768 /* 200341 */ GIR_RootConstrainSelectedInstOperands,
70769 /* 200342 */ // GIR_Coverage, 21744,
70770 /* 200342 */ GIR_EraseRootFromParent_Done,
70771 /* 200343 */ // Label 4551: @200343
70772 /* 200343 */ GIM_Reject,
70773 /* 200344 */ // Label 4545: @200344
70774 /* 200344 */ GIM_Reject,
70775 /* 200345 */ // Label 4533: @200345
70776 /* 200345 */ GIM_Try, /*On fail goto*//*Label 4552*/ GIMT_Encode4(200546),
70777 /* 200350 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
70778 /* 200353 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
70779 /* 200356 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
70780 /* 200359 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70781 /* 200363 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70782 /* 200367 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
70783 /* 200371 */ GIM_Try, /*On fail goto*//*Label 4553*/ GIMT_Encode4(200404), // Rule ID 21689 //
70784 /* 200376 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
70785 /* 200379 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70786 /* 200383 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70787 /* 200389 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70788 /* 200391 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70789 /* 200393 */ // (vector_compress:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, VK4WM:{ *:[v4i1] }:$mask, immAllZerosV:{ *:[v4i32] }) => (VPCOMPRESSDZ128rrkz:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src)
70790 /* 200393 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ128rrkz),
70791 /* 200396 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70792 /* 200398 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70793 /* 200400 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70794 /* 200402 */ GIR_RootConstrainSelectedInstOperands,
70795 /* 200403 */ // GIR_Coverage, 21689,
70796 /* 200403 */ GIR_EraseRootFromParent_Done,
70797 /* 200404 */ // Label 4553: @200404
70798 /* 200404 */ GIM_Try, /*On fail goto*//*Label 4554*/ GIMT_Encode4(200437), // Rule ID 21725 //
70799 /* 200409 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
70800 /* 200412 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70801 /* 200416 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70802 /* 200422 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70803 /* 200424 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70804 /* 200426 */ // (vector_compress:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src, VK4WM:{ *:[v4i1] }:$mask, immAllZerosV:{ *:[v4f32] }) => (VCOMPRESSPSZ128rrkz:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src)
70805 /* 200426 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ128rrkz),
70806 /* 200429 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70807 /* 200431 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70808 /* 200433 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70809 /* 200435 */ GIR_RootConstrainSelectedInstOperands,
70810 /* 200436 */ // GIR_Coverage, 21725,
70811 /* 200436 */ GIR_EraseRootFromParent_Done,
70812 /* 200437 */ // Label 4554: @200437
70813 /* 200437 */ GIM_Try, /*On fail goto*//*Label 4555*/ GIMT_Encode4(200466), // Rule ID 21688 //
70814 /* 200442 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
70815 /* 200445 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70816 /* 200449 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70817 /* 200453 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70818 /* 200455 */ // (vector_compress:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, VK4WM:{ *:[v4i1] }:$mask, (undef:{ *:[v4i32] })) => (VPCOMPRESSDZ128rrkz:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src)
70819 /* 200455 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ128rrkz),
70820 /* 200458 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70821 /* 200460 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70822 /* 200462 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70823 /* 200464 */ GIR_RootConstrainSelectedInstOperands,
70824 /* 200465 */ // GIR_Coverage, 21688,
70825 /* 200465 */ GIR_EraseRootFromParent_Done,
70826 /* 200466 */ // Label 4555: @200466
70827 /* 200466 */ GIM_Try, /*On fail goto*//*Label 4556*/ GIMT_Encode4(200495), // Rule ID 21724 //
70828 /* 200471 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
70829 /* 200474 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70830 /* 200478 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70831 /* 200482 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70832 /* 200484 */ // (vector_compress:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src, VK4WM:{ *:[v4i1] }:$mask, (undef:{ *:[v4f32] })) => (VCOMPRESSPSZ128rrkz:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src)
70833 /* 200484 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ128rrkz),
70834 /* 200487 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70835 /* 200489 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70836 /* 200491 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70837 /* 200493 */ GIR_RootConstrainSelectedInstOperands,
70838 /* 200494 */ // GIR_Coverage, 21724,
70839 /* 200494 */ GIR_EraseRootFromParent_Done,
70840 /* 200495 */ // Label 4556: @200495
70841 /* 200495 */ GIM_Try, /*On fail goto*//*Label 4557*/ GIMT_Encode4(200520), // Rule ID 21690 //
70842 /* 200500 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
70843 /* 200503 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70844 /* 200507 */ // (vector_compress:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$passthru) => (VPCOMPRESSDZ128rrk:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$passthru, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src)
70845 /* 200507 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ128rrk),
70846 /* 200510 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70847 /* 200512 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70848 /* 200514 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70849 /* 200516 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70850 /* 200518 */ GIR_RootConstrainSelectedInstOperands,
70851 /* 200519 */ // GIR_Coverage, 21690,
70852 /* 200519 */ GIR_EraseRootFromParent_Done,
70853 /* 200520 */ // Label 4557: @200520
70854 /* 200520 */ GIM_Try, /*On fail goto*//*Label 4558*/ GIMT_Encode4(200545), // Rule ID 21726 //
70855 /* 200525 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
70856 /* 200528 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70857 /* 200532 */ // (vector_compress:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$passthru) => (VCOMPRESSPSZ128rrk:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$passthru, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src)
70858 /* 200532 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ128rrk),
70859 /* 200535 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70860 /* 200537 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70861 /* 200539 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70862 /* 200541 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70863 /* 200543 */ GIR_RootConstrainSelectedInstOperands,
70864 /* 200544 */ // GIR_Coverage, 21726,
70865 /* 200544 */ GIR_EraseRootFromParent_Done,
70866 /* 200545 */ // Label 4558: @200545
70867 /* 200545 */ GIM_Reject,
70868 /* 200546 */ // Label 4552: @200546
70869 /* 200546 */ GIM_Reject,
70870 /* 200547 */ // Label 4534: @200547
70871 /* 200547 */ GIM_Try, /*On fail goto*//*Label 4559*/ GIMT_Encode4(200748),
70872 /* 200552 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
70873 /* 200555 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
70874 /* 200558 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
70875 /* 200561 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70876 /* 200565 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70877 /* 200569 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
70878 /* 200573 */ GIM_Try, /*On fail goto*//*Label 4560*/ GIMT_Encode4(200606), // Rule ID 21701 //
70879 /* 200578 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
70880 /* 200581 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70881 /* 200585 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70882 /* 200591 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70883 /* 200593 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70884 /* 200595 */ // (vector_compress:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, VK4WM:{ *:[v4i1] }:$mask, immAllZerosV:{ *:[v4i64] }) => (VPCOMPRESSQZ256rrkz:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src)
70885 /* 200595 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ256rrkz),
70886 /* 200598 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70887 /* 200600 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70888 /* 200602 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70889 /* 200604 */ GIR_RootConstrainSelectedInstOperands,
70890 /* 200605 */ // GIR_Coverage, 21701,
70891 /* 200605 */ GIR_EraseRootFromParent_Done,
70892 /* 200606 */ // Label 4560: @200606
70893 /* 200606 */ GIM_Try, /*On fail goto*//*Label 4561*/ GIMT_Encode4(200639), // Rule ID 21737 //
70894 /* 200611 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
70895 /* 200614 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70896 /* 200618 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70897 /* 200624 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70898 /* 200626 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70899 /* 200628 */ // (vector_compress:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src, VK4WM:{ *:[v4i1] }:$mask, immAllZerosV:{ *:[v4f64] }) => (VCOMPRESSPDZ256rrkz:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src)
70900 /* 200628 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ256rrkz),
70901 /* 200631 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70902 /* 200633 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70903 /* 200635 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70904 /* 200637 */ GIR_RootConstrainSelectedInstOperands,
70905 /* 200638 */ // GIR_Coverage, 21737,
70906 /* 200638 */ GIR_EraseRootFromParent_Done,
70907 /* 200639 */ // Label 4561: @200639
70908 /* 200639 */ GIM_Try, /*On fail goto*//*Label 4562*/ GIMT_Encode4(200668), // Rule ID 21700 //
70909 /* 200644 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
70910 /* 200647 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70911 /* 200651 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70912 /* 200655 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70913 /* 200657 */ // (vector_compress:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, VK4WM:{ *:[v4i1] }:$mask, (undef:{ *:[v4i64] })) => (VPCOMPRESSQZ256rrkz:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src)
70914 /* 200657 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ256rrkz),
70915 /* 200660 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70916 /* 200662 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70917 /* 200664 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70918 /* 200666 */ GIR_RootConstrainSelectedInstOperands,
70919 /* 200667 */ // GIR_Coverage, 21700,
70920 /* 200667 */ GIR_EraseRootFromParent_Done,
70921 /* 200668 */ // Label 4562: @200668
70922 /* 200668 */ GIM_Try, /*On fail goto*//*Label 4563*/ GIMT_Encode4(200697), // Rule ID 21736 //
70923 /* 200673 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
70924 /* 200676 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70925 /* 200680 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70926 /* 200684 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70927 /* 200686 */ // (vector_compress:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src, VK4WM:{ *:[v4i1] }:$mask, (undef:{ *:[v4f64] })) => (VCOMPRESSPDZ256rrkz:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src)
70928 /* 200686 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ256rrkz),
70929 /* 200689 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70930 /* 200691 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70931 /* 200693 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70932 /* 200695 */ GIR_RootConstrainSelectedInstOperands,
70933 /* 200696 */ // GIR_Coverage, 21736,
70934 /* 200696 */ GIR_EraseRootFromParent_Done,
70935 /* 200697 */ // Label 4563: @200697
70936 /* 200697 */ GIM_Try, /*On fail goto*//*Label 4564*/ GIMT_Encode4(200722), // Rule ID 21702 //
70937 /* 200702 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
70938 /* 200705 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70939 /* 200709 */ // (vector_compress:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$passthru) => (VPCOMPRESSQZ256rrk:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$passthru, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src)
70940 /* 200709 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ256rrk),
70941 /* 200712 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70942 /* 200714 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70943 /* 200716 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70944 /* 200718 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70945 /* 200720 */ GIR_RootConstrainSelectedInstOperands,
70946 /* 200721 */ // GIR_Coverage, 21702,
70947 /* 200721 */ GIR_EraseRootFromParent_Done,
70948 /* 200722 */ // Label 4564: @200722
70949 /* 200722 */ GIM_Try, /*On fail goto*//*Label 4565*/ GIMT_Encode4(200747), // Rule ID 21738 //
70950 /* 200727 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
70951 /* 200730 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70952 /* 200734 */ // (vector_compress:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$passthru) => (VCOMPRESSPDZ256rrk:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$passthru, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src)
70953 /* 200734 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ256rrk),
70954 /* 200737 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70955 /* 200739 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70956 /* 200741 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70957 /* 200743 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70958 /* 200745 */ GIR_RootConstrainSelectedInstOperands,
70959 /* 200746 */ // GIR_Coverage, 21738,
70960 /* 200746 */ GIR_EraseRootFromParent_Done,
70961 /* 200747 */ // Label 4565: @200747
70962 /* 200747 */ GIM_Reject,
70963 /* 200748 */ // Label 4559: @200748
70964 /* 200748 */ GIM_Reject,
70965 /* 200749 */ // Label 4535: @200749
70966 /* 200749 */ GIM_Try, /*On fail goto*//*Label 4566*/ GIMT_Encode4(200863),
70967 /* 200754 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
70968 /* 200757 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
70969 /* 200760 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
70970 /* 200763 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70971 /* 200767 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70972 /* 200771 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
70973 /* 200775 */ GIM_Try, /*On fail goto*//*Label 4567*/ GIMT_Encode4(200808), // Rule ID 22115 //
70974 /* 200780 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
70975 /* 200783 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70976 /* 200787 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70977 /* 200793 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70978 /* 200795 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70979 /* 200797 */ // (vector_compress:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8i16] }) => (VPCOMPRESSWZ128rrkz:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src)
70980 /* 200797 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ128rrkz),
70981 /* 200800 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70982 /* 200802 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70983 /* 200804 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70984 /* 200806 */ GIR_RootConstrainSelectedInstOperands,
70985 /* 200807 */ // GIR_Coverage, 22115,
70986 /* 200807 */ GIR_EraseRootFromParent_Done,
70987 /* 200808 */ // Label 4567: @200808
70988 /* 200808 */ GIM_Try, /*On fail goto*//*Label 4568*/ GIMT_Encode4(200837), // Rule ID 22114 //
70989 /* 200813 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
70990 /* 200816 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70991 /* 200820 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70992 /* 200824 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70993 /* 200826 */ // (vector_compress:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8i16] })) => (VPCOMPRESSWZ128rrkz:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src)
70994 /* 200826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ128rrkz),
70995 /* 200829 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70996 /* 200831 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70997 /* 200833 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70998 /* 200835 */ GIR_RootConstrainSelectedInstOperands,
70999 /* 200836 */ // GIR_Coverage, 22114,
71000 /* 200836 */ GIR_EraseRootFromParent_Done,
71001 /* 200837 */ // Label 4568: @200837
71002 /* 200837 */ GIM_Try, /*On fail goto*//*Label 4569*/ GIMT_Encode4(200862), // Rule ID 22116 //
71003 /* 200842 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71004 /* 200845 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71005 /* 200849 */ // (vector_compress:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$passthru) => (VPCOMPRESSWZ128rrk:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src)
71006 /* 200849 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ128rrk),
71007 /* 200852 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71008 /* 200854 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71009 /* 200856 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71010 /* 200858 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71011 /* 200860 */ GIR_RootConstrainSelectedInstOperands,
71012 /* 200861 */ // GIR_Coverage, 22116,
71013 /* 200861 */ GIR_EraseRootFromParent_Done,
71014 /* 200862 */ // Label 4569: @200862
71015 /* 200862 */ GIM_Reject,
71016 /* 200863 */ // Label 4566: @200863
71017 /* 200863 */ GIM_Reject,
71018 /* 200864 */ // Label 4536: @200864
71019 /* 200864 */ GIM_Try, /*On fail goto*//*Label 4570*/ GIMT_Encode4(201065),
71020 /* 200869 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
71021 /* 200872 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
71022 /* 200875 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
71023 /* 200878 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71024 /* 200882 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71025 /* 200886 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
71026 /* 200890 */ GIM_Try, /*On fail goto*//*Label 4571*/ GIMT_Encode4(200923), // Rule ID 21683 //
71027 /* 200895 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71028 /* 200898 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71029 /* 200902 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71030 /* 200908 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71031 /* 200910 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71032 /* 200912 */ // (vector_compress:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8i32] }) => (VPCOMPRESSDZ256rrkz:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src)
71033 /* 200912 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ256rrkz),
71034 /* 200915 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71035 /* 200917 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71036 /* 200919 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71037 /* 200921 */ GIR_RootConstrainSelectedInstOperands,
71038 /* 200922 */ // GIR_Coverage, 21683,
71039 /* 200922 */ GIR_EraseRootFromParent_Done,
71040 /* 200923 */ // Label 4571: @200923
71041 /* 200923 */ GIM_Try, /*On fail goto*//*Label 4572*/ GIMT_Encode4(200956), // Rule ID 21719 //
71042 /* 200928 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71043 /* 200931 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71044 /* 200935 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71045 /* 200941 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71046 /* 200943 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71047 /* 200945 */ // (vector_compress:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8f32] }) => (VCOMPRESSPSZ256rrkz:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src)
71048 /* 200945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ256rrkz),
71049 /* 200948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71050 /* 200950 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71051 /* 200952 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71052 /* 200954 */ GIR_RootConstrainSelectedInstOperands,
71053 /* 200955 */ // GIR_Coverage, 21719,
71054 /* 200955 */ GIR_EraseRootFromParent_Done,
71055 /* 200956 */ // Label 4572: @200956
71056 /* 200956 */ GIM_Try, /*On fail goto*//*Label 4573*/ GIMT_Encode4(200985), // Rule ID 21682 //
71057 /* 200961 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71058 /* 200964 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71059 /* 200968 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71060 /* 200972 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71061 /* 200974 */ // (vector_compress:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8i32] })) => (VPCOMPRESSDZ256rrkz:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src)
71062 /* 200974 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ256rrkz),
71063 /* 200977 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71064 /* 200979 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71065 /* 200981 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71066 /* 200983 */ GIR_RootConstrainSelectedInstOperands,
71067 /* 200984 */ // GIR_Coverage, 21682,
71068 /* 200984 */ GIR_EraseRootFromParent_Done,
71069 /* 200985 */ // Label 4573: @200985
71070 /* 200985 */ GIM_Try, /*On fail goto*//*Label 4574*/ GIMT_Encode4(201014), // Rule ID 21718 //
71071 /* 200990 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71072 /* 200993 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71073 /* 200997 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71074 /* 201001 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71075 /* 201003 */ // (vector_compress:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8f32] })) => (VCOMPRESSPSZ256rrkz:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src)
71076 /* 201003 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ256rrkz),
71077 /* 201006 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71078 /* 201008 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71079 /* 201010 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71080 /* 201012 */ GIR_RootConstrainSelectedInstOperands,
71081 /* 201013 */ // GIR_Coverage, 21718,
71082 /* 201013 */ GIR_EraseRootFromParent_Done,
71083 /* 201014 */ // Label 4574: @201014
71084 /* 201014 */ GIM_Try, /*On fail goto*//*Label 4575*/ GIMT_Encode4(201039), // Rule ID 21684 //
71085 /* 201019 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71086 /* 201022 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71087 /* 201026 */ // (vector_compress:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$passthru) => (VPCOMPRESSDZ256rrk:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src)
71088 /* 201026 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ256rrk),
71089 /* 201029 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71090 /* 201031 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71091 /* 201033 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71092 /* 201035 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71093 /* 201037 */ GIR_RootConstrainSelectedInstOperands,
71094 /* 201038 */ // GIR_Coverage, 21684,
71095 /* 201038 */ GIR_EraseRootFromParent_Done,
71096 /* 201039 */ // Label 4575: @201039
71097 /* 201039 */ GIM_Try, /*On fail goto*//*Label 4576*/ GIMT_Encode4(201064), // Rule ID 21720 //
71098 /* 201044 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71099 /* 201047 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71100 /* 201051 */ // (vector_compress:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$passthru) => (VCOMPRESSPSZ256rrk:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src)
71101 /* 201051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ256rrk),
71102 /* 201054 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71103 /* 201056 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71104 /* 201058 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71105 /* 201060 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71106 /* 201062 */ GIR_RootConstrainSelectedInstOperands,
71107 /* 201063 */ // GIR_Coverage, 21720,
71108 /* 201063 */ GIR_EraseRootFromParent_Done,
71109 /* 201064 */ // Label 4576: @201064
71110 /* 201064 */ GIM_Reject,
71111 /* 201065 */ // Label 4570: @201065
71112 /* 201065 */ GIM_Reject,
71113 /* 201066 */ // Label 4537: @201066
71114 /* 201066 */ GIM_Try, /*On fail goto*//*Label 4577*/ GIMT_Encode4(201267),
71115 /* 201071 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
71116 /* 201074 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
71117 /* 201077 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
71118 /* 201080 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71119 /* 201084 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71120 /* 201088 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
71121 /* 201092 */ GIM_Try, /*On fail goto*//*Label 4578*/ GIMT_Encode4(201125), // Rule ID 21695 //
71122 /* 201097 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71123 /* 201100 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71124 /* 201104 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71125 /* 201110 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71126 /* 201112 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71127 /* 201114 */ // (vector_compress:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8i64] }) => (VPCOMPRESSQZrrkz:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
71128 /* 201114 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZrrkz),
71129 /* 201117 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71130 /* 201119 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71131 /* 201121 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71132 /* 201123 */ GIR_RootConstrainSelectedInstOperands,
71133 /* 201124 */ // GIR_Coverage, 21695,
71134 /* 201124 */ GIR_EraseRootFromParent_Done,
71135 /* 201125 */ // Label 4578: @201125
71136 /* 201125 */ GIM_Try, /*On fail goto*//*Label 4579*/ GIMT_Encode4(201158), // Rule ID 21731 //
71137 /* 201130 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71138 /* 201133 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71139 /* 201137 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71140 /* 201143 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71141 /* 201145 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71142 /* 201147 */ // (vector_compress:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8f64] }) => (VCOMPRESSPDZrrkz:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src)
71143 /* 201147 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZrrkz),
71144 /* 201150 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71145 /* 201152 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71146 /* 201154 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71147 /* 201156 */ GIR_RootConstrainSelectedInstOperands,
71148 /* 201157 */ // GIR_Coverage, 21731,
71149 /* 201157 */ GIR_EraseRootFromParent_Done,
71150 /* 201158 */ // Label 4579: @201158
71151 /* 201158 */ GIM_Try, /*On fail goto*//*Label 4580*/ GIMT_Encode4(201187), // Rule ID 21694 //
71152 /* 201163 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71153 /* 201166 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71154 /* 201170 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71155 /* 201174 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71156 /* 201176 */ // (vector_compress:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8i64] })) => (VPCOMPRESSQZrrkz:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
71157 /* 201176 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZrrkz),
71158 /* 201179 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71159 /* 201181 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71160 /* 201183 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71161 /* 201185 */ GIR_RootConstrainSelectedInstOperands,
71162 /* 201186 */ // GIR_Coverage, 21694,
71163 /* 201186 */ GIR_EraseRootFromParent_Done,
71164 /* 201187 */ // Label 4580: @201187
71165 /* 201187 */ GIM_Try, /*On fail goto*//*Label 4581*/ GIMT_Encode4(201216), // Rule ID 21730 //
71166 /* 201192 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71167 /* 201195 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71168 /* 201199 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71169 /* 201203 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71170 /* 201205 */ // (vector_compress:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8f64] })) => (VCOMPRESSPDZrrkz:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src)
71171 /* 201205 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZrrkz),
71172 /* 201208 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71173 /* 201210 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71174 /* 201212 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71175 /* 201214 */ GIR_RootConstrainSelectedInstOperands,
71176 /* 201215 */ // GIR_Coverage, 21730,
71177 /* 201215 */ GIR_EraseRootFromParent_Done,
71178 /* 201216 */ // Label 4581: @201216
71179 /* 201216 */ GIM_Try, /*On fail goto*//*Label 4582*/ GIMT_Encode4(201241), // Rule ID 21696 //
71180 /* 201221 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71181 /* 201224 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71182 /* 201228 */ // (vector_compress:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$passthru) => (VPCOMPRESSQZrrk:{ *:[v8i64] } VR512:{ *:[v8i64] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
71183 /* 201228 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZrrk),
71184 /* 201231 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71185 /* 201233 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71186 /* 201235 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71187 /* 201237 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71188 /* 201239 */ GIR_RootConstrainSelectedInstOperands,
71189 /* 201240 */ // GIR_Coverage, 21696,
71190 /* 201240 */ GIR_EraseRootFromParent_Done,
71191 /* 201241 */ // Label 4582: @201241
71192 /* 201241 */ GIM_Try, /*On fail goto*//*Label 4583*/ GIMT_Encode4(201266), // Rule ID 21732 //
71193 /* 201246 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71194 /* 201249 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71195 /* 201253 */ // (vector_compress:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$passthru) => (VCOMPRESSPDZrrk:{ *:[v8f64] } VR512:{ *:[v8f64] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src)
71196 /* 201253 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZrrk),
71197 /* 201256 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71198 /* 201258 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71199 /* 201260 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71200 /* 201262 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71201 /* 201264 */ GIR_RootConstrainSelectedInstOperands,
71202 /* 201265 */ // GIR_Coverage, 21732,
71203 /* 201265 */ GIR_EraseRootFromParent_Done,
71204 /* 201266 */ // Label 4583: @201266
71205 /* 201266 */ GIM_Reject,
71206 /* 201267 */ // Label 4577: @201267
71207 /* 201267 */ GIM_Reject,
71208 /* 201268 */ // Label 4538: @201268
71209 /* 201268 */ GIM_Try, /*On fail goto*//*Label 4584*/ GIMT_Encode4(201382),
71210 /* 201273 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
71211 /* 201276 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
71212 /* 201279 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
71213 /* 201282 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71214 /* 201286 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71215 /* 201290 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
71216 /* 201294 */ GIM_Try, /*On fail goto*//*Label 4585*/ GIMT_Encode4(201327), // Rule ID 22097 //
71217 /* 201299 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71218 /* 201302 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71219 /* 201306 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71220 /* 201312 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71221 /* 201314 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71222 /* 201316 */ // (vector_compress:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16i8] }) => (VPCOMPRESSBZ128rrkz:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src)
71223 /* 201316 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ128rrkz),
71224 /* 201319 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71225 /* 201321 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71226 /* 201323 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71227 /* 201325 */ GIR_RootConstrainSelectedInstOperands,
71228 /* 201326 */ // GIR_Coverage, 22097,
71229 /* 201326 */ GIR_EraseRootFromParent_Done,
71230 /* 201327 */ // Label 4585: @201327
71231 /* 201327 */ GIM_Try, /*On fail goto*//*Label 4586*/ GIMT_Encode4(201356), // Rule ID 22096 //
71232 /* 201332 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71233 /* 201335 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71234 /* 201339 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71235 /* 201343 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71236 /* 201345 */ // (vector_compress:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, VK16WM:{ *:[v16i1] }:$mask, (undef:{ *:[v16i8] })) => (VPCOMPRESSBZ128rrkz:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src)
71237 /* 201345 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ128rrkz),
71238 /* 201348 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71239 /* 201350 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71240 /* 201352 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71241 /* 201354 */ GIR_RootConstrainSelectedInstOperands,
71242 /* 201355 */ // GIR_Coverage, 22096,
71243 /* 201355 */ GIR_EraseRootFromParent_Done,
71244 /* 201356 */ // Label 4586: @201356
71245 /* 201356 */ GIM_Try, /*On fail goto*//*Label 4587*/ GIMT_Encode4(201381), // Rule ID 22098 //
71246 /* 201361 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71247 /* 201364 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71248 /* 201368 */ // (vector_compress:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$passthru) => (VPCOMPRESSBZ128rrk:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$passthru, VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src)
71249 /* 201368 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ128rrk),
71250 /* 201371 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71251 /* 201373 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71252 /* 201375 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71253 /* 201377 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71254 /* 201379 */ GIR_RootConstrainSelectedInstOperands,
71255 /* 201380 */ // GIR_Coverage, 22098,
71256 /* 201380 */ GIR_EraseRootFromParent_Done,
71257 /* 201381 */ // Label 4587: @201381
71258 /* 201381 */ GIM_Reject,
71259 /* 201382 */ // Label 4584: @201382
71260 /* 201382 */ GIM_Reject,
71261 /* 201383 */ // Label 4539: @201383
71262 /* 201383 */ GIM_Try, /*On fail goto*//*Label 4588*/ GIMT_Encode4(201497),
71263 /* 201388 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
71264 /* 201391 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
71265 /* 201394 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
71266 /* 201397 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71267 /* 201401 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71268 /* 201405 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
71269 /* 201409 */ GIM_Try, /*On fail goto*//*Label 4589*/ GIMT_Encode4(201442), // Rule ID 22109 //
71270 /* 201414 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71271 /* 201417 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71272 /* 201421 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71273 /* 201427 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71274 /* 201429 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71275 /* 201431 */ // (vector_compress:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16i16] }) => (VPCOMPRESSWZ256rrkz:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src)
71276 /* 201431 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ256rrkz),
71277 /* 201434 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71278 /* 201436 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71279 /* 201438 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71280 /* 201440 */ GIR_RootConstrainSelectedInstOperands,
71281 /* 201441 */ // GIR_Coverage, 22109,
71282 /* 201441 */ GIR_EraseRootFromParent_Done,
71283 /* 201442 */ // Label 4589: @201442
71284 /* 201442 */ GIM_Try, /*On fail goto*//*Label 4590*/ GIMT_Encode4(201471), // Rule ID 22108 //
71285 /* 201447 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71286 /* 201450 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71287 /* 201454 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71288 /* 201458 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71289 /* 201460 */ // (vector_compress:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, VK16WM:{ *:[v16i1] }:$mask, (undef:{ *:[v16i16] })) => (VPCOMPRESSWZ256rrkz:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src)
71290 /* 201460 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ256rrkz),
71291 /* 201463 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71292 /* 201465 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71293 /* 201467 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71294 /* 201469 */ GIR_RootConstrainSelectedInstOperands,
71295 /* 201470 */ // GIR_Coverage, 22108,
71296 /* 201470 */ GIR_EraseRootFromParent_Done,
71297 /* 201471 */ // Label 4590: @201471
71298 /* 201471 */ GIM_Try, /*On fail goto*//*Label 4591*/ GIMT_Encode4(201496), // Rule ID 22110 //
71299 /* 201476 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71300 /* 201479 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71301 /* 201483 */ // (vector_compress:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$passthru) => (VPCOMPRESSWZ256rrk:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$passthru, VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src)
71302 /* 201483 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ256rrk),
71303 /* 201486 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71304 /* 201488 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71305 /* 201490 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71306 /* 201492 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71307 /* 201494 */ GIR_RootConstrainSelectedInstOperands,
71308 /* 201495 */ // GIR_Coverage, 22110,
71309 /* 201495 */ GIR_EraseRootFromParent_Done,
71310 /* 201496 */ // Label 4591: @201496
71311 /* 201496 */ GIM_Reject,
71312 /* 201497 */ // Label 4588: @201497
71313 /* 201497 */ GIM_Reject,
71314 /* 201498 */ // Label 4540: @201498
71315 /* 201498 */ GIM_Try, /*On fail goto*//*Label 4592*/ GIMT_Encode4(201699),
71316 /* 201503 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
71317 /* 201506 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
71318 /* 201509 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
71319 /* 201512 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71320 /* 201516 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71321 /* 201520 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
71322 /* 201524 */ GIM_Try, /*On fail goto*//*Label 4593*/ GIMT_Encode4(201557), // Rule ID 21677 //
71323 /* 201529 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71324 /* 201532 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71325 /* 201536 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71326 /* 201542 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71327 /* 201544 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71328 /* 201546 */ // (vector_compress:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16i32] }) => (VPCOMPRESSDZrrkz:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
71329 /* 201546 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZrrkz),
71330 /* 201549 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71331 /* 201551 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71332 /* 201553 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71333 /* 201555 */ GIR_RootConstrainSelectedInstOperands,
71334 /* 201556 */ // GIR_Coverage, 21677,
71335 /* 201556 */ GIR_EraseRootFromParent_Done,
71336 /* 201557 */ // Label 4593: @201557
71337 /* 201557 */ GIM_Try, /*On fail goto*//*Label 4594*/ GIMT_Encode4(201590), // Rule ID 21713 //
71338 /* 201562 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71339 /* 201565 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71340 /* 201569 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71341 /* 201575 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71342 /* 201577 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71343 /* 201579 */ // (vector_compress:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src, VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16f32] }) => (VCOMPRESSPSZrrkz:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src)
71344 /* 201579 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZrrkz),
71345 /* 201582 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71346 /* 201584 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71347 /* 201586 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71348 /* 201588 */ GIR_RootConstrainSelectedInstOperands,
71349 /* 201589 */ // GIR_Coverage, 21713,
71350 /* 201589 */ GIR_EraseRootFromParent_Done,
71351 /* 201590 */ // Label 4594: @201590
71352 /* 201590 */ GIM_Try, /*On fail goto*//*Label 4595*/ GIMT_Encode4(201619), // Rule ID 21676 //
71353 /* 201595 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71354 /* 201598 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71355 /* 201602 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71356 /* 201606 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71357 /* 201608 */ // (vector_compress:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, VK16WM:{ *:[v16i1] }:$mask, (undef:{ *:[v16i32] })) => (VPCOMPRESSDZrrkz:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
71358 /* 201608 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZrrkz),
71359 /* 201611 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71360 /* 201613 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71361 /* 201615 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71362 /* 201617 */ GIR_RootConstrainSelectedInstOperands,
71363 /* 201618 */ // GIR_Coverage, 21676,
71364 /* 201618 */ GIR_EraseRootFromParent_Done,
71365 /* 201619 */ // Label 4595: @201619
71366 /* 201619 */ GIM_Try, /*On fail goto*//*Label 4596*/ GIMT_Encode4(201648), // Rule ID 21712 //
71367 /* 201624 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71368 /* 201627 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71369 /* 201631 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71370 /* 201635 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71371 /* 201637 */ // (vector_compress:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src, VK16WM:{ *:[v16i1] }:$mask, (undef:{ *:[v16f32] })) => (VCOMPRESSPSZrrkz:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src)
71372 /* 201637 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZrrkz),
71373 /* 201640 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71374 /* 201642 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71375 /* 201644 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71376 /* 201646 */ GIR_RootConstrainSelectedInstOperands,
71377 /* 201647 */ // GIR_Coverage, 21712,
71378 /* 201647 */ GIR_EraseRootFromParent_Done,
71379 /* 201648 */ // Label 4596: @201648
71380 /* 201648 */ GIM_Try, /*On fail goto*//*Label 4597*/ GIMT_Encode4(201673), // Rule ID 21678 //
71381 /* 201653 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71382 /* 201656 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71383 /* 201660 */ // (vector_compress:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$passthru) => (VPCOMPRESSDZrrk:{ *:[v16i32] } VR512:{ *:[v16i32] }:$passthru, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
71384 /* 201660 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZrrk),
71385 /* 201663 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71386 /* 201665 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71387 /* 201667 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71388 /* 201669 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71389 /* 201671 */ GIR_RootConstrainSelectedInstOperands,
71390 /* 201672 */ // GIR_Coverage, 21678,
71391 /* 201672 */ GIR_EraseRootFromParent_Done,
71392 /* 201673 */ // Label 4597: @201673
71393 /* 201673 */ GIM_Try, /*On fail goto*//*Label 4598*/ GIMT_Encode4(201698), // Rule ID 21714 //
71394 /* 201678 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71395 /* 201681 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71396 /* 201685 */ // (vector_compress:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$passthru) => (VCOMPRESSPSZrrk:{ *:[v16f32] } VR512:{ *:[v16f32] }:$passthru, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src)
71397 /* 201685 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZrrk),
71398 /* 201688 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71399 /* 201690 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71400 /* 201692 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71401 /* 201694 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71402 /* 201696 */ GIR_RootConstrainSelectedInstOperands,
71403 /* 201697 */ // GIR_Coverage, 21714,
71404 /* 201697 */ GIR_EraseRootFromParent_Done,
71405 /* 201698 */ // Label 4598: @201698
71406 /* 201698 */ GIM_Reject,
71407 /* 201699 */ // Label 4592: @201699
71408 /* 201699 */ GIM_Reject,
71409 /* 201700 */ // Label 4541: @201700
71410 /* 201700 */ GIM_Try, /*On fail goto*//*Label 4599*/ GIMT_Encode4(201814),
71411 /* 201705 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
71412 /* 201708 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
71413 /* 201711 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
71414 /* 201714 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71415 /* 201718 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71416 /* 201722 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32WMRegClassID),
71417 /* 201726 */ GIM_Try, /*On fail goto*//*Label 4600*/ GIMT_Encode4(201759), // Rule ID 22091 //
71418 /* 201731 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71419 /* 201734 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71420 /* 201738 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71421 /* 201744 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71422 /* 201746 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71423 /* 201748 */ // (vector_compress:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, VK32WM:{ *:[v32i1] }:$mask, immAllZerosV:{ *:[v32i8] }) => (VPCOMPRESSBZ256rrkz:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src)
71424 /* 201748 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ256rrkz),
71425 /* 201751 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71426 /* 201753 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71427 /* 201755 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71428 /* 201757 */ GIR_RootConstrainSelectedInstOperands,
71429 /* 201758 */ // GIR_Coverage, 22091,
71430 /* 201758 */ GIR_EraseRootFromParent_Done,
71431 /* 201759 */ // Label 4600: @201759
71432 /* 201759 */ GIM_Try, /*On fail goto*//*Label 4601*/ GIMT_Encode4(201788), // Rule ID 22090 //
71433 /* 201764 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71434 /* 201767 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71435 /* 201771 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71436 /* 201775 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71437 /* 201777 */ // (vector_compress:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, VK32WM:{ *:[v32i1] }:$mask, (undef:{ *:[v32i8] })) => (VPCOMPRESSBZ256rrkz:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src)
71438 /* 201777 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ256rrkz),
71439 /* 201780 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71440 /* 201782 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71441 /* 201784 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71442 /* 201786 */ GIR_RootConstrainSelectedInstOperands,
71443 /* 201787 */ // GIR_Coverage, 22090,
71444 /* 201787 */ GIR_EraseRootFromParent_Done,
71445 /* 201788 */ // Label 4601: @201788
71446 /* 201788 */ GIM_Try, /*On fail goto*//*Label 4602*/ GIMT_Encode4(201813), // Rule ID 22092 //
71447 /* 201793 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71448 /* 201796 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71449 /* 201800 */ // (vector_compress:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$passthru) => (VPCOMPRESSBZ256rrk:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$passthru, VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src)
71450 /* 201800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ256rrk),
71451 /* 201803 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71452 /* 201805 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71453 /* 201807 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71454 /* 201809 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71455 /* 201811 */ GIR_RootConstrainSelectedInstOperands,
71456 /* 201812 */ // GIR_Coverage, 22092,
71457 /* 201812 */ GIR_EraseRootFromParent_Done,
71458 /* 201813 */ // Label 4602: @201813
71459 /* 201813 */ GIM_Reject,
71460 /* 201814 */ // Label 4599: @201814
71461 /* 201814 */ GIM_Reject,
71462 /* 201815 */ // Label 4542: @201815
71463 /* 201815 */ GIM_Try, /*On fail goto*//*Label 4603*/ GIMT_Encode4(201929),
71464 /* 201820 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
71465 /* 201823 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
71466 /* 201826 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
71467 /* 201829 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71468 /* 201833 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71469 /* 201837 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32WMRegClassID),
71470 /* 201841 */ GIM_Try, /*On fail goto*//*Label 4604*/ GIMT_Encode4(201874), // Rule ID 22103 //
71471 /* 201846 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
71472 /* 201849 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71473 /* 201853 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71474 /* 201859 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71475 /* 201861 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71476 /* 201863 */ // (vector_compress:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, VK32WM:{ *:[v32i1] }:$mask, immAllZerosV:{ *:[v32i16] }) => (VPCOMPRESSWZrrkz:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src)
71477 /* 201863 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZrrkz),
71478 /* 201866 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71479 /* 201868 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71480 /* 201870 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71481 /* 201872 */ GIR_RootConstrainSelectedInstOperands,
71482 /* 201873 */ // GIR_Coverage, 22103,
71483 /* 201873 */ GIR_EraseRootFromParent_Done,
71484 /* 201874 */ // Label 4604: @201874
71485 /* 201874 */ GIM_Try, /*On fail goto*//*Label 4605*/ GIMT_Encode4(201903), // Rule ID 22102 //
71486 /* 201879 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
71487 /* 201882 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71488 /* 201886 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71489 /* 201890 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71490 /* 201892 */ // (vector_compress:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, VK32WM:{ *:[v32i1] }:$mask, (undef:{ *:[v32i16] })) => (VPCOMPRESSWZrrkz:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src)
71491 /* 201892 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZrrkz),
71492 /* 201895 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71493 /* 201897 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71494 /* 201899 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71495 /* 201901 */ GIR_RootConstrainSelectedInstOperands,
71496 /* 201902 */ // GIR_Coverage, 22102,
71497 /* 201902 */ GIR_EraseRootFromParent_Done,
71498 /* 201903 */ // Label 4605: @201903
71499 /* 201903 */ GIM_Try, /*On fail goto*//*Label 4606*/ GIMT_Encode4(201928), // Rule ID 22104 //
71500 /* 201908 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
71501 /* 201911 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71502 /* 201915 */ // (vector_compress:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$passthru) => (VPCOMPRESSWZrrk:{ *:[v32i16] } VR512:{ *:[v32i16] }:$passthru, VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src)
71503 /* 201915 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZrrk),
71504 /* 201918 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71505 /* 201920 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71506 /* 201922 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71507 /* 201924 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71508 /* 201926 */ GIR_RootConstrainSelectedInstOperands,
71509 /* 201927 */ // GIR_Coverage, 22104,
71510 /* 201927 */ GIR_EraseRootFromParent_Done,
71511 /* 201928 */ // Label 4606: @201928
71512 /* 201928 */ GIM_Reject,
71513 /* 201929 */ // Label 4603: @201929
71514 /* 201929 */ GIM_Reject,
71515 /* 201930 */ // Label 4543: @201930
71516 /* 201930 */ GIM_Try, /*On fail goto*//*Label 4607*/ GIMT_Encode4(202044),
71517 /* 201935 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
71518 /* 201938 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s1,
71519 /* 201941 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v64s8,
71520 /* 201944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71521 /* 201948 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71522 /* 201952 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64WMRegClassID),
71523 /* 201956 */ GIM_Try, /*On fail goto*//*Label 4608*/ GIMT_Encode4(201989), // Rule ID 22085 //
71524 /* 201961 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
71525 /* 201964 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71526 /* 201968 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71527 /* 201974 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71528 /* 201976 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71529 /* 201978 */ // (vector_compress:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, VK64WM:{ *:[v64i1] }:$mask, immAllZerosV:{ *:[v64i8] }) => (VPCOMPRESSBZrrkz:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src)
71530 /* 201978 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZrrkz),
71531 /* 201981 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71532 /* 201983 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71533 /* 201985 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71534 /* 201987 */ GIR_RootConstrainSelectedInstOperands,
71535 /* 201988 */ // GIR_Coverage, 22085,
71536 /* 201988 */ GIR_EraseRootFromParent_Done,
71537 /* 201989 */ // Label 4608: @201989
71538 /* 201989 */ GIM_Try, /*On fail goto*//*Label 4609*/ GIMT_Encode4(202018), // Rule ID 22084 //
71539 /* 201994 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
71540 /* 201997 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71541 /* 202001 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71542 /* 202005 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71543 /* 202007 */ // (vector_compress:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, VK64WM:{ *:[v64i1] }:$mask, (undef:{ *:[v64i8] })) => (VPCOMPRESSBZrrkz:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src)
71544 /* 202007 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZrrkz),
71545 /* 202010 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71546 /* 202012 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71547 /* 202014 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71548 /* 202016 */ GIR_RootConstrainSelectedInstOperands,
71549 /* 202017 */ // GIR_Coverage, 22084,
71550 /* 202017 */ GIR_EraseRootFromParent_Done,
71551 /* 202018 */ // Label 4609: @202018
71552 /* 202018 */ GIM_Try, /*On fail goto*//*Label 4610*/ GIMT_Encode4(202043), // Rule ID 22086 //
71553 /* 202023 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
71554 /* 202026 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71555 /* 202030 */ // (vector_compress:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$passthru) => (VPCOMPRESSBZrrk:{ *:[v64i8] } VR512:{ *:[v64i8] }:$passthru, VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src)
71556 /* 202030 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZrrk),
71557 /* 202033 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71558 /* 202035 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71559 /* 202037 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71560 /* 202039 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71561 /* 202041 */ GIR_RootConstrainSelectedInstOperands,
71562 /* 202042 */ // GIR_Coverage, 22086,
71563 /* 202042 */ GIR_EraseRootFromParent_Done,
71564 /* 202043 */ // Label 4610: @202043
71565 /* 202043 */ GIM_Reject,
71566 /* 202044 */ // Label 4607: @202044
71567 /* 202044 */ GIM_Reject,
71568 /* 202045 */ // Label 4544: @202045
71569 /* 202045 */ GIM_Reject,
71570 /* 202046 */ // Label 63: @202046
71571 /* 202046 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 4614*/ GIMT_Encode4(202351),
71572 /* 202057 */ /*GILLT_s16*//*Label 4611*/ GIMT_Encode4(202069),
71573 /* 202061 */ /*GILLT_s32*//*Label 4612*/ GIMT_Encode4(202163),
71574 /* 202065 */ /*GILLT_s64*//*Label 4613*/ GIMT_Encode4(202257),
71575 /* 202069 */ // Label 4611: @202069
71576 /* 202069 */ GIM_Try, /*On fail goto*//*Label 4615*/ GIMT_Encode4(202162),
71577 /* 202074 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
71578 /* 202077 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
71579 /* 202081 */ GIM_Try, /*On fail goto*//*Label 4616*/ GIMT_Encode4(202136), // Rule ID 77 //
71580 /* 202086 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI),
71581 /* 202089 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71582 /* 202093 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71583 /* 202097 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71584 /* 202100 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71585 /* 202104 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
71586 /* 202108 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71587 /* 202110 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71588 /* 202117 */ // (cttz:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (TZCNT16rm:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
71589 /* 202117 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZCNT16rm),
71590 /* 202120 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71591 /* 202122 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71592 /* 202126 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
71593 /* 202129 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71594 /* 202134 */ GIR_RootConstrainSelectedInstOperands,
71595 /* 202135 */ // GIR_Coverage, 77,
71596 /* 202135 */ GIR_EraseRootFromParent_Done,
71597 /* 202136 */ // Label 4616: @202136
71598 /* 202136 */ GIM_Try, /*On fail goto*//*Label 4617*/ GIMT_Encode4(202161), // Rule ID 76 //
71599 /* 202141 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI),
71600 /* 202144 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
71601 /* 202148 */ // (cttz:{ *:[i16] } GR16:{ *:[i16] }:$src1) => (TZCNT16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
71602 /* 202148 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::TZCNT16rr),
71603 /* 202153 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
71604 /* 202159 */ GIR_RootConstrainSelectedInstOperands,
71605 /* 202160 */ // GIR_Coverage, 76,
71606 /* 202160 */ GIR_Done,
71607 /* 202161 */ // Label 4617: @202161
71608 /* 202161 */ GIM_Reject,
71609 /* 202162 */ // Label 4615: @202162
71610 /* 202162 */ GIM_Reject,
71611 /* 202163 */ // Label 4612: @202163
71612 /* 202163 */ GIM_Try, /*On fail goto*//*Label 4618*/ GIMT_Encode4(202256),
71613 /* 202168 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
71614 /* 202171 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
71615 /* 202175 */ GIM_Try, /*On fail goto*//*Label 4619*/ GIMT_Encode4(202230), // Rule ID 79 //
71616 /* 202180 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI),
71617 /* 202183 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71618 /* 202187 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71619 /* 202191 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71620 /* 202194 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71621 /* 202198 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
71622 /* 202202 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71623 /* 202204 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71624 /* 202211 */ // (cttz:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (TZCNT32rm:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
71625 /* 202211 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZCNT32rm),
71626 /* 202214 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71627 /* 202216 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71628 /* 202220 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
71629 /* 202223 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71630 /* 202228 */ GIR_RootConstrainSelectedInstOperands,
71631 /* 202229 */ // GIR_Coverage, 79,
71632 /* 202229 */ GIR_EraseRootFromParent_Done,
71633 /* 202230 */ // Label 4619: @202230
71634 /* 202230 */ GIM_Try, /*On fail goto*//*Label 4620*/ GIMT_Encode4(202255), // Rule ID 78 //
71635 /* 202235 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI),
71636 /* 202238 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
71637 /* 202242 */ // (cttz:{ *:[i32] } GR32:{ *:[i32] }:$src1) => (TZCNT32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
71638 /* 202242 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::TZCNT32rr),
71639 /* 202247 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
71640 /* 202253 */ GIR_RootConstrainSelectedInstOperands,
71641 /* 202254 */ // GIR_Coverage, 78,
71642 /* 202254 */ GIR_Done,
71643 /* 202255 */ // Label 4620: @202255
71644 /* 202255 */ GIM_Reject,
71645 /* 202256 */ // Label 4618: @202256
71646 /* 202256 */ GIM_Reject,
71647 /* 202257 */ // Label 4613: @202257
71648 /* 202257 */ GIM_Try, /*On fail goto*//*Label 4621*/ GIMT_Encode4(202350),
71649 /* 202262 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
71650 /* 202265 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
71651 /* 202269 */ GIM_Try, /*On fail goto*//*Label 4622*/ GIMT_Encode4(202324), // Rule ID 81 //
71652 /* 202274 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI),
71653 /* 202277 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71654 /* 202281 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71655 /* 202285 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71656 /* 202288 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71657 /* 202292 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71658 /* 202296 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71659 /* 202298 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71660 /* 202305 */ // (cttz:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (TZCNT64rm:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
71661 /* 202305 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZCNT64rm),
71662 /* 202308 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71663 /* 202310 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71664 /* 202314 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
71665 /* 202317 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71666 /* 202322 */ GIR_RootConstrainSelectedInstOperands,
71667 /* 202323 */ // GIR_Coverage, 81,
71668 /* 202323 */ GIR_EraseRootFromParent_Done,
71669 /* 202324 */ // Label 4622: @202324
71670 /* 202324 */ GIM_Try, /*On fail goto*//*Label 4623*/ GIMT_Encode4(202349), // Rule ID 80 //
71671 /* 202329 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI),
71672 /* 202332 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
71673 /* 202336 */ // (cttz:{ *:[i64] } GR64:{ *:[i64] }:$src1) => (TZCNT64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
71674 /* 202336 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::TZCNT64rr),
71675 /* 202341 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
71676 /* 202347 */ GIR_RootConstrainSelectedInstOperands,
71677 /* 202348 */ // GIR_Coverage, 80,
71678 /* 202348 */ GIR_Done,
71679 /* 202349 */ // Label 4623: @202349
71680 /* 202349 */ GIM_Reject,
71681 /* 202350 */ // Label 4621: @202350
71682 /* 202350 */ GIM_Reject,
71683 /* 202351 */ // Label 4614: @202351
71684 /* 202351 */ GIM_Reject,
71685 /* 202352 */ // Label 64: @202352
71686 /* 202352 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 4627*/ GIMT_Encode4(202738),
71687 /* 202363 */ /*GILLT_s16*//*Label 4624*/ GIMT_Encode4(202375),
71688 /* 202367 */ /*GILLT_s32*//*Label 4625*/ GIMT_Encode4(202496),
71689 /* 202371 */ /*GILLT_s64*//*Label 4626*/ GIMT_Encode4(202617),
71690 /* 202375 */ // Label 4624: @202375
71691 /* 202375 */ GIM_Try, /*On fail goto*//*Label 4628*/ GIMT_Encode4(202495),
71692 /* 202380 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
71693 /* 202383 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
71694 /* 202387 */ GIM_Try, /*On fail goto*//*Label 4629*/ GIMT_Encode4(202456), // Rule ID 23067 //
71695 /* 202392 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71696 /* 202396 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71697 /* 202400 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71698 /* 202403 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71699 /* 202407 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
71700 /* 202411 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71701 /* 202413 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71702 /* 202420 */ // (cttz_zero_undef:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (BSF16rm:{ *:[i16] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i16] }), addr:{ *:[iPTR] }:$src)
71703 /* 202420 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
71704 /* 202423 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71705 /* 202427 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71706 /* 202432 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71707 /* 202434 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF16rm),
71708 /* 202437 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71709 /* 202439 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
71710 /* 202442 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
71711 /* 202446 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
71712 /* 202449 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71713 /* 202454 */ GIR_RootConstrainSelectedInstOperands,
71714 /* 202455 */ // GIR_Coverage, 23067,
71715 /* 202455 */ GIR_EraseRootFromParent_Done,
71716 /* 202456 */ // Label 4629: @202456
71717 /* 202456 */ GIM_Try, /*On fail goto*//*Label 4630*/ GIMT_Encode4(202494), // Rule ID 23064 //
71718 /* 202461 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
71719 /* 202465 */ // (cttz_zero_undef:{ *:[i16] } GR16:{ *:[i16] }:$src) => (BSF16rr:{ *:[i16] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i16] }), GR16:{ *:[i16] }:$src)
71720 /* 202465 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
71721 /* 202468 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71722 /* 202472 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71723 /* 202477 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71724 /* 202479 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF16rr),
71725 /* 202482 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71726 /* 202484 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
71727 /* 202487 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71728 /* 202489 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
71729 /* 202492 */ GIR_RootConstrainSelectedInstOperands,
71730 /* 202493 */ // GIR_Coverage, 23064,
71731 /* 202493 */ GIR_EraseRootFromParent_Done,
71732 /* 202494 */ // Label 4630: @202494
71733 /* 202494 */ GIM_Reject,
71734 /* 202495 */ // Label 4628: @202495
71735 /* 202495 */ GIM_Reject,
71736 /* 202496 */ // Label 4625: @202496
71737 /* 202496 */ GIM_Try, /*On fail goto*//*Label 4631*/ GIMT_Encode4(202616),
71738 /* 202501 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
71739 /* 202504 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
71740 /* 202508 */ GIM_Try, /*On fail goto*//*Label 4632*/ GIMT_Encode4(202577), // Rule ID 23068 //
71741 /* 202513 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71742 /* 202517 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71743 /* 202521 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71744 /* 202524 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71745 /* 202528 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
71746 /* 202532 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71747 /* 202534 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71748 /* 202541 */ // (cttz_zero_undef:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (BSF32rm:{ *:[i32] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), addr:{ *:[iPTR] }:$src)
71749 /* 202541 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
71750 /* 202544 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71751 /* 202548 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71752 /* 202553 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71753 /* 202555 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF32rm),
71754 /* 202558 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71755 /* 202560 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
71756 /* 202563 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
71757 /* 202567 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
71758 /* 202570 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71759 /* 202575 */ GIR_RootConstrainSelectedInstOperands,
71760 /* 202576 */ // GIR_Coverage, 23068,
71761 /* 202576 */ GIR_EraseRootFromParent_Done,
71762 /* 202577 */ // Label 4632: @202577
71763 /* 202577 */ GIM_Try, /*On fail goto*//*Label 4633*/ GIMT_Encode4(202615), // Rule ID 23065 //
71764 /* 202582 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
71765 /* 202586 */ // (cttz_zero_undef:{ *:[i32] } GR32:{ *:[i32] }:$src) => (BSF32rr:{ *:[i32] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR32:{ *:[i32] }:$src)
71766 /* 202586 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
71767 /* 202589 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71768 /* 202593 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71769 /* 202598 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71770 /* 202600 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF32rr),
71771 /* 202603 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71772 /* 202605 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
71773 /* 202608 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71774 /* 202610 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
71775 /* 202613 */ GIR_RootConstrainSelectedInstOperands,
71776 /* 202614 */ // GIR_Coverage, 23065,
71777 /* 202614 */ GIR_EraseRootFromParent_Done,
71778 /* 202615 */ // Label 4633: @202615
71779 /* 202615 */ GIM_Reject,
71780 /* 202616 */ // Label 4631: @202616
71781 /* 202616 */ GIM_Reject,
71782 /* 202617 */ // Label 4626: @202617
71783 /* 202617 */ GIM_Try, /*On fail goto*//*Label 4634*/ GIMT_Encode4(202737),
71784 /* 202622 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
71785 /* 202625 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
71786 /* 202629 */ GIM_Try, /*On fail goto*//*Label 4635*/ GIMT_Encode4(202698), // Rule ID 23069 //
71787 /* 202634 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71788 /* 202638 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71789 /* 202642 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71790 /* 202645 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71791 /* 202649 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71792 /* 202653 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71793 /* 202655 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71794 /* 202662 */ // (cttz_zero_undef:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (BSF64rm:{ *:[i64] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i64] }), addr:{ *:[iPTR] }:$src)
71795 /* 202662 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
71796 /* 202665 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71797 /* 202669 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71798 /* 202674 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71799 /* 202676 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF64rm),
71800 /* 202679 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71801 /* 202681 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
71802 /* 202684 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
71803 /* 202688 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
71804 /* 202691 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71805 /* 202696 */ GIR_RootConstrainSelectedInstOperands,
71806 /* 202697 */ // GIR_Coverage, 23069,
71807 /* 202697 */ GIR_EraseRootFromParent_Done,
71808 /* 202698 */ // Label 4635: @202698
71809 /* 202698 */ GIM_Try, /*On fail goto*//*Label 4636*/ GIMT_Encode4(202736), // Rule ID 23066 //
71810 /* 202703 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
71811 /* 202707 */ // (cttz_zero_undef:{ *:[i64] } GR64:{ *:[i64] }:$src) => (BSF64rr:{ *:[i64] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i64] }), GR64:{ *:[i64] }:$src)
71812 /* 202707 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
71813 /* 202710 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71814 /* 202714 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71815 /* 202719 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71816 /* 202721 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF64rr),
71817 /* 202724 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71818 /* 202726 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
71819 /* 202729 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71820 /* 202731 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
71821 /* 202734 */ GIR_RootConstrainSelectedInstOperands,
71822 /* 202735 */ // GIR_Coverage, 23066,
71823 /* 202735 */ GIR_EraseRootFromParent_Done,
71824 /* 202736 */ // Label 4636: @202736
71825 /* 202736 */ GIM_Reject,
71826 /* 202737 */ // Label 4634: @202737
71827 /* 202737 */ GIM_Reject,
71828 /* 202738 */ // Label 4627: @202738
71829 /* 202738 */ GIM_Reject,
71830 /* 202739 */ // Label 65: @202739
71831 /* 202739 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(20), /*)*//*default:*//*Label 4646*/ GIMT_Encode4(204042),
71832 /* 202750 */ /*GILLT_s16*//*Label 4637*/ GIMT_Encode4(202822),
71833 /* 202754 */ /*GILLT_s32*//*Label 4638*/ GIMT_Encode4(202916),
71834 /* 202758 */ /*GILLT_s64*//*Label 4639*/ GIMT_Encode4(203010), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
71835 /* 202774 */ /*GILLT_v2s64*//*Label 4640*/ GIMT_Encode4(203104), GIMT_Encode4(0),
71836 /* 202782 */ /*GILLT_v4s32*//*Label 4641*/ GIMT_Encode4(203300),
71837 /* 202786 */ /*GILLT_v4s64*//*Label 4642*/ GIMT_Encode4(203496), GIMT_Encode4(0), GIMT_Encode4(0),
71838 /* 202798 */ /*GILLT_v8s32*//*Label 4643*/ GIMT_Encode4(203684),
71839 /* 202802 */ /*GILLT_v8s64*//*Label 4644*/ GIMT_Encode4(203872), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
71840 /* 202818 */ /*GILLT_v16s32*//*Label 4645*/ GIMT_Encode4(203957),
71841 /* 202822 */ // Label 4637: @202822
71842 /* 202822 */ GIM_Try, /*On fail goto*//*Label 4647*/ GIMT_Encode4(202915),
71843 /* 202827 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
71844 /* 202830 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
71845 /* 202834 */ GIM_Try, /*On fail goto*//*Label 4648*/ GIMT_Encode4(202889), // Rule ID 71 //
71846 /* 202839 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLZCNT),
71847 /* 202842 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71848 /* 202846 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71849 /* 202850 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71850 /* 202853 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71851 /* 202857 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
71852 /* 202861 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71853 /* 202863 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71854 /* 202870 */ // (ctlz:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (LZCNT16rm:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
71855 /* 202870 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LZCNT16rm),
71856 /* 202873 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71857 /* 202875 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71858 /* 202879 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
71859 /* 202882 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71860 /* 202887 */ GIR_RootConstrainSelectedInstOperands,
71861 /* 202888 */ // GIR_Coverage, 71,
71862 /* 202888 */ GIR_EraseRootFromParent_Done,
71863 /* 202889 */ // Label 4648: @202889
71864 /* 202889 */ GIM_Try, /*On fail goto*//*Label 4649*/ GIMT_Encode4(202914), // Rule ID 70 //
71865 /* 202894 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLZCNT),
71866 /* 202897 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
71867 /* 202901 */ // (ctlz:{ *:[i16] } GR16:{ *:[i16] }:$src1) => (LZCNT16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
71868 /* 202901 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::LZCNT16rr),
71869 /* 202906 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
71870 /* 202912 */ GIR_RootConstrainSelectedInstOperands,
71871 /* 202913 */ // GIR_Coverage, 70,
71872 /* 202913 */ GIR_Done,
71873 /* 202914 */ // Label 4649: @202914
71874 /* 202914 */ GIM_Reject,
71875 /* 202915 */ // Label 4647: @202915
71876 /* 202915 */ GIM_Reject,
71877 /* 202916 */ // Label 4638: @202916
71878 /* 202916 */ GIM_Try, /*On fail goto*//*Label 4650*/ GIMT_Encode4(203009),
71879 /* 202921 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
71880 /* 202924 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
71881 /* 202928 */ GIM_Try, /*On fail goto*//*Label 4651*/ GIMT_Encode4(202983), // Rule ID 73 //
71882 /* 202933 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLZCNT),
71883 /* 202936 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71884 /* 202940 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71885 /* 202944 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71886 /* 202947 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71887 /* 202951 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
71888 /* 202955 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71889 /* 202957 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71890 /* 202964 */ // (ctlz:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (LZCNT32rm:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
71891 /* 202964 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LZCNT32rm),
71892 /* 202967 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71893 /* 202969 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71894 /* 202973 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
71895 /* 202976 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71896 /* 202981 */ GIR_RootConstrainSelectedInstOperands,
71897 /* 202982 */ // GIR_Coverage, 73,
71898 /* 202982 */ GIR_EraseRootFromParent_Done,
71899 /* 202983 */ // Label 4651: @202983
71900 /* 202983 */ GIM_Try, /*On fail goto*//*Label 4652*/ GIMT_Encode4(203008), // Rule ID 72 //
71901 /* 202988 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLZCNT),
71902 /* 202991 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
71903 /* 202995 */ // (ctlz:{ *:[i32] } GR32:{ *:[i32] }:$src1) => (LZCNT32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
71904 /* 202995 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::LZCNT32rr),
71905 /* 203000 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
71906 /* 203006 */ GIR_RootConstrainSelectedInstOperands,
71907 /* 203007 */ // GIR_Coverage, 72,
71908 /* 203007 */ GIR_Done,
71909 /* 203008 */ // Label 4652: @203008
71910 /* 203008 */ GIM_Reject,
71911 /* 203009 */ // Label 4650: @203009
71912 /* 203009 */ GIM_Reject,
71913 /* 203010 */ // Label 4639: @203010
71914 /* 203010 */ GIM_Try, /*On fail goto*//*Label 4653*/ GIMT_Encode4(203103),
71915 /* 203015 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
71916 /* 203018 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
71917 /* 203022 */ GIM_Try, /*On fail goto*//*Label 4654*/ GIMT_Encode4(203077), // Rule ID 75 //
71918 /* 203027 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLZCNT),
71919 /* 203030 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71920 /* 203034 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71921 /* 203038 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71922 /* 203041 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71923 /* 203045 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71924 /* 203049 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71925 /* 203051 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71926 /* 203058 */ // (ctlz:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (LZCNT64rm:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
71927 /* 203058 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LZCNT64rm),
71928 /* 203061 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71929 /* 203063 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71930 /* 203067 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
71931 /* 203070 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71932 /* 203075 */ GIR_RootConstrainSelectedInstOperands,
71933 /* 203076 */ // GIR_Coverage, 75,
71934 /* 203076 */ GIR_EraseRootFromParent_Done,
71935 /* 203077 */ // Label 4654: @203077
71936 /* 203077 */ GIM_Try, /*On fail goto*//*Label 4655*/ GIMT_Encode4(203102), // Rule ID 74 //
71937 /* 203082 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLZCNT),
71938 /* 203085 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
71939 /* 203089 */ // (ctlz:{ *:[i64] } GR64:{ *:[i64] }:$src1) => (LZCNT64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
71940 /* 203089 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::LZCNT64rr),
71941 /* 203094 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
71942 /* 203100 */ GIR_RootConstrainSelectedInstOperands,
71943 /* 203101 */ // GIR_Coverage, 74,
71944 /* 203101 */ GIR_Done,
71945 /* 203102 */ // Label 4655: @203102
71946 /* 203102 */ GIM_Reject,
71947 /* 203103 */ // Label 4653: @203103
71948 /* 203103 */ GIM_Reject,
71949 /* 203104 */ // Label 4640: @203104
71950 /* 203104 */ GIM_Try, /*On fail goto*//*Label 4656*/ GIMT_Encode4(203299),
71951 /* 203109 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
71952 /* 203112 */ GIM_Try, /*On fail goto*//*Label 4657*/ GIMT_Encode4(203168), // Rule ID 13361 //
71953 /* 203117 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
71954 /* 203120 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71955 /* 203124 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71956 /* 203128 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71957 /* 203132 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71958 /* 203135 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71959 /* 203139 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71960 /* 203143 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71961 /* 203145 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71962 /* 203152 */ // (ctlz:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)
71963 /* 203152 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZ128rm),
71964 /* 203155 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71965 /* 203157 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71966 /* 203161 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71967 /* 203166 */ GIR_RootConstrainSelectedInstOperands,
71968 /* 203167 */ // GIR_Coverage, 13361,
71969 /* 203167 */ GIR_EraseRootFromParent_Done,
71970 /* 203168 */ // Label 4657: @203168
71971 /* 203168 */ GIM_Try, /*On fail goto*//*Label 4658*/ GIMT_Encode4(203191), // Rule ID 13358 //
71972 /* 203173 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
71973 /* 203176 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71974 /* 203180 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71975 /* 203184 */ // (ctlz:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1) => (VPLZCNTQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1)
71976 /* 203184 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZ128rr),
71977 /* 203189 */ GIR_RootConstrainSelectedInstOperands,
71978 /* 203190 */ // GIR_Coverage, 13358,
71979 /* 203190 */ GIR_Done,
71980 /* 203191 */ // Label 4658: @203191
71981 /* 203191 */ GIM_Try, /*On fail goto*//*Label 4659*/ GIMT_Encode4(203298), // Rule ID 21837 //
71982 /* 203196 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_NoVLX),
71983 /* 203199 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
71984 /* 203203 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71985 /* 203207 */ // (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] })
71986 /* 203207 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
71987 /* 203210 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71988 /* 203214 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71989 /* 203219 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
71990 /* 203221 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
71991 /* 203224 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
71992 /* 203228 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71993 /* 203233 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
71994 /* 203236 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
71995 /* 203240 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
71996 /* 203243 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
71997 /* 203248 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71998 /* 203253 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
71999 /* 203258 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72000 /* 203261 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZrr),
72001 /* 203265 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72002 /* 203270 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
72003 /* 203273 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72004 /* 203275 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72005 /* 203278 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72006 /* 203280 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
72007 /* 203287 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
72008 /* 203292 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72009 /* 203297 */ // GIR_Coverage, 21837,
72010 /* 203297 */ GIR_EraseRootFromParent_Done,
72011 /* 203298 */ // Label 4659: @203298
72012 /* 203298 */ GIM_Reject,
72013 /* 203299 */ // Label 4656: @203299
72014 /* 203299 */ GIM_Reject,
72015 /* 203300 */ // Label 4641: @203300
72016 /* 203300 */ GIM_Try, /*On fail goto*//*Label 4660*/ GIMT_Encode4(203495),
72017 /* 203305 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
72018 /* 203308 */ GIM_Try, /*On fail goto*//*Label 4661*/ GIMT_Encode4(203364), // Rule ID 13388 //
72019 /* 203313 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
72020 /* 203316 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72021 /* 203320 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72022 /* 203324 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72023 /* 203328 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72024 /* 203331 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72025 /* 203335 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72026 /* 203339 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72027 /* 203341 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72028 /* 203348 */ // (ctlz:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTDZ128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)
72029 /* 203348 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZ128rm),
72030 /* 203351 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72031 /* 203353 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72032 /* 203357 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72033 /* 203362 */ GIR_RootConstrainSelectedInstOperands,
72034 /* 203363 */ // GIR_Coverage, 13388,
72035 /* 203363 */ GIR_EraseRootFromParent_Done,
72036 /* 203364 */ // Label 4661: @203364
72037 /* 203364 */ GIM_Try, /*On fail goto*//*Label 4662*/ GIMT_Encode4(203387), // Rule ID 13385 //
72038 /* 203369 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
72039 /* 203372 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72040 /* 203376 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72041 /* 203380 */ // (ctlz:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1) => (VPLZCNTDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1)
72042 /* 203380 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZ128rr),
72043 /* 203385 */ GIR_RootConstrainSelectedInstOperands,
72044 /* 203386 */ // GIR_Coverage, 13385,
72045 /* 203386 */ GIR_Done,
72046 /* 203387 */ // Label 4662: @203387
72047 /* 203387 */ GIM_Try, /*On fail goto*//*Label 4663*/ GIMT_Encode4(203494), // Rule ID 21839 //
72048 /* 203392 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_NoVLX),
72049 /* 203395 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
72050 /* 203399 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72051 /* 203403 */ // (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] })
72052 /* 203403 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
72053 /* 203406 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72054 /* 203410 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72055 /* 203415 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
72056 /* 203417 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
72057 /* 203420 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
72058 /* 203424 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72059 /* 203429 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
72060 /* 203432 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
72061 /* 203436 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
72062 /* 203439 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
72063 /* 203444 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72064 /* 203449 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
72065 /* 203454 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72066 /* 203457 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZrr),
72067 /* 203461 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72068 /* 203466 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
72069 /* 203469 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72070 /* 203471 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72071 /* 203474 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72072 /* 203476 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
72073 /* 203483 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
72074 /* 203488 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72075 /* 203493 */ // GIR_Coverage, 21839,
72076 /* 203493 */ GIR_EraseRootFromParent_Done,
72077 /* 203494 */ // Label 4663: @203494
72078 /* 203494 */ GIM_Reject,
72079 /* 203495 */ // Label 4660: @203495
72080 /* 203495 */ GIM_Reject,
72081 /* 203496 */ // Label 4642: @203496
72082 /* 203496 */ GIM_Try, /*On fail goto*//*Label 4664*/ GIMT_Encode4(203683),
72083 /* 203501 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
72084 /* 203504 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72085 /* 203508 */ GIM_Try, /*On fail goto*//*Label 4665*/ GIMT_Encode4(203560), // Rule ID 13352 //
72086 /* 203513 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
72087 /* 203516 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72088 /* 203520 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72089 /* 203524 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72090 /* 203527 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72091 /* 203531 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72092 /* 203535 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72093 /* 203537 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72094 /* 203544 */ // (ctlz:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)
72095 /* 203544 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZ256rm),
72096 /* 203547 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72097 /* 203549 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72098 /* 203553 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72099 /* 203558 */ GIR_RootConstrainSelectedInstOperands,
72100 /* 203559 */ // GIR_Coverage, 13352,
72101 /* 203559 */ GIR_EraseRootFromParent_Done,
72102 /* 203560 */ // Label 4665: @203560
72103 /* 203560 */ GIM_Try, /*On fail goto*//*Label 4666*/ GIMT_Encode4(203579), // Rule ID 13349 //
72104 /* 203565 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
72105 /* 203568 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72106 /* 203572 */ // (ctlz:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1) => (VPLZCNTQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1)
72107 /* 203572 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZ256rr),
72108 /* 203577 */ GIR_RootConstrainSelectedInstOperands,
72109 /* 203578 */ // GIR_Coverage, 13349,
72110 /* 203578 */ GIR_Done,
72111 /* 203579 */ // Label 4666: @203579
72112 /* 203579 */ GIM_Try, /*On fail goto*//*Label 4667*/ GIMT_Encode4(203682), // Rule ID 21836 //
72113 /* 203584 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_NoVLX),
72114 /* 203587 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72115 /* 203591 */ // (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] })
72116 /* 203591 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
72117 /* 203594 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72118 /* 203598 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72119 /* 203603 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
72120 /* 203605 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
72121 /* 203608 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
72122 /* 203612 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72123 /* 203617 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
72124 /* 203620 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
72125 /* 203624 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
72126 /* 203627 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
72127 /* 203632 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72128 /* 203637 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
72129 /* 203642 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72130 /* 203645 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZrr),
72131 /* 203649 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72132 /* 203654 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
72133 /* 203657 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72134 /* 203659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72135 /* 203662 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72136 /* 203664 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
72137 /* 203671 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
72138 /* 203676 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72139 /* 203681 */ // GIR_Coverage, 21836,
72140 /* 203681 */ GIR_EraseRootFromParent_Done,
72141 /* 203682 */ // Label 4667: @203682
72142 /* 203682 */ GIM_Reject,
72143 /* 203683 */ // Label 4664: @203683
72144 /* 203683 */ GIM_Reject,
72145 /* 203684 */ // Label 4643: @203684
72146 /* 203684 */ GIM_Try, /*On fail goto*//*Label 4668*/ GIMT_Encode4(203871),
72147 /* 203689 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
72148 /* 203692 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72149 /* 203696 */ GIM_Try, /*On fail goto*//*Label 4669*/ GIMT_Encode4(203748), // Rule ID 13379 //
72150 /* 203701 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
72151 /* 203704 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72152 /* 203708 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72153 /* 203712 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72154 /* 203715 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72155 /* 203719 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72156 /* 203723 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72157 /* 203725 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72158 /* 203732 */ // (ctlz:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)
72159 /* 203732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZ256rm),
72160 /* 203735 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72161 /* 203737 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72162 /* 203741 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72163 /* 203746 */ GIR_RootConstrainSelectedInstOperands,
72164 /* 203747 */ // GIR_Coverage, 13379,
72165 /* 203747 */ GIR_EraseRootFromParent_Done,
72166 /* 203748 */ // Label 4669: @203748
72167 /* 203748 */ GIM_Try, /*On fail goto*//*Label 4670*/ GIMT_Encode4(203767), // Rule ID 13376 //
72168 /* 203753 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
72169 /* 203756 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72170 /* 203760 */ // (ctlz:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1) => (VPLZCNTDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1)
72171 /* 203760 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZ256rr),
72172 /* 203765 */ GIR_RootConstrainSelectedInstOperands,
72173 /* 203766 */ // GIR_Coverage, 13376,
72174 /* 203766 */ GIR_Done,
72175 /* 203767 */ // Label 4670: @203767
72176 /* 203767 */ GIM_Try, /*On fail goto*//*Label 4671*/ GIMT_Encode4(203870), // Rule ID 21838 //
72177 /* 203772 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_NoVLX),
72178 /* 203775 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72179 /* 203779 */ // (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] })
72180 /* 203779 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
72181 /* 203782 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72182 /* 203786 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72183 /* 203791 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
72184 /* 203793 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
72185 /* 203796 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
72186 /* 203800 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72187 /* 203805 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
72188 /* 203808 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
72189 /* 203812 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
72190 /* 203815 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
72191 /* 203820 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72192 /* 203825 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
72193 /* 203830 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72194 /* 203833 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZrr),
72195 /* 203837 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72196 /* 203842 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
72197 /* 203845 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72198 /* 203847 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72199 /* 203850 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72200 /* 203852 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
72201 /* 203859 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
72202 /* 203864 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72203 /* 203869 */ // GIR_Coverage, 21838,
72204 /* 203869 */ GIR_EraseRootFromParent_Done,
72205 /* 203870 */ // Label 4671: @203870
72206 /* 203870 */ GIM_Reject,
72207 /* 203871 */ // Label 4668: @203871
72208 /* 203871 */ GIM_Reject,
72209 /* 203872 */ // Label 4644: @203872
72210 /* 203872 */ GIM_Try, /*On fail goto*//*Label 4672*/ GIMT_Encode4(203956),
72211 /* 203877 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
72212 /* 203880 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72213 /* 203884 */ GIM_Try, /*On fail goto*//*Label 4673*/ GIMT_Encode4(203936), // Rule ID 13343 //
72214 /* 203889 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI),
72215 /* 203892 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72216 /* 203896 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72217 /* 203900 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72218 /* 203903 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72219 /* 203907 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72220 /* 203911 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72221 /* 203913 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72222 /* 203920 */ // (ctlz:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)
72223 /* 203920 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZrm),
72224 /* 203923 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72225 /* 203925 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72226 /* 203929 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72227 /* 203934 */ GIR_RootConstrainSelectedInstOperands,
72228 /* 203935 */ // GIR_Coverage, 13343,
72229 /* 203935 */ GIR_EraseRootFromParent_Done,
72230 /* 203936 */ // Label 4673: @203936
72231 /* 203936 */ GIM_Try, /*On fail goto*//*Label 4674*/ GIMT_Encode4(203955), // Rule ID 13340 //
72232 /* 203941 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI),
72233 /* 203944 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72234 /* 203948 */ // (ctlz:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1) => (VPLZCNTQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1)
72235 /* 203948 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZrr),
72236 /* 203953 */ GIR_RootConstrainSelectedInstOperands,
72237 /* 203954 */ // GIR_Coverage, 13340,
72238 /* 203954 */ GIR_Done,
72239 /* 203955 */ // Label 4674: @203955
72240 /* 203955 */ GIM_Reject,
72241 /* 203956 */ // Label 4672: @203956
72242 /* 203956 */ GIM_Reject,
72243 /* 203957 */ // Label 4645: @203957
72244 /* 203957 */ GIM_Try, /*On fail goto*//*Label 4675*/ GIMT_Encode4(204041),
72245 /* 203962 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
72246 /* 203965 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72247 /* 203969 */ GIM_Try, /*On fail goto*//*Label 4676*/ GIMT_Encode4(204021), // Rule ID 13370 //
72248 /* 203974 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI),
72249 /* 203977 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72250 /* 203981 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72251 /* 203985 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72252 /* 203988 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72253 /* 203992 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72254 /* 203996 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72255 /* 203998 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72256 /* 204005 */ // (ctlz:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)
72257 /* 204005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZrm),
72258 /* 204008 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72259 /* 204010 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72260 /* 204014 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72261 /* 204019 */ GIR_RootConstrainSelectedInstOperands,
72262 /* 204020 */ // GIR_Coverage, 13370,
72263 /* 204020 */ GIR_EraseRootFromParent_Done,
72264 /* 204021 */ // Label 4676: @204021
72265 /* 204021 */ GIM_Try, /*On fail goto*//*Label 4677*/ GIMT_Encode4(204040), // Rule ID 13367 //
72266 /* 204026 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI),
72267 /* 204029 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72268 /* 204033 */ // (ctlz:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1) => (VPLZCNTDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1)
72269 /* 204033 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZrr),
72270 /* 204038 */ GIR_RootConstrainSelectedInstOperands,
72271 /* 204039 */ // GIR_Coverage, 13367,
72272 /* 204039 */ GIR_Done,
72273 /* 204040 */ // Label 4677: @204040
72274 /* 204040 */ GIM_Reject,
72275 /* 204041 */ // Label 4675: @204041
72276 /* 204041 */ GIM_Reject,
72277 /* 204042 */ // Label 4646: @204042
72278 /* 204042 */ GIM_Reject,
72279 /* 204043 */ // Label 66: @204043
72280 /* 204043 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 4693*/ GIMT_Encode4(206304),
72281 /* 204054 */ /*GILLT_s16*//*Label 4678*/ GIMT_Encode4(204146),
72282 /* 204058 */ /*GILLT_s32*//*Label 4679*/ GIMT_Encode4(204240),
72283 /* 204062 */ /*GILLT_s64*//*Label 4680*/ GIMT_Encode4(204334), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
72284 /* 204078 */ /*GILLT_v2s64*//*Label 4681*/ GIMT_Encode4(204428), GIMT_Encode4(0),
72285 /* 204086 */ /*GILLT_v4s32*//*Label 4682*/ GIMT_Encode4(204624),
72286 /* 204090 */ /*GILLT_v4s64*//*Label 4683*/ GIMT_Encode4(204820), GIMT_Encode4(0),
72287 /* 204098 */ /*GILLT_v8s16*//*Label 4684*/ GIMT_Encode4(205008),
72288 /* 204102 */ /*GILLT_v8s32*//*Label 4685*/ GIMT_Encode4(205204),
72289 /* 204106 */ /*GILLT_v8s64*//*Label 4686*/ GIMT_Encode4(205392), GIMT_Encode4(0),
72290 /* 204114 */ /*GILLT_v16s8*//*Label 4687*/ GIMT_Encode4(205477),
72291 /* 204118 */ /*GILLT_v16s16*//*Label 4688*/ GIMT_Encode4(205673),
72292 /* 204122 */ /*GILLT_v16s32*//*Label 4689*/ GIMT_Encode4(205861), GIMT_Encode4(0),
72293 /* 204130 */ /*GILLT_v32s8*//*Label 4690*/ GIMT_Encode4(205946),
72294 /* 204134 */ /*GILLT_v32s16*//*Label 4691*/ GIMT_Encode4(206134), GIMT_Encode4(0),
72295 /* 204142 */ /*GILLT_v64s8*//*Label 4692*/ GIMT_Encode4(206219),
72296 /* 204146 */ // Label 4678: @204146
72297 /* 204146 */ GIM_Try, /*On fail goto*//*Label 4694*/ GIMT_Encode4(204239),
72298 /* 204151 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
72299 /* 204154 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
72300 /* 204158 */ GIM_Try, /*On fail goto*//*Label 4695*/ GIMT_Encode4(204213), // Rule ID 3176 //
72301 /* 204163 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPOPCNT),
72302 /* 204166 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72303 /* 204170 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72304 /* 204174 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72305 /* 204177 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72306 /* 204181 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
72307 /* 204185 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72308 /* 204187 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72309 /* 204194 */ // (ctpop:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (POPCNT16rm:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
72310 /* 204194 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::POPCNT16rm),
72311 /* 204197 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72312 /* 204199 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72313 /* 204203 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72314 /* 204206 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72315 /* 204211 */ GIR_RootConstrainSelectedInstOperands,
72316 /* 204212 */ // GIR_Coverage, 3176,
72317 /* 204212 */ GIR_EraseRootFromParent_Done,
72318 /* 204213 */ // Label 4695: @204213
72319 /* 204213 */ GIM_Try, /*On fail goto*//*Label 4696*/ GIMT_Encode4(204238), // Rule ID 3175 //
72320 /* 204218 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPOPCNT),
72321 /* 204221 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
72322 /* 204225 */ // (ctpop:{ *:[i16] } GR16:{ *:[i16] }:$src1) => (POPCNT16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
72323 /* 204225 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::POPCNT16rr),
72324 /* 204230 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
72325 /* 204236 */ GIR_RootConstrainSelectedInstOperands,
72326 /* 204237 */ // GIR_Coverage, 3175,
72327 /* 204237 */ GIR_Done,
72328 /* 204238 */ // Label 4696: @204238
72329 /* 204238 */ GIM_Reject,
72330 /* 204239 */ // Label 4694: @204239
72331 /* 204239 */ GIM_Reject,
72332 /* 204240 */ // Label 4679: @204240
72333 /* 204240 */ GIM_Try, /*On fail goto*//*Label 4697*/ GIMT_Encode4(204333),
72334 /* 204245 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
72335 /* 204248 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
72336 /* 204252 */ GIM_Try, /*On fail goto*//*Label 4698*/ GIMT_Encode4(204307), // Rule ID 3178 //
72337 /* 204257 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPOPCNT),
72338 /* 204260 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72339 /* 204264 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72340 /* 204268 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72341 /* 204271 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72342 /* 204275 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
72343 /* 204279 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72344 /* 204281 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72345 /* 204288 */ // (ctpop:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (POPCNT32rm:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
72346 /* 204288 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::POPCNT32rm),
72347 /* 204291 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72348 /* 204293 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72349 /* 204297 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72350 /* 204300 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72351 /* 204305 */ GIR_RootConstrainSelectedInstOperands,
72352 /* 204306 */ // GIR_Coverage, 3178,
72353 /* 204306 */ GIR_EraseRootFromParent_Done,
72354 /* 204307 */ // Label 4698: @204307
72355 /* 204307 */ GIM_Try, /*On fail goto*//*Label 4699*/ GIMT_Encode4(204332), // Rule ID 3177 //
72356 /* 204312 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPOPCNT),
72357 /* 204315 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
72358 /* 204319 */ // (ctpop:{ *:[i32] } GR32:{ *:[i32] }:$src1) => (POPCNT32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
72359 /* 204319 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::POPCNT32rr),
72360 /* 204324 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
72361 /* 204330 */ GIR_RootConstrainSelectedInstOperands,
72362 /* 204331 */ // GIR_Coverage, 3177,
72363 /* 204331 */ GIR_Done,
72364 /* 204332 */ // Label 4699: @204332
72365 /* 204332 */ GIM_Reject,
72366 /* 204333 */ // Label 4697: @204333
72367 /* 204333 */ GIM_Reject,
72368 /* 204334 */ // Label 4680: @204334
72369 /* 204334 */ GIM_Try, /*On fail goto*//*Label 4700*/ GIMT_Encode4(204427),
72370 /* 204339 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
72371 /* 204342 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
72372 /* 204346 */ GIM_Try, /*On fail goto*//*Label 4701*/ GIMT_Encode4(204401), // Rule ID 3180 //
72373 /* 204351 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPOPCNT),
72374 /* 204354 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72375 /* 204358 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72376 /* 204362 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72377 /* 204365 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72378 /* 204369 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72379 /* 204373 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72380 /* 204375 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72381 /* 204382 */ // (ctpop:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (POPCNT64rm:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
72382 /* 204382 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::POPCNT64rm),
72383 /* 204385 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72384 /* 204387 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72385 /* 204391 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72386 /* 204394 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72387 /* 204399 */ GIR_RootConstrainSelectedInstOperands,
72388 /* 204400 */ // GIR_Coverage, 3180,
72389 /* 204400 */ GIR_EraseRootFromParent_Done,
72390 /* 204401 */ // Label 4701: @204401
72391 /* 204401 */ GIM_Try, /*On fail goto*//*Label 4702*/ GIMT_Encode4(204426), // Rule ID 3179 //
72392 /* 204406 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPOPCNT),
72393 /* 204409 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
72394 /* 204413 */ // (ctpop:{ *:[i64] } GR64:{ *:[i64] }:$src1) => (POPCNT64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
72395 /* 204413 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::POPCNT64rr),
72396 /* 204418 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
72397 /* 204424 */ GIR_RootConstrainSelectedInstOperands,
72398 /* 204425 */ // GIR_Coverage, 3179,
72399 /* 204425 */ GIR_Done,
72400 /* 204426 */ // Label 4702: @204426
72401 /* 204426 */ GIM_Reject,
72402 /* 204427 */ // Label 4700: @204427
72403 /* 204427 */ GIM_Reject,
72404 /* 204428 */ // Label 4681: @204428
72405 /* 204428 */ GIM_Try, /*On fail goto*//*Label 4703*/ GIMT_Encode4(204623),
72406 /* 204433 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
72407 /* 204436 */ GIM_Try, /*On fail goto*//*Label 4704*/ GIMT_Encode4(204492), // Rule ID 13469 //
72408 /* 204441 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
72409 /* 204444 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72410 /* 204448 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72411 /* 204452 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72412 /* 204456 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72413 /* 204459 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72414 /* 204463 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72415 /* 204467 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72416 /* 204469 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72417 /* 204476 */ // (ctpop:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)
72418 /* 204476 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZ128rm),
72419 /* 204479 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72420 /* 204481 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72421 /* 204485 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72422 /* 204490 */ GIR_RootConstrainSelectedInstOperands,
72423 /* 204491 */ // GIR_Coverage, 13469,
72424 /* 204491 */ GIR_EraseRootFromParent_Done,
72425 /* 204492 */ // Label 4704: @204492
72426 /* 204492 */ GIM_Try, /*On fail goto*//*Label 4705*/ GIMT_Encode4(204515), // Rule ID 13466 //
72427 /* 204497 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
72428 /* 204500 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72429 /* 204504 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72430 /* 204508 */ // (ctpop:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1) => (VPOPCNTQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1)
72431 /* 204508 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZ128rr),
72432 /* 204513 */ GIR_RootConstrainSelectedInstOperands,
72433 /* 204514 */ // GIR_Coverage, 13466,
72434 /* 204514 */ GIR_Done,
72435 /* 204515 */ // Label 4705: @204515
72436 /* 204515 */ GIM_Try, /*On fail goto*//*Label 4706*/ GIMT_Encode4(204622), // Rule ID 21841 //
72437 /* 204520 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPOPCNTDQ_NoVLX),
72438 /* 204523 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
72439 /* 204527 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72440 /* 204531 */ // (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] })
72441 /* 204531 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
72442 /* 204534 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72443 /* 204538 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72444 /* 204543 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
72445 /* 204545 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
72446 /* 204548 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
72447 /* 204552 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72448 /* 204557 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
72449 /* 204560 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
72450 /* 204564 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
72451 /* 204567 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
72452 /* 204572 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72453 /* 204577 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
72454 /* 204582 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72455 /* 204585 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZrr),
72456 /* 204589 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72457 /* 204594 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
72458 /* 204597 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72459 /* 204599 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72460 /* 204602 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72461 /* 204604 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
72462 /* 204611 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
72463 /* 204616 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72464 /* 204621 */ // GIR_Coverage, 21841,
72465 /* 204621 */ GIR_EraseRootFromParent_Done,
72466 /* 204622 */ // Label 4706: @204622
72467 /* 204622 */ GIM_Reject,
72468 /* 204623 */ // Label 4703: @204623
72469 /* 204623 */ GIM_Reject,
72470 /* 204624 */ // Label 4682: @204624
72471 /* 204624 */ GIM_Try, /*On fail goto*//*Label 4707*/ GIMT_Encode4(204819),
72472 /* 204629 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
72473 /* 204632 */ GIM_Try, /*On fail goto*//*Label 4708*/ GIMT_Encode4(204688), // Rule ID 13496 //
72474 /* 204637 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
72475 /* 204640 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72476 /* 204644 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72477 /* 204648 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72478 /* 204652 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72479 /* 204655 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72480 /* 204659 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72481 /* 204663 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72482 /* 204665 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72483 /* 204672 */ // (ctpop:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTDZ128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)
72484 /* 204672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZ128rm),
72485 /* 204675 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72486 /* 204677 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72487 /* 204681 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72488 /* 204686 */ GIR_RootConstrainSelectedInstOperands,
72489 /* 204687 */ // GIR_Coverage, 13496,
72490 /* 204687 */ GIR_EraseRootFromParent_Done,
72491 /* 204688 */ // Label 4708: @204688
72492 /* 204688 */ GIM_Try, /*On fail goto*//*Label 4709*/ GIMT_Encode4(204711), // Rule ID 13493 //
72493 /* 204693 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
72494 /* 204696 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72495 /* 204700 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72496 /* 204704 */ // (ctpop:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1) => (VPOPCNTDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1)
72497 /* 204704 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZ128rr),
72498 /* 204709 */ GIR_RootConstrainSelectedInstOperands,
72499 /* 204710 */ // GIR_Coverage, 13493,
72500 /* 204710 */ GIR_Done,
72501 /* 204711 */ // Label 4709: @204711
72502 /* 204711 */ GIM_Try, /*On fail goto*//*Label 4710*/ GIMT_Encode4(204818), // Rule ID 21843 //
72503 /* 204716 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPOPCNTDQ_NoVLX),
72504 /* 204719 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
72505 /* 204723 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72506 /* 204727 */ // (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] })
72507 /* 204727 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
72508 /* 204730 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72509 /* 204734 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72510 /* 204739 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
72511 /* 204741 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
72512 /* 204744 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
72513 /* 204748 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72514 /* 204753 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
72515 /* 204756 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
72516 /* 204760 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
72517 /* 204763 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
72518 /* 204768 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72519 /* 204773 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
72520 /* 204778 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72521 /* 204781 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZrr),
72522 /* 204785 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72523 /* 204790 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
72524 /* 204793 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72525 /* 204795 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72526 /* 204798 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72527 /* 204800 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
72528 /* 204807 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
72529 /* 204812 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72530 /* 204817 */ // GIR_Coverage, 21843,
72531 /* 204817 */ GIR_EraseRootFromParent_Done,
72532 /* 204818 */ // Label 4710: @204818
72533 /* 204818 */ GIM_Reject,
72534 /* 204819 */ // Label 4707: @204819
72535 /* 204819 */ GIM_Reject,
72536 /* 204820 */ // Label 4683: @204820
72537 /* 204820 */ GIM_Try, /*On fail goto*//*Label 4711*/ GIMT_Encode4(205007),
72538 /* 204825 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
72539 /* 204828 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72540 /* 204832 */ GIM_Try, /*On fail goto*//*Label 4712*/ GIMT_Encode4(204884), // Rule ID 13460 //
72541 /* 204837 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
72542 /* 204840 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72543 /* 204844 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72544 /* 204848 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72545 /* 204851 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72546 /* 204855 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72547 /* 204859 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72548 /* 204861 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72549 /* 204868 */ // (ctpop:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)
72550 /* 204868 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZ256rm),
72551 /* 204871 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72552 /* 204873 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72553 /* 204877 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72554 /* 204882 */ GIR_RootConstrainSelectedInstOperands,
72555 /* 204883 */ // GIR_Coverage, 13460,
72556 /* 204883 */ GIR_EraseRootFromParent_Done,
72557 /* 204884 */ // Label 4712: @204884
72558 /* 204884 */ GIM_Try, /*On fail goto*//*Label 4713*/ GIMT_Encode4(204903), // Rule ID 13457 //
72559 /* 204889 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
72560 /* 204892 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72561 /* 204896 */ // (ctpop:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1) => (VPOPCNTQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1)
72562 /* 204896 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZ256rr),
72563 /* 204901 */ GIR_RootConstrainSelectedInstOperands,
72564 /* 204902 */ // GIR_Coverage, 13457,
72565 /* 204902 */ GIR_Done,
72566 /* 204903 */ // Label 4713: @204903
72567 /* 204903 */ GIM_Try, /*On fail goto*//*Label 4714*/ GIMT_Encode4(205006), // Rule ID 21840 //
72568 /* 204908 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPOPCNTDQ_NoVLX),
72569 /* 204911 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72570 /* 204915 */ // (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] })
72571 /* 204915 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
72572 /* 204918 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72573 /* 204922 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72574 /* 204927 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
72575 /* 204929 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
72576 /* 204932 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
72577 /* 204936 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72578 /* 204941 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
72579 /* 204944 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
72580 /* 204948 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
72581 /* 204951 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
72582 /* 204956 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72583 /* 204961 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
72584 /* 204966 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72585 /* 204969 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZrr),
72586 /* 204973 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72587 /* 204978 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
72588 /* 204981 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72589 /* 204983 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72590 /* 204986 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72591 /* 204988 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
72592 /* 204995 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
72593 /* 205000 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72594 /* 205005 */ // GIR_Coverage, 21840,
72595 /* 205005 */ GIR_EraseRootFromParent_Done,
72596 /* 205006 */ // Label 4714: @205006
72597 /* 205006 */ GIM_Reject,
72598 /* 205007 */ // Label 4711: @205007
72599 /* 205007 */ GIM_Reject,
72600 /* 205008 */ // Label 4684: @205008
72601 /* 205008 */ GIM_Try, /*On fail goto*//*Label 4715*/ GIMT_Encode4(205203),
72602 /* 205013 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
72603 /* 205016 */ GIM_Try, /*On fail goto*//*Label 4716*/ GIMT_Encode4(205072), // Rule ID 14523 //
72604 /* 205021 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
72605 /* 205024 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72606 /* 205028 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72607 /* 205032 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72608 /* 205036 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72609 /* 205039 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72610 /* 205043 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72611 /* 205047 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72612 /* 205049 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72613 /* 205056 */ // (ctpop:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTWZ128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)
72614 /* 205056 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZ128rm),
72615 /* 205059 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72616 /* 205061 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72617 /* 205065 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72618 /* 205070 */ GIR_RootConstrainSelectedInstOperands,
72619 /* 205071 */ // GIR_Coverage, 14523,
72620 /* 205071 */ GIR_EraseRootFromParent_Done,
72621 /* 205072 */ // Label 4716: @205072
72622 /* 205072 */ GIM_Try, /*On fail goto*//*Label 4717*/ GIMT_Encode4(205095), // Rule ID 14520 //
72623 /* 205077 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
72624 /* 205080 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72625 /* 205084 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72626 /* 205088 */ // (ctpop:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1) => (VPOPCNTWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1)
72627 /* 205088 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZ128rr),
72628 /* 205093 */ GIR_RootConstrainSelectedInstOperands,
72629 /* 205094 */ // GIR_Coverage, 14520,
72630 /* 205094 */ GIR_Done,
72631 /* 205095 */ // Label 4717: @205095
72632 /* 205095 */ GIM_Try, /*On fail goto*//*Label 4718*/ GIMT_Encode4(205202), // Rule ID 22200 //
72633 /* 205100 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_NoVLX),
72634 /* 205103 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
72635 /* 205107 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72636 /* 205111 */ // (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] })
72637 /* 205111 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
72638 /* 205114 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72639 /* 205118 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72640 /* 205123 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
72641 /* 205125 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
72642 /* 205128 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
72643 /* 205132 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72644 /* 205137 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
72645 /* 205140 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
72646 /* 205144 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
72647 /* 205147 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
72648 /* 205152 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72649 /* 205157 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
72650 /* 205162 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72651 /* 205165 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZrr),
72652 /* 205169 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72653 /* 205174 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
72654 /* 205177 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72655 /* 205179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72656 /* 205182 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72657 /* 205184 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
72658 /* 205191 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
72659 /* 205196 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72660 /* 205201 */ // GIR_Coverage, 22200,
72661 /* 205201 */ GIR_EraseRootFromParent_Done,
72662 /* 205202 */ // Label 4718: @205202
72663 /* 205202 */ GIM_Reject,
72664 /* 205203 */ // Label 4715: @205203
72665 /* 205203 */ GIM_Reject,
72666 /* 205204 */ // Label 4685: @205204
72667 /* 205204 */ GIM_Try, /*On fail goto*//*Label 4719*/ GIMT_Encode4(205391),
72668 /* 205209 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
72669 /* 205212 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72670 /* 205216 */ GIM_Try, /*On fail goto*//*Label 4720*/ GIMT_Encode4(205268), // Rule ID 13487 //
72671 /* 205221 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
72672 /* 205224 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72673 /* 205228 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72674 /* 205232 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72675 /* 205235 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72676 /* 205239 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72677 /* 205243 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72678 /* 205245 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72679 /* 205252 */ // (ctpop:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)
72680 /* 205252 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZ256rm),
72681 /* 205255 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72682 /* 205257 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72683 /* 205261 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72684 /* 205266 */ GIR_RootConstrainSelectedInstOperands,
72685 /* 205267 */ // GIR_Coverage, 13487,
72686 /* 205267 */ GIR_EraseRootFromParent_Done,
72687 /* 205268 */ // Label 4720: @205268
72688 /* 205268 */ GIM_Try, /*On fail goto*//*Label 4721*/ GIMT_Encode4(205287), // Rule ID 13484 //
72689 /* 205273 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
72690 /* 205276 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72691 /* 205280 */ // (ctpop:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1) => (VPOPCNTDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1)
72692 /* 205280 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZ256rr),
72693 /* 205285 */ GIR_RootConstrainSelectedInstOperands,
72694 /* 205286 */ // GIR_Coverage, 13484,
72695 /* 205286 */ GIR_Done,
72696 /* 205287 */ // Label 4721: @205287
72697 /* 205287 */ GIM_Try, /*On fail goto*//*Label 4722*/ GIMT_Encode4(205390), // Rule ID 21842 //
72698 /* 205292 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPOPCNTDQ_NoVLX),
72699 /* 205295 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72700 /* 205299 */ // (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] })
72701 /* 205299 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
72702 /* 205302 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72703 /* 205306 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72704 /* 205311 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
72705 /* 205313 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
72706 /* 205316 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
72707 /* 205320 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72708 /* 205325 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
72709 /* 205328 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
72710 /* 205332 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
72711 /* 205335 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
72712 /* 205340 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72713 /* 205345 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
72714 /* 205350 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72715 /* 205353 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZrr),
72716 /* 205357 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72717 /* 205362 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
72718 /* 205365 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72719 /* 205367 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72720 /* 205370 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72721 /* 205372 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
72722 /* 205379 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
72723 /* 205384 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72724 /* 205389 */ // GIR_Coverage, 21842,
72725 /* 205389 */ GIR_EraseRootFromParent_Done,
72726 /* 205390 */ // Label 4722: @205390
72727 /* 205390 */ GIM_Reject,
72728 /* 205391 */ // Label 4719: @205391
72729 /* 205391 */ GIM_Reject,
72730 /* 205392 */ // Label 4686: @205392
72731 /* 205392 */ GIM_Try, /*On fail goto*//*Label 4723*/ GIMT_Encode4(205476),
72732 /* 205397 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
72733 /* 205400 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72734 /* 205404 */ GIM_Try, /*On fail goto*//*Label 4724*/ GIMT_Encode4(205456), // Rule ID 13451 //
72735 /* 205409 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPOPCNTDQ),
72736 /* 205412 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72737 /* 205416 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72738 /* 205420 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72739 /* 205423 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72740 /* 205427 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72741 /* 205431 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72742 /* 205433 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72743 /* 205440 */ // (ctpop:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)
72744 /* 205440 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZrm),
72745 /* 205443 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72746 /* 205445 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72747 /* 205449 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72748 /* 205454 */ GIR_RootConstrainSelectedInstOperands,
72749 /* 205455 */ // GIR_Coverage, 13451,
72750 /* 205455 */ GIR_EraseRootFromParent_Done,
72751 /* 205456 */ // Label 4724: @205456
72752 /* 205456 */ GIM_Try, /*On fail goto*//*Label 4725*/ GIMT_Encode4(205475), // Rule ID 13448 //
72753 /* 205461 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPOPCNTDQ),
72754 /* 205464 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72755 /* 205468 */ // (ctpop:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1) => (VPOPCNTQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1)
72756 /* 205468 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZrr),
72757 /* 205473 */ GIR_RootConstrainSelectedInstOperands,
72758 /* 205474 */ // GIR_Coverage, 13448,
72759 /* 205474 */ GIR_Done,
72760 /* 205475 */ // Label 4725: @205475
72761 /* 205475 */ GIM_Reject,
72762 /* 205476 */ // Label 4723: @205476
72763 /* 205476 */ GIM_Reject,
72764 /* 205477 */ // Label 4687: @205477
72765 /* 205477 */ GIM_Try, /*On fail goto*//*Label 4726*/ GIMT_Encode4(205672),
72766 /* 205482 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
72767 /* 205485 */ GIM_Try, /*On fail goto*//*Label 4727*/ GIMT_Encode4(205541), // Rule ID 14505 //
72768 /* 205490 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
72769 /* 205493 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72770 /* 205497 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72771 /* 205501 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72772 /* 205505 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72773 /* 205508 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72774 /* 205512 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72775 /* 205516 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72776 /* 205518 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72777 /* 205525 */ // (ctpop:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTBZ128rm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)
72778 /* 205525 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZ128rm),
72779 /* 205528 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72780 /* 205530 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72781 /* 205534 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72782 /* 205539 */ GIR_RootConstrainSelectedInstOperands,
72783 /* 205540 */ // GIR_Coverage, 14505,
72784 /* 205540 */ GIR_EraseRootFromParent_Done,
72785 /* 205541 */ // Label 4727: @205541
72786 /* 205541 */ GIM_Try, /*On fail goto*//*Label 4728*/ GIMT_Encode4(205564), // Rule ID 14502 //
72787 /* 205546 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
72788 /* 205549 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72789 /* 205553 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72790 /* 205557 */ // (ctpop:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1) => (VPOPCNTBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1)
72791 /* 205557 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZ128rr),
72792 /* 205562 */ GIR_RootConstrainSelectedInstOperands,
72793 /* 205563 */ // GIR_Coverage, 14502,
72794 /* 205563 */ GIR_Done,
72795 /* 205564 */ // Label 4728: @205564
72796 /* 205564 */ GIM_Try, /*On fail goto*//*Label 4729*/ GIMT_Encode4(205671), // Rule ID 22198 //
72797 /* 205569 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_NoVLX),
72798 /* 205572 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
72799 /* 205576 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72800 /* 205580 */ // (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] })
72801 /* 205580 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
72802 /* 205583 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72803 /* 205587 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72804 /* 205592 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
72805 /* 205594 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
72806 /* 205597 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
72807 /* 205601 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72808 /* 205606 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
72809 /* 205609 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
72810 /* 205613 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
72811 /* 205616 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
72812 /* 205621 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72813 /* 205626 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
72814 /* 205631 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72815 /* 205634 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZrr),
72816 /* 205638 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72817 /* 205643 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
72818 /* 205646 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72819 /* 205648 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72820 /* 205651 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72821 /* 205653 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
72822 /* 205660 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
72823 /* 205665 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72824 /* 205670 */ // GIR_Coverage, 22198,
72825 /* 205670 */ GIR_EraseRootFromParent_Done,
72826 /* 205671 */ // Label 4729: @205671
72827 /* 205671 */ GIM_Reject,
72828 /* 205672 */ // Label 4726: @205672
72829 /* 205672 */ GIM_Reject,
72830 /* 205673 */ // Label 4688: @205673
72831 /* 205673 */ GIM_Try, /*On fail goto*//*Label 4730*/ GIMT_Encode4(205860),
72832 /* 205678 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
72833 /* 205681 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72834 /* 205685 */ GIM_Try, /*On fail goto*//*Label 4731*/ GIMT_Encode4(205737), // Rule ID 14517 //
72835 /* 205690 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
72836 /* 205693 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72837 /* 205697 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72838 /* 205701 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72839 /* 205704 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72840 /* 205708 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72841 /* 205712 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72842 /* 205714 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72843 /* 205721 */ // (ctpop:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTWZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src1)
72844 /* 205721 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZ256rm),
72845 /* 205724 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72846 /* 205726 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72847 /* 205730 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72848 /* 205735 */ GIR_RootConstrainSelectedInstOperands,
72849 /* 205736 */ // GIR_Coverage, 14517,
72850 /* 205736 */ GIR_EraseRootFromParent_Done,
72851 /* 205737 */ // Label 4731: @205737
72852 /* 205737 */ GIM_Try, /*On fail goto*//*Label 4732*/ GIMT_Encode4(205756), // Rule ID 14514 //
72853 /* 205742 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
72854 /* 205745 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72855 /* 205749 */ // (ctpop:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1) => (VPOPCNTWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1)
72856 /* 205749 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZ256rr),
72857 /* 205754 */ GIR_RootConstrainSelectedInstOperands,
72858 /* 205755 */ // GIR_Coverage, 14514,
72859 /* 205755 */ GIR_Done,
72860 /* 205756 */ // Label 4732: @205756
72861 /* 205756 */ GIM_Try, /*On fail goto*//*Label 4733*/ GIMT_Encode4(205859), // Rule ID 22199 //
72862 /* 205761 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_NoVLX),
72863 /* 205764 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72864 /* 205768 */ // (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] })
72865 /* 205768 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
72866 /* 205771 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72867 /* 205775 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72868 /* 205780 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
72869 /* 205782 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
72870 /* 205785 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
72871 /* 205789 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72872 /* 205794 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
72873 /* 205797 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
72874 /* 205801 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
72875 /* 205804 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
72876 /* 205809 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72877 /* 205814 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
72878 /* 205819 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72879 /* 205822 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZrr),
72880 /* 205826 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72881 /* 205831 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
72882 /* 205834 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72883 /* 205836 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72884 /* 205839 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72885 /* 205841 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
72886 /* 205848 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
72887 /* 205853 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72888 /* 205858 */ // GIR_Coverage, 22199,
72889 /* 205858 */ GIR_EraseRootFromParent_Done,
72890 /* 205859 */ // Label 4733: @205859
72891 /* 205859 */ GIM_Reject,
72892 /* 205860 */ // Label 4730: @205860
72893 /* 205860 */ GIM_Reject,
72894 /* 205861 */ // Label 4689: @205861
72895 /* 205861 */ GIM_Try, /*On fail goto*//*Label 4734*/ GIMT_Encode4(205945),
72896 /* 205866 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
72897 /* 205869 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72898 /* 205873 */ GIM_Try, /*On fail goto*//*Label 4735*/ GIMT_Encode4(205925), // Rule ID 13478 //
72899 /* 205878 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPOPCNTDQ),
72900 /* 205881 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72901 /* 205885 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72902 /* 205889 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72903 /* 205892 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72904 /* 205896 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72905 /* 205900 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72906 /* 205902 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72907 /* 205909 */ // (ctpop:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)
72908 /* 205909 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZrm),
72909 /* 205912 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72910 /* 205914 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72911 /* 205918 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72912 /* 205923 */ GIR_RootConstrainSelectedInstOperands,
72913 /* 205924 */ // GIR_Coverage, 13478,
72914 /* 205924 */ GIR_EraseRootFromParent_Done,
72915 /* 205925 */ // Label 4735: @205925
72916 /* 205925 */ GIM_Try, /*On fail goto*//*Label 4736*/ GIMT_Encode4(205944), // Rule ID 13475 //
72917 /* 205930 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPOPCNTDQ),
72918 /* 205933 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72919 /* 205937 */ // (ctpop:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1) => (VPOPCNTDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1)
72920 /* 205937 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZrr),
72921 /* 205942 */ GIR_RootConstrainSelectedInstOperands,
72922 /* 205943 */ // GIR_Coverage, 13475,
72923 /* 205943 */ GIR_Done,
72924 /* 205944 */ // Label 4736: @205944
72925 /* 205944 */ GIM_Reject,
72926 /* 205945 */ // Label 4734: @205945
72927 /* 205945 */ GIM_Reject,
72928 /* 205946 */ // Label 4690: @205946
72929 /* 205946 */ GIM_Try, /*On fail goto*//*Label 4737*/ GIMT_Encode4(206133),
72930 /* 205951 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
72931 /* 205954 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72932 /* 205958 */ GIM_Try, /*On fail goto*//*Label 4738*/ GIMT_Encode4(206010), // Rule ID 14499 //
72933 /* 205963 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
72934 /* 205966 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72935 /* 205970 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72936 /* 205974 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72937 /* 205977 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72938 /* 205981 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72939 /* 205985 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72940 /* 205987 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72941 /* 205994 */ // (ctpop:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTBZ256rm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src1)
72942 /* 205994 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZ256rm),
72943 /* 205997 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72944 /* 205999 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72945 /* 206003 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72946 /* 206008 */ GIR_RootConstrainSelectedInstOperands,
72947 /* 206009 */ // GIR_Coverage, 14499,
72948 /* 206009 */ GIR_EraseRootFromParent_Done,
72949 /* 206010 */ // Label 4738: @206010
72950 /* 206010 */ GIM_Try, /*On fail goto*//*Label 4739*/ GIMT_Encode4(206029), // Rule ID 14496 //
72951 /* 206015 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
72952 /* 206018 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72953 /* 206022 */ // (ctpop:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1) => (VPOPCNTBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1)
72954 /* 206022 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZ256rr),
72955 /* 206027 */ GIR_RootConstrainSelectedInstOperands,
72956 /* 206028 */ // GIR_Coverage, 14496,
72957 /* 206028 */ GIR_Done,
72958 /* 206029 */ // Label 4739: @206029
72959 /* 206029 */ GIM_Try, /*On fail goto*//*Label 4740*/ GIMT_Encode4(206132), // Rule ID 22197 //
72960 /* 206034 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_NoVLX),
72961 /* 206037 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72962 /* 206041 */ // (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] })
72963 /* 206041 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
72964 /* 206044 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72965 /* 206048 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72966 /* 206053 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
72967 /* 206055 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
72968 /* 206058 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
72969 /* 206062 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72970 /* 206067 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
72971 /* 206070 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
72972 /* 206074 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
72973 /* 206077 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
72974 /* 206082 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72975 /* 206087 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
72976 /* 206092 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72977 /* 206095 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZrr),
72978 /* 206099 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72979 /* 206104 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
72980 /* 206107 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72981 /* 206109 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72982 /* 206112 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72983 /* 206114 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
72984 /* 206121 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
72985 /* 206126 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72986 /* 206131 */ // GIR_Coverage, 22197,
72987 /* 206131 */ GIR_EraseRootFromParent_Done,
72988 /* 206132 */ // Label 4740: @206132
72989 /* 206132 */ GIM_Reject,
72990 /* 206133 */ // Label 4737: @206133
72991 /* 206133 */ GIM_Reject,
72992 /* 206134 */ // Label 4691: @206134
72993 /* 206134 */ GIM_Try, /*On fail goto*//*Label 4741*/ GIMT_Encode4(206218),
72994 /* 206139 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
72995 /* 206142 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72996 /* 206146 */ GIM_Try, /*On fail goto*//*Label 4742*/ GIMT_Encode4(206198), // Rule ID 14511 //
72997 /* 206151 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG),
72998 /* 206154 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72999 /* 206158 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73000 /* 206162 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73001 /* 206165 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73002 /* 206169 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73003 /* 206173 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73004 /* 206175 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73005 /* 206182 */ // (ctpop:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTWZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src1)
73006 /* 206182 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZrm),
73007 /* 206185 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73008 /* 206187 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73009 /* 206191 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73010 /* 206196 */ GIR_RootConstrainSelectedInstOperands,
73011 /* 206197 */ // GIR_Coverage, 14511,
73012 /* 206197 */ GIR_EraseRootFromParent_Done,
73013 /* 206198 */ // Label 4742: @206198
73014 /* 206198 */ GIM_Try, /*On fail goto*//*Label 4743*/ GIMT_Encode4(206217), // Rule ID 14508 //
73015 /* 206203 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG),
73016 /* 206206 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
73017 /* 206210 */ // (ctpop:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1) => (VPOPCNTWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1)
73018 /* 206210 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZrr),
73019 /* 206215 */ GIR_RootConstrainSelectedInstOperands,
73020 /* 206216 */ // GIR_Coverage, 14508,
73021 /* 206216 */ GIR_Done,
73022 /* 206217 */ // Label 4743: @206217
73023 /* 206217 */ GIM_Reject,
73024 /* 206218 */ // Label 4741: @206218
73025 /* 206218 */ GIM_Reject,
73026 /* 206219 */ // Label 4692: @206219
73027 /* 206219 */ GIM_Try, /*On fail goto*//*Label 4744*/ GIMT_Encode4(206303),
73028 /* 206224 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
73029 /* 206227 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
73030 /* 206231 */ GIM_Try, /*On fail goto*//*Label 4745*/ GIMT_Encode4(206283), // Rule ID 14493 //
73031 /* 206236 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG),
73032 /* 206239 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73033 /* 206243 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73034 /* 206247 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73035 /* 206250 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73036 /* 206254 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73037 /* 206258 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73038 /* 206260 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73039 /* 206267 */ // (ctpop:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTBZrm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src1)
73040 /* 206267 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZrm),
73041 /* 206270 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73042 /* 206272 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73043 /* 206276 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73044 /* 206281 */ GIR_RootConstrainSelectedInstOperands,
73045 /* 206282 */ // GIR_Coverage, 14493,
73046 /* 206282 */ GIR_EraseRootFromParent_Done,
73047 /* 206283 */ // Label 4745: @206283
73048 /* 206283 */ GIM_Try, /*On fail goto*//*Label 4746*/ GIMT_Encode4(206302), // Rule ID 14490 //
73049 /* 206288 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG),
73050 /* 206291 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
73051 /* 206295 */ // (ctpop:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1) => (VPOPCNTBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1)
73052 /* 206295 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZrr),
73053 /* 206300 */ GIR_RootConstrainSelectedInstOperands,
73054 /* 206301 */ // GIR_Coverage, 14490,
73055 /* 206301 */ GIR_Done,
73056 /* 206302 */ // Label 4746: @206302
73057 /* 206302 */ GIM_Reject,
73058 /* 206303 */ // Label 4744: @206303
73059 /* 206303 */ GIM_Reject,
73060 /* 206304 */ // Label 4693: @206304
73061 /* 206304 */ GIM_Reject,
73062 /* 206305 */ // Label 67: @206305
73063 /* 206305 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 4750*/ GIMT_Encode4(206804),
73064 /* 206316 */ /*GILLT_s16*//*Label 4747*/ GIMT_Encode4(206328),
73065 /* 206320 */ /*GILLT_s32*//*Label 4748*/ GIMT_Encode4(206492),
73066 /* 206324 */ /*GILLT_s64*//*Label 4749*/ GIMT_Encode4(206648),
73067 /* 206328 */ // Label 4747: @206328
73068 /* 206328 */ GIM_Try, /*On fail goto*//*Label 4751*/ GIMT_Encode4(206491),
73069 /* 206333 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
73070 /* 206336 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
73071 /* 206340 */ GIM_Try, /*On fail goto*//*Label 4752*/ GIMT_Encode4(206392), // Rule ID 49 //
73072 /* 206345 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR),
73073 /* 206348 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73074 /* 206352 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73075 /* 206356 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73076 /* 206359 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73077 /* 206363 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
73078 /* 206367 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73079 /* 206369 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73080 /* 206376 */ // (bswap:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (MOVBE16rm:{ *:[i16] } addr:{ *:[iPTR] }:$src1)
73081 /* 206376 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE16rm),
73082 /* 206379 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73083 /* 206381 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73084 /* 206385 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73085 /* 206390 */ GIR_RootConstrainSelectedInstOperands,
73086 /* 206391 */ // GIR_Coverage, 49,
73087 /* 206391 */ GIR_EraseRootFromParent_Done,
73088 /* 206392 */ // Label 4752: @206392
73089 /* 206392 */ GIM_Try, /*On fail goto*//*Label 4753*/ GIMT_Encode4(206444), // Rule ID 55 //
73090 /* 206397 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode),
73091 /* 206400 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73092 /* 206404 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73093 /* 206408 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73094 /* 206411 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73095 /* 206415 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
73096 /* 206419 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73097 /* 206421 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73098 /* 206428 */ // (bswap:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (MOVBE16rm_EVEX:{ *:[i16] } addr:{ *:[iPTR] }:$src1)
73099 /* 206428 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE16rm_EVEX),
73100 /* 206431 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73101 /* 206433 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73102 /* 206437 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73103 /* 206442 */ GIR_RootConstrainSelectedInstOperands,
73104 /* 206443 */ // GIR_Coverage, 55,
73105 /* 206443 */ GIR_EraseRootFromParent_Done,
73106 /* 206444 */ // Label 4753: @206444
73107 /* 206444 */ GIM_Try, /*On fail goto*//*Label 4754*/ GIMT_Encode4(206463), // Rule ID 61 //
73108 /* 206449 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_HasNDD_In64BitMode),
73109 /* 206452 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
73110 /* 206456 */ // (bswap:{ *:[i16] } GR16:{ *:[i16] }:$src1) => (MOVBE16rr:{ *:[i16] } GR16:{ *:[i16] }:$src1)
73111 /* 206456 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVBE16rr),
73112 /* 206461 */ GIR_RootConstrainSelectedInstOperands,
73113 /* 206462 */ // GIR_Coverage, 61,
73114 /* 206462 */ GIR_Done,
73115 /* 206463 */ // Label 4754: @206463
73116 /* 206463 */ GIM_Try, /*On fail goto*//*Label 4755*/ GIMT_Encode4(206490), // Rule ID 23070 //
73117 /* 206468 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE),
73118 /* 206471 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
73119 /* 206475 */ // (bswap:{ *:[i16] } GR16:{ *:[i16] }:$src) => (ROL16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src, 8:{ *:[i8] })
73120 /* 206475 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16ri),
73121 /* 206478 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73122 /* 206480 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
73123 /* 206482 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/8,
73124 /* 206485 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
73125 /* 206488 */ GIR_RootConstrainSelectedInstOperands,
73126 /* 206489 */ // GIR_Coverage, 23070,
73127 /* 206489 */ GIR_EraseRootFromParent_Done,
73128 /* 206490 */ // Label 4755: @206490
73129 /* 206490 */ GIM_Reject,
73130 /* 206491 */ // Label 4751: @206491
73131 /* 206491 */ GIM_Reject,
73132 /* 206492 */ // Label 4748: @206492
73133 /* 206492 */ GIM_Try, /*On fail goto*//*Label 4756*/ GIMT_Encode4(206647),
73134 /* 206497 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
73135 /* 206500 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
73136 /* 206504 */ GIM_Try, /*On fail goto*//*Label 4757*/ GIMT_Encode4(206556), // Rule ID 51 //
73137 /* 206509 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR),
73138 /* 206512 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73139 /* 206516 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73140 /* 206520 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73141 /* 206523 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73142 /* 206527 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
73143 /* 206531 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73144 /* 206533 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73145 /* 206540 */ // (bswap:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (MOVBE32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
73146 /* 206540 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE32rm),
73147 /* 206543 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73148 /* 206545 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73149 /* 206549 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73150 /* 206554 */ GIR_RootConstrainSelectedInstOperands,
73151 /* 206555 */ // GIR_Coverage, 51,
73152 /* 206555 */ GIR_EraseRootFromParent_Done,
73153 /* 206556 */ // Label 4757: @206556
73154 /* 206556 */ GIM_Try, /*On fail goto*//*Label 4758*/ GIMT_Encode4(206608), // Rule ID 57 //
73155 /* 206561 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode),
73156 /* 206564 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73157 /* 206568 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73158 /* 206572 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73159 /* 206575 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73160 /* 206579 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
73161 /* 206583 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73162 /* 206585 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73163 /* 206592 */ // (bswap:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (MOVBE32rm_EVEX:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
73164 /* 206592 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE32rm_EVEX),
73165 /* 206595 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73166 /* 206597 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73167 /* 206601 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73168 /* 206606 */ GIR_RootConstrainSelectedInstOperands,
73169 /* 206607 */ // GIR_Coverage, 57,
73170 /* 206607 */ GIR_EraseRootFromParent_Done,
73171 /* 206608 */ // Label 4758: @206608
73172 /* 206608 */ GIM_Try, /*On fail goto*//*Label 4759*/ GIMT_Encode4(206627), // Rule ID 5 //
73173 /* 206613 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_Or_NoMOVBE),
73174 /* 206616 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
73175 /* 206620 */ // (bswap:{ *:[i32] } GR32:{ *:[i32] }:$src) => (BSWAP32r:{ *:[i32] } GR32:{ *:[i32] }:$src)
73176 /* 206620 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::BSWAP32r),
73177 /* 206625 */ GIR_RootConstrainSelectedInstOperands,
73178 /* 206626 */ // GIR_Coverage, 5,
73179 /* 206626 */ GIR_Done,
73180 /* 206627 */ // Label 4759: @206627
73181 /* 206627 */ GIM_Try, /*On fail goto*//*Label 4760*/ GIMT_Encode4(206646), // Rule ID 62 //
73182 /* 206632 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_HasNDD_In64BitMode),
73183 /* 206635 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
73184 /* 206639 */ // (bswap:{ *:[i32] } GR32:{ *:[i32] }:$src1) => (MOVBE32rr:{ *:[i32] } GR32:{ *:[i32] }:$src1)
73185 /* 206639 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVBE32rr),
73186 /* 206644 */ GIR_RootConstrainSelectedInstOperands,
73187 /* 206645 */ // GIR_Coverage, 62,
73188 /* 206645 */ GIR_Done,
73189 /* 206646 */ // Label 4760: @206646
73190 /* 206646 */ GIM_Reject,
73191 /* 206647 */ // Label 4756: @206647
73192 /* 206647 */ GIM_Reject,
73193 /* 206648 */ // Label 4749: @206648
73194 /* 206648 */ GIM_Try, /*On fail goto*//*Label 4761*/ GIMT_Encode4(206803),
73195 /* 206653 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
73196 /* 206656 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
73197 /* 206660 */ GIM_Try, /*On fail goto*//*Label 4762*/ GIMT_Encode4(206712), // Rule ID 53 //
73198 /* 206665 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR),
73199 /* 206668 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73200 /* 206672 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73201 /* 206676 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73202 /* 206679 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73203 /* 206683 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73204 /* 206687 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73205 /* 206689 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73206 /* 206696 */ // (bswap:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MOVBE64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src1)
73207 /* 206696 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE64rm),
73208 /* 206699 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73209 /* 206701 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73210 /* 206705 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73211 /* 206710 */ GIR_RootConstrainSelectedInstOperands,
73212 /* 206711 */ // GIR_Coverage, 53,
73213 /* 206711 */ GIR_EraseRootFromParent_Done,
73214 /* 206712 */ // Label 4762: @206712
73215 /* 206712 */ GIM_Try, /*On fail goto*//*Label 4763*/ GIMT_Encode4(206764), // Rule ID 59 //
73216 /* 206717 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode),
73217 /* 206720 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73218 /* 206724 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73219 /* 206728 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73220 /* 206731 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73221 /* 206735 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73222 /* 206739 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73223 /* 206741 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73224 /* 206748 */ // (bswap:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MOVBE64rm_EVEX:{ *:[i64] } addr:{ *:[iPTR] }:$src1)
73225 /* 206748 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE64rm_EVEX),
73226 /* 206751 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73227 /* 206753 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73228 /* 206757 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73229 /* 206762 */ GIR_RootConstrainSelectedInstOperands,
73230 /* 206763 */ // GIR_Coverage, 59,
73231 /* 206763 */ GIR_EraseRootFromParent_Done,
73232 /* 206764 */ // Label 4763: @206764
73233 /* 206764 */ GIM_Try, /*On fail goto*//*Label 4764*/ GIMT_Encode4(206783), // Rule ID 6 //
73234 /* 206769 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_Or_NoMOVBE),
73235 /* 206772 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
73236 /* 206776 */ // (bswap:{ *:[i64] } GR64:{ *:[i64] }:$src) => (BSWAP64r:{ *:[i64] } GR64:{ *:[i64] }:$src)
73237 /* 206776 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::BSWAP64r),
73238 /* 206781 */ GIR_RootConstrainSelectedInstOperands,
73239 /* 206782 */ // GIR_Coverage, 6,
73240 /* 206782 */ GIR_Done,
73241 /* 206783 */ // Label 4764: @206783
73242 /* 206783 */ GIM_Try, /*On fail goto*//*Label 4765*/ GIMT_Encode4(206802), // Rule ID 63 //
73243 /* 206788 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_HasNDD_In64BitMode),
73244 /* 206791 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
73245 /* 206795 */ // (bswap:{ *:[i64] } GR64:{ *:[i64] }:$src1) => (MOVBE64rr:{ *:[i64] } GR64:{ *:[i64] }:$src1)
73246 /* 206795 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVBE64rr),
73247 /* 206800 */ GIR_RootConstrainSelectedInstOperands,
73248 /* 206801 */ // GIR_Coverage, 63,
73249 /* 206801 */ GIR_Done,
73250 /* 206802 */ // Label 4765: @206802
73251 /* 206802 */ GIM_Reject,
73252 /* 206803 */ // Label 4761: @206803
73253 /* 206803 */ GIM_Reject,
73254 /* 206804 */ // Label 4750: @206804
73255 /* 206804 */ GIM_Reject,
73256 /* 206805 */ // Label 68: @206805
73257 /* 206805 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 4779*/ GIMT_Encode4(208973),
73258 /* 206816 */ /*GILLT_s16*//*Label 4766*/ GIMT_Encode4(206900),
73259 /* 206820 */ /*GILLT_s32*//*Label 4767*/ GIMT_Encode4(207021),
73260 /* 206824 */ /*GILLT_s64*//*Label 4768*/ GIMT_Encode4(207377),
73261 /* 206828 */ /*GILLT_s80*//*Label 4769*/ GIMT_Encode4(207733), GIMT_Encode4(0), GIMT_Encode4(0),
73262 /* 206840 */ /*GILLT_v2s64*//*Label 4770*/ GIMT_Encode4(207770), GIMT_Encode4(0),
73263 /* 206848 */ /*GILLT_v4s32*//*Label 4771*/ GIMT_Encode4(207973),
73264 /* 206852 */ /*GILLT_v4s64*//*Label 4772*/ GIMT_Encode4(208176), GIMT_Encode4(0),
73265 /* 206860 */ /*GILLT_v8s16*//*Label 4773*/ GIMT_Encode4(208352),
73266 /* 206864 */ /*GILLT_v8s32*//*Label 4774*/ GIMT_Encode4(208441),
73267 /* 206868 */ /*GILLT_v8s64*//*Label 4775*/ GIMT_Encode4(208617), GIMT_Encode4(0), GIMT_Encode4(0),
73268 /* 206880 */ /*GILLT_v16s16*//*Label 4776*/ GIMT_Encode4(208706),
73269 /* 206884 */ /*GILLT_v16s32*//*Label 4777*/ GIMT_Encode4(208795), GIMT_Encode4(0), GIMT_Encode4(0),
73270 /* 206896 */ /*GILLT_v32s16*//*Label 4778*/ GIMT_Encode4(208884),
73271 /* 206900 */ // Label 4766: @206900
73272 /* 206900 */ GIM_Try, /*On fail goto*//*Label 4780*/ GIMT_Encode4(207020),
73273 /* 206905 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
73274 /* 206908 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
73275 /* 206912 */ GIM_Try, /*On fail goto*//*Label 4781*/ GIMT_Encode4(206981), // Rule ID 21432 //
73276 /* 206917 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_OptForSize),
73277 /* 206920 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73278 /* 206924 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73279 /* 206928 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73280 /* 206931 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73281 /* 206935 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73282 /* 206939 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73283 /* 206941 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73284 /* 206948 */ // (fsqrt:{ *:[f16] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSHZm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
73285 /* 206948 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
73286 /* 206951 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73287 /* 206955 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73288 /* 206960 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73289 /* 206962 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSHZm),
73290 /* 206965 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73291 /* 206967 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73292 /* 206970 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73293 /* 206974 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73294 /* 206979 */ GIR_RootConstrainSelectedInstOperands,
73295 /* 206980 */ // GIR_Coverage, 21432,
73296 /* 206980 */ GIR_EraseRootFromParent_Done,
73297 /* 206981 */ // Label 4781: @206981
73298 /* 206981 */ GIM_Try, /*On fail goto*//*Label 4782*/ GIMT_Encode4(207019), // Rule ID 21430 //
73299 /* 206986 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
73300 /* 206989 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
73301 /* 206993 */ // (fsqrt:{ *:[f16] } FR16X:{ *:[f16] }:$src) => (VSQRTSHZr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), FR16X:{ *:[f16] }:$src)
73302 /* 206993 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
73303 /* 206996 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73304 /* 207000 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73305 /* 207005 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73306 /* 207007 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSHZr),
73307 /* 207010 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73308 /* 207012 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73309 /* 207015 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
73310 /* 207017 */ GIR_RootConstrainSelectedInstOperands,
73311 /* 207018 */ // GIR_Coverage, 21430,
73312 /* 207018 */ GIR_EraseRootFromParent_Done,
73313 /* 207019 */ // Label 4782: @207019
73314 /* 207019 */ GIM_Reject,
73315 /* 207020 */ // Label 4780: @207020
73316 /* 207020 */ GIM_Reject,
73317 /* 207021 */ // Label 4767: @207021
73318 /* 207021 */ GIM_Try, /*On fail goto*//*Label 4783*/ GIMT_Encode4(207376),
73319 /* 207026 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
73320 /* 207029 */ GIM_Try, /*On fail goto*//*Label 4784*/ GIMT_Encode4(207085), // Rule ID 2449 //
73321 /* 207034 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseSSE1),
73322 /* 207037 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73323 /* 207041 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73324 /* 207045 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73325 /* 207049 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73326 /* 207052 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73327 /* 207056 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73328 /* 207060 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73329 /* 207062 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73330 /* 207069 */ // (fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SQRTSSm:{ *:[f32] } addr:{ *:[iPTR] }:$src1)
73331 /* 207069 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SQRTSSm),
73332 /* 207072 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73333 /* 207074 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73334 /* 207078 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73335 /* 207083 */ GIR_RootConstrainSelectedInstOperands,
73336 /* 207084 */ // GIR_Coverage, 2449,
73337 /* 207084 */ GIR_EraseRootFromParent_Done,
73338 /* 207085 */ // Label 4784: @207085
73339 /* 207085 */ GIM_Try, /*On fail goto*//*Label 4785*/ GIMT_Encode4(207158), // Rule ID 18267 //
73340 /* 207090 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseAVX),
73341 /* 207093 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73342 /* 207097 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73343 /* 207101 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73344 /* 207105 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73345 /* 207108 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73346 /* 207112 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73347 /* 207116 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73348 /* 207118 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73349 /* 207125 */ // (fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSSm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
73350 /* 207125 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
73351 /* 207128 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73352 /* 207132 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73353 /* 207137 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73354 /* 207139 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSm),
73355 /* 207142 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73356 /* 207144 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73357 /* 207147 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73358 /* 207151 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73359 /* 207156 */ GIR_RootConstrainSelectedInstOperands,
73360 /* 207157 */ // GIR_Coverage, 18267,
73361 /* 207157 */ GIR_EraseRootFromParent_Done,
73362 /* 207158 */ // Label 4785: @207158
73363 /* 207158 */ GIM_Try, /*On fail goto*//*Label 4786*/ GIMT_Encode4(207231), // Rule ID 21436 //
73364 /* 207163 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_OptForSize),
73365 /* 207166 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
73366 /* 207170 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73367 /* 207174 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73368 /* 207178 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73369 /* 207181 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73370 /* 207185 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73371 /* 207189 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73372 /* 207191 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73373 /* 207198 */ // (fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSSZm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
73374 /* 207198 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
73375 /* 207201 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73376 /* 207205 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73377 /* 207210 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73378 /* 207212 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSZm),
73379 /* 207215 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73380 /* 207217 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73381 /* 207220 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73382 /* 207224 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73383 /* 207229 */ GIR_RootConstrainSelectedInstOperands,
73384 /* 207230 */ // GIR_Coverage, 21436,
73385 /* 207230 */ GIR_EraseRootFromParent_Done,
73386 /* 207231 */ // Label 4786: @207231
73387 /* 207231 */ GIM_Try, /*On fail goto*//*Label 4787*/ GIMT_Encode4(207264), // Rule ID 1049 //
73388 /* 207236 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
73389 /* 207239 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
73390 /* 207243 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
73391 /* 207247 */ // (fsqrt:{ *:[f32] } RFP32:{ *:[f32] }:$src) => (SQRT_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src)
73392 /* 207247 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp32),
73393 /* 207252 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
73394 /* 207258 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
73395 /* 207262 */ GIR_RootConstrainSelectedInstOperands,
73396 /* 207263 */ // GIR_Coverage, 1049,
73397 /* 207263 */ GIR_Done,
73398 /* 207264 */ // Label 4787: @207264
73399 /* 207264 */ GIM_Try, /*On fail goto*//*Label 4788*/ GIMT_Encode4(207291), // Rule ID 2447 //
73400 /* 207269 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
73401 /* 207272 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73402 /* 207276 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73403 /* 207280 */ // (fsqrt:{ *:[f32] } FR32:{ *:[f32] }:$src1) => (SQRTSSr:{ *:[f32] } FR32:{ *:[f32] }:$src1)
73404 /* 207280 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTSSr),
73405 /* 207285 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73406 /* 207289 */ GIR_RootConstrainSelectedInstOperands,
73407 /* 207290 */ // GIR_Coverage, 2447,
73408 /* 207290 */ GIR_Done,
73409 /* 207291 */ // Label 4788: @207291
73410 /* 207291 */ GIM_Try, /*On fail goto*//*Label 4789*/ GIMT_Encode4(207333), // Rule ID 18265 //
73411 /* 207296 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
73412 /* 207299 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73413 /* 207303 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73414 /* 207307 */ // (fsqrt:{ *:[f32] } FR32:{ *:[f32] }:$src) => (VSQRTSSr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR32:{ *:[f32] }:$src)
73415 /* 207307 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
73416 /* 207310 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73417 /* 207314 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73418 /* 207319 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73419 /* 207321 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSr),
73420 /* 207324 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73421 /* 207326 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73422 /* 207329 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
73423 /* 207331 */ GIR_RootConstrainSelectedInstOperands,
73424 /* 207332 */ // GIR_Coverage, 18265,
73425 /* 207332 */ GIR_EraseRootFromParent_Done,
73426 /* 207333 */ // Label 4789: @207333
73427 /* 207333 */ GIM_Try, /*On fail goto*//*Label 4790*/ GIMT_Encode4(207375), // Rule ID 21434 //
73428 /* 207338 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
73429 /* 207341 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
73430 /* 207345 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
73431 /* 207349 */ // (fsqrt:{ *:[f32] } FR32X:{ *:[f32] }:$src) => (VSQRTSSZr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR32X:{ *:[f32] }:$src)
73432 /* 207349 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
73433 /* 207352 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73434 /* 207356 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73435 /* 207361 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73436 /* 207363 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSZr),
73437 /* 207366 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73438 /* 207368 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73439 /* 207371 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
73440 /* 207373 */ GIR_RootConstrainSelectedInstOperands,
73441 /* 207374 */ // GIR_Coverage, 21434,
73442 /* 207374 */ GIR_EraseRootFromParent_Done,
73443 /* 207375 */ // Label 4790: @207375
73444 /* 207375 */ GIM_Reject,
73445 /* 207376 */ // Label 4783: @207376
73446 /* 207376 */ GIM_Reject,
73447 /* 207377 */ // Label 4768: @207377
73448 /* 207377 */ GIM_Try, /*On fail goto*//*Label 4791*/ GIMT_Encode4(207732),
73449 /* 207382 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
73450 /* 207385 */ GIM_Try, /*On fail goto*//*Label 4792*/ GIMT_Encode4(207441), // Rule ID 2465 //
73451 /* 207390 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseSSE2),
73452 /* 207393 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
73453 /* 207397 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73454 /* 207401 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73455 /* 207405 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73456 /* 207408 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73457 /* 207412 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73458 /* 207416 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73459 /* 207418 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73460 /* 207425 */ // (fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SQRTSDm:{ *:[f64] } addr:{ *:[iPTR] }:$src1)
73461 /* 207425 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SQRTSDm),
73462 /* 207428 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73463 /* 207430 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73464 /* 207434 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73465 /* 207439 */ GIR_RootConstrainSelectedInstOperands,
73466 /* 207440 */ // GIR_Coverage, 2465,
73467 /* 207440 */ GIR_EraseRootFromParent_Done,
73468 /* 207441 */ // Label 4792: @207441
73469 /* 207441 */ GIM_Try, /*On fail goto*//*Label 4793*/ GIMT_Encode4(207514), // Rule ID 18271 //
73470 /* 207446 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseAVX),
73471 /* 207449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
73472 /* 207453 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73473 /* 207457 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73474 /* 207461 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73475 /* 207464 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73476 /* 207468 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73477 /* 207472 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73478 /* 207474 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73479 /* 207481 */ // (fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSDm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
73480 /* 207481 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
73481 /* 207484 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73482 /* 207488 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73483 /* 207493 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73484 /* 207495 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDm),
73485 /* 207498 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73486 /* 207500 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73487 /* 207503 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73488 /* 207507 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73489 /* 207512 */ GIR_RootConstrainSelectedInstOperands,
73490 /* 207513 */ // GIR_Coverage, 18271,
73491 /* 207513 */ GIR_EraseRootFromParent_Done,
73492 /* 207514 */ // Label 4793: @207514
73493 /* 207514 */ GIM_Try, /*On fail goto*//*Label 4794*/ GIMT_Encode4(207587), // Rule ID 21440 //
73494 /* 207519 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_OptForSize),
73495 /* 207522 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
73496 /* 207526 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73497 /* 207530 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73498 /* 207534 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73499 /* 207537 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73500 /* 207541 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73501 /* 207545 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73502 /* 207547 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73503 /* 207554 */ // (fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSDZm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
73504 /* 207554 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
73505 /* 207557 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73506 /* 207561 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73507 /* 207566 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73508 /* 207568 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDZm),
73509 /* 207571 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73510 /* 207573 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73511 /* 207576 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73512 /* 207580 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73513 /* 207585 */ GIR_RootConstrainSelectedInstOperands,
73514 /* 207586 */ // GIR_Coverage, 21440,
73515 /* 207586 */ GIR_EraseRootFromParent_Done,
73516 /* 207587 */ // Label 4794: @207587
73517 /* 207587 */ GIM_Try, /*On fail goto*//*Label 4795*/ GIMT_Encode4(207620), // Rule ID 1051 //
73518 /* 207592 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
73519 /* 207595 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
73520 /* 207599 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
73521 /* 207603 */ // (fsqrt:{ *:[f64] } RFP64:{ *:[f64] }:$src) => (SQRT_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src)
73522 /* 207603 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp64),
73523 /* 207608 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
73524 /* 207614 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
73525 /* 207618 */ GIR_RootConstrainSelectedInstOperands,
73526 /* 207619 */ // GIR_Coverage, 1051,
73527 /* 207619 */ GIR_Done,
73528 /* 207620 */ // Label 4795: @207620
73529 /* 207620 */ GIM_Try, /*On fail goto*//*Label 4796*/ GIMT_Encode4(207647), // Rule ID 2463 //
73530 /* 207625 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
73531 /* 207628 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
73532 /* 207632 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
73533 /* 207636 */ // (fsqrt:{ *:[f64] } FR64:{ *:[f64] }:$src1) => (SQRTSDr:{ *:[f64] } FR64:{ *:[f64] }:$src1)
73534 /* 207636 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTSDr),
73535 /* 207641 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73536 /* 207645 */ GIR_RootConstrainSelectedInstOperands,
73537 /* 207646 */ // GIR_Coverage, 2463,
73538 /* 207646 */ GIR_Done,
73539 /* 207647 */ // Label 4796: @207647
73540 /* 207647 */ GIM_Try, /*On fail goto*//*Label 4797*/ GIMT_Encode4(207689), // Rule ID 18269 //
73541 /* 207652 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
73542 /* 207655 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
73543 /* 207659 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
73544 /* 207663 */ // (fsqrt:{ *:[f64] } FR64:{ *:[f64] }:$src) => (VSQRTSDr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR64:{ *:[f64] }:$src)
73545 /* 207663 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
73546 /* 207666 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73547 /* 207670 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73548 /* 207675 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73549 /* 207677 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDr),
73550 /* 207680 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73551 /* 207682 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73552 /* 207685 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
73553 /* 207687 */ GIR_RootConstrainSelectedInstOperands,
73554 /* 207688 */ // GIR_Coverage, 18269,
73555 /* 207688 */ GIR_EraseRootFromParent_Done,
73556 /* 207689 */ // Label 4797: @207689
73557 /* 207689 */ GIM_Try, /*On fail goto*//*Label 4798*/ GIMT_Encode4(207731), // Rule ID 21438 //
73558 /* 207694 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
73559 /* 207697 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
73560 /* 207701 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
73561 /* 207705 */ // (fsqrt:{ *:[f64] } FR64X:{ *:[f64] }:$src) => (VSQRTSDZr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR64X:{ *:[f64] }:$src)
73562 /* 207705 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
73563 /* 207708 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73564 /* 207712 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73565 /* 207717 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73566 /* 207719 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDZr),
73567 /* 207722 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73568 /* 207724 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73569 /* 207727 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
73570 /* 207729 */ GIR_RootConstrainSelectedInstOperands,
73571 /* 207730 */ // GIR_Coverage, 21438,
73572 /* 207730 */ GIR_EraseRootFromParent_Done,
73573 /* 207731 */ // Label 4798: @207731
73574 /* 207731 */ GIM_Reject,
73575 /* 207732 */ // Label 4791: @207732
73576 /* 207732 */ GIM_Reject,
73577 /* 207733 */ // Label 4769: @207733
73578 /* 207733 */ GIM_Try, /*On fail goto*//*Label 4799*/ GIMT_Encode4(207769), // Rule ID 1053 //
73579 /* 207738 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
73580 /* 207741 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
73581 /* 207744 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
73582 /* 207748 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
73583 /* 207752 */ // (fsqrt:{ *:[f80] } RFP80:{ *:[f80] }:$src) => (SQRT_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src)
73584 /* 207752 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp80),
73585 /* 207757 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
73586 /* 207763 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
73587 /* 207767 */ GIR_RootConstrainSelectedInstOperands,
73588 /* 207768 */ // GIR_Coverage, 1053,
73589 /* 207768 */ GIR_Done,
73590 /* 207769 */ // Label 4799: @207769
73591 /* 207769 */ GIM_Reject,
73592 /* 207770 */ // Label 4770: @207770
73593 /* 207770 */ GIM_Try, /*On fail goto*//*Label 4800*/ GIMT_Encode4(207972),
73594 /* 207775 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
73595 /* 207778 */ GIM_Try, /*On fail goto*//*Label 4801*/ GIMT_Encode4(207834), // Rule ID 2469 //
73596 /* 207783 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
73597 /* 207786 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
73598 /* 207790 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73599 /* 207794 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73600 /* 207798 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73601 /* 207801 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73602 /* 207805 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73603 /* 207809 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73604 /* 207811 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73605 /* 207818 */ // (fsqrt:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
73606 /* 207818 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDm),
73607 /* 207821 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73608 /* 207823 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73609 /* 207827 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73610 /* 207832 */ GIR_RootConstrainSelectedInstOperands,
73611 /* 207833 */ // GIR_Coverage, 2469,
73612 /* 207833 */ GIR_EraseRootFromParent_Done,
73613 /* 207834 */ // Label 4801: @207834
73614 /* 207834 */ GIM_Try, /*On fail goto*//*Label 4802*/ GIMT_Encode4(207890), // Rule ID 12091 //
73615 /* 207839 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
73616 /* 207842 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73617 /* 207846 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73618 /* 207850 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73619 /* 207854 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73620 /* 207857 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73621 /* 207861 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73622 /* 207865 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73623 /* 207867 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73624 /* 207874 */ // (fsqrt:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZ128m:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
73625 /* 207874 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ128m),
73626 /* 207877 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73627 /* 207879 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73628 /* 207883 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73629 /* 207888 */ GIR_RootConstrainSelectedInstOperands,
73630 /* 207889 */ // GIR_Coverage, 12091,
73631 /* 207889 */ GIR_EraseRootFromParent_Done,
73632 /* 207890 */ // Label 4802: @207890
73633 /* 207890 */ GIM_Try, /*On fail goto*//*Label 4803*/ GIMT_Encode4(207917), // Rule ID 2467 //
73634 /* 207895 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
73635 /* 207898 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
73636 /* 207902 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
73637 /* 207906 */ // (fsqrt:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src) => (VSQRTPDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
73638 /* 207906 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDr),
73639 /* 207911 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73640 /* 207915 */ GIR_RootConstrainSelectedInstOperands,
73641 /* 207916 */ // GIR_Coverage, 2467,
73642 /* 207916 */ GIR_Done,
73643 /* 207917 */ // Label 4803: @207917
73644 /* 207917 */ GIM_Try, /*On fail goto*//*Label 4804*/ GIMT_Encode4(207944), // Rule ID 2475 //
73645 /* 207922 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
73646 /* 207925 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
73647 /* 207929 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
73648 /* 207933 */ // (fsqrt:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src) => (SQRTPDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
73649 /* 207933 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTPDr),
73650 /* 207938 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73651 /* 207942 */ GIR_RootConstrainSelectedInstOperands,
73652 /* 207943 */ // GIR_Coverage, 2475,
73653 /* 207943 */ GIR_Done,
73654 /* 207944 */ // Label 4804: @207944
73655 /* 207944 */ GIM_Try, /*On fail goto*//*Label 4805*/ GIMT_Encode4(207971), // Rule ID 12087 //
73656 /* 207949 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
73657 /* 207952 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73658 /* 207956 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73659 /* 207960 */ // (fsqrt:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src) => (VSQRTPDZ128r:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src)
73660 /* 207960 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ128r),
73661 /* 207965 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73662 /* 207969 */ GIR_RootConstrainSelectedInstOperands,
73663 /* 207970 */ // GIR_Coverage, 12087,
73664 /* 207970 */ GIR_Done,
73665 /* 207971 */ // Label 4805: @207971
73666 /* 207971 */ GIM_Reject,
73667 /* 207972 */ // Label 4800: @207972
73668 /* 207972 */ GIM_Reject,
73669 /* 207973 */ // Label 4771: @207973
73670 /* 207973 */ GIM_Try, /*On fail goto*//*Label 4806*/ GIMT_Encode4(208175),
73671 /* 207978 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
73672 /* 207981 */ GIM_Try, /*On fail goto*//*Label 4807*/ GIMT_Encode4(208037), // Rule ID 2453 //
73673 /* 207986 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
73674 /* 207989 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
73675 /* 207993 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73676 /* 207997 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73677 /* 208001 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73678 /* 208004 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73679 /* 208008 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73680 /* 208012 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73681 /* 208014 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73682 /* 208021 */ // (fsqrt:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
73683 /* 208021 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSm),
73684 /* 208024 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73685 /* 208026 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73686 /* 208030 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73687 /* 208035 */ GIR_RootConstrainSelectedInstOperands,
73688 /* 208036 */ // GIR_Coverage, 2453,
73689 /* 208036 */ GIR_EraseRootFromParent_Done,
73690 /* 208037 */ // Label 4807: @208037
73691 /* 208037 */ GIM_Try, /*On fail goto*//*Label 4808*/ GIMT_Encode4(208093), // Rule ID 12067 //
73692 /* 208042 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
73693 /* 208045 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73694 /* 208049 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73695 /* 208053 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73696 /* 208057 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73697 /* 208060 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73698 /* 208064 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73699 /* 208068 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73700 /* 208070 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73701 /* 208077 */ // (fsqrt:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZ128m:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
73702 /* 208077 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ128m),
73703 /* 208080 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73704 /* 208082 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73705 /* 208086 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73706 /* 208091 */ GIR_RootConstrainSelectedInstOperands,
73707 /* 208092 */ // GIR_Coverage, 12067,
73708 /* 208092 */ GIR_EraseRootFromParent_Done,
73709 /* 208093 */ // Label 4808: @208093
73710 /* 208093 */ GIM_Try, /*On fail goto*//*Label 4809*/ GIMT_Encode4(208120), // Rule ID 2451 //
73711 /* 208098 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
73712 /* 208101 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
73713 /* 208105 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
73714 /* 208109 */ // (fsqrt:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src) => (VSQRTPSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
73715 /* 208109 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSr),
73716 /* 208114 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73717 /* 208118 */ GIR_RootConstrainSelectedInstOperands,
73718 /* 208119 */ // GIR_Coverage, 2451,
73719 /* 208119 */ GIR_Done,
73720 /* 208120 */ // Label 4809: @208120
73721 /* 208120 */ GIM_Try, /*On fail goto*//*Label 4810*/ GIMT_Encode4(208147), // Rule ID 2459 //
73722 /* 208125 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
73723 /* 208128 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
73724 /* 208132 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
73725 /* 208136 */ // (fsqrt:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src) => (SQRTPSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
73726 /* 208136 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTPSr),
73727 /* 208141 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73728 /* 208145 */ GIR_RootConstrainSelectedInstOperands,
73729 /* 208146 */ // GIR_Coverage, 2459,
73730 /* 208146 */ GIR_Done,
73731 /* 208147 */ // Label 4810: @208147
73732 /* 208147 */ GIM_Try, /*On fail goto*//*Label 4811*/ GIMT_Encode4(208174), // Rule ID 12063 //
73733 /* 208152 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
73734 /* 208155 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73735 /* 208159 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73736 /* 208163 */ // (fsqrt:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src) => (VSQRTPSZ128r:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src)
73737 /* 208163 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ128r),
73738 /* 208168 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73739 /* 208172 */ GIR_RootConstrainSelectedInstOperands,
73740 /* 208173 */ // GIR_Coverage, 12063,
73741 /* 208173 */ GIR_Done,
73742 /* 208174 */ // Label 4811: @208174
73743 /* 208174 */ GIM_Reject,
73744 /* 208175 */ // Label 4806: @208175
73745 /* 208175 */ GIM_Reject,
73746 /* 208176 */ // Label 4772: @208176
73747 /* 208176 */ GIM_Try, /*On fail goto*//*Label 4812*/ GIMT_Encode4(208351),
73748 /* 208181 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
73749 /* 208184 */ GIM_Try, /*On fail goto*//*Label 4813*/ GIMT_Encode4(208240), // Rule ID 2473 //
73750 /* 208189 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
73751 /* 208192 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
73752 /* 208196 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73753 /* 208200 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73754 /* 208204 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73755 /* 208207 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73756 /* 208211 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73757 /* 208215 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73758 /* 208217 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73759 /* 208224 */ // (fsqrt:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDYm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
73760 /* 208224 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDYm),
73761 /* 208227 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73762 /* 208229 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73763 /* 208233 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73764 /* 208238 */ GIR_RootConstrainSelectedInstOperands,
73765 /* 208239 */ // GIR_Coverage, 2473,
73766 /* 208239 */ GIR_EraseRootFromParent_Done,
73767 /* 208240 */ // Label 4813: @208240
73768 /* 208240 */ GIM_Try, /*On fail goto*//*Label 4814*/ GIMT_Encode4(208296), // Rule ID 12103 //
73769 /* 208245 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
73770 /* 208248 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73771 /* 208252 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73772 /* 208256 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73773 /* 208260 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73774 /* 208263 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73775 /* 208267 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73776 /* 208271 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73777 /* 208273 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73778 /* 208280 */ // (fsqrt:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZ256m:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
73779 /* 208280 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ256m),
73780 /* 208283 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73781 /* 208285 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73782 /* 208289 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73783 /* 208294 */ GIR_RootConstrainSelectedInstOperands,
73784 /* 208295 */ // GIR_Coverage, 12103,
73785 /* 208295 */ GIR_EraseRootFromParent_Done,
73786 /* 208296 */ // Label 4814: @208296
73787 /* 208296 */ GIM_Try, /*On fail goto*//*Label 4815*/ GIMT_Encode4(208323), // Rule ID 2471 //
73788 /* 208301 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
73789 /* 208304 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
73790 /* 208308 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
73791 /* 208312 */ // (fsqrt:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src) => (VSQRTPDYr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src)
73792 /* 208312 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDYr),
73793 /* 208317 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73794 /* 208321 */ GIR_RootConstrainSelectedInstOperands,
73795 /* 208322 */ // GIR_Coverage, 2471,
73796 /* 208322 */ GIR_Done,
73797 /* 208323 */ // Label 4815: @208323
73798 /* 208323 */ GIM_Try, /*On fail goto*//*Label 4816*/ GIMT_Encode4(208350), // Rule ID 12099 //
73799 /* 208328 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
73800 /* 208331 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73801 /* 208335 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73802 /* 208339 */ // (fsqrt:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src) => (VSQRTPDZ256r:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src)
73803 /* 208339 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ256r),
73804 /* 208344 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73805 /* 208348 */ GIR_RootConstrainSelectedInstOperands,
73806 /* 208349 */ // GIR_Coverage, 12099,
73807 /* 208349 */ GIR_Done,
73808 /* 208350 */ // Label 4816: @208350
73809 /* 208350 */ GIM_Reject,
73810 /* 208351 */ // Label 4812: @208351
73811 /* 208351 */ GIM_Reject,
73812 /* 208352 */ // Label 4773: @208352
73813 /* 208352 */ GIM_Try, /*On fail goto*//*Label 4817*/ GIMT_Encode4(208440),
73814 /* 208357 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
73815 /* 208360 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73816 /* 208364 */ GIM_Try, /*On fail goto*//*Label 4818*/ GIMT_Encode4(208416), // Rule ID 12019 //
73817 /* 208369 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
73818 /* 208372 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73819 /* 208376 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73820 /* 208380 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73821 /* 208383 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73822 /* 208387 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73823 /* 208391 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73824 /* 208393 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73825 /* 208400 */ // (fsqrt:{ *:[v8f16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZ128m:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
73826 /* 208400 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ128m),
73827 /* 208403 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73828 /* 208405 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73829 /* 208409 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73830 /* 208414 */ GIR_RootConstrainSelectedInstOperands,
73831 /* 208415 */ // GIR_Coverage, 12019,
73832 /* 208415 */ GIR_EraseRootFromParent_Done,
73833 /* 208416 */ // Label 4818: @208416
73834 /* 208416 */ GIM_Try, /*On fail goto*//*Label 4819*/ GIMT_Encode4(208439), // Rule ID 12015 //
73835 /* 208421 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
73836 /* 208424 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73837 /* 208428 */ // (fsqrt:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src) => (VSQRTPHZ128r:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src)
73838 /* 208428 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ128r),
73839 /* 208433 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73840 /* 208437 */ GIR_RootConstrainSelectedInstOperands,
73841 /* 208438 */ // GIR_Coverage, 12015,
73842 /* 208438 */ GIR_Done,
73843 /* 208439 */ // Label 4819: @208439
73844 /* 208439 */ GIM_Reject,
73845 /* 208440 */ // Label 4817: @208440
73846 /* 208440 */ GIM_Reject,
73847 /* 208441 */ // Label 4774: @208441
73848 /* 208441 */ GIM_Try, /*On fail goto*//*Label 4820*/ GIMT_Encode4(208616),
73849 /* 208446 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
73850 /* 208449 */ GIM_Try, /*On fail goto*//*Label 4821*/ GIMT_Encode4(208505), // Rule ID 2457 //
73851 /* 208454 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
73852 /* 208457 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
73853 /* 208461 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73854 /* 208465 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73855 /* 208469 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73856 /* 208472 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73857 /* 208476 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73858 /* 208480 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73859 /* 208482 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73860 /* 208489 */ // (fsqrt:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSYm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
73861 /* 208489 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSYm),
73862 /* 208492 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73863 /* 208494 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73864 /* 208498 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73865 /* 208503 */ GIR_RootConstrainSelectedInstOperands,
73866 /* 208504 */ // GIR_Coverage, 2457,
73867 /* 208504 */ GIR_EraseRootFromParent_Done,
73868 /* 208505 */ // Label 4821: @208505
73869 /* 208505 */ GIM_Try, /*On fail goto*//*Label 4822*/ GIMT_Encode4(208561), // Rule ID 12079 //
73870 /* 208510 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
73871 /* 208513 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73872 /* 208517 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73873 /* 208521 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73874 /* 208525 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73875 /* 208528 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73876 /* 208532 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73877 /* 208536 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73878 /* 208538 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73879 /* 208545 */ // (fsqrt:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZ256m:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
73880 /* 208545 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ256m),
73881 /* 208548 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73882 /* 208550 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73883 /* 208554 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73884 /* 208559 */ GIR_RootConstrainSelectedInstOperands,
73885 /* 208560 */ // GIR_Coverage, 12079,
73886 /* 208560 */ GIR_EraseRootFromParent_Done,
73887 /* 208561 */ // Label 4822: @208561
73888 /* 208561 */ GIM_Try, /*On fail goto*//*Label 4823*/ GIMT_Encode4(208588), // Rule ID 2455 //
73889 /* 208566 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
73890 /* 208569 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
73891 /* 208573 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
73892 /* 208577 */ // (fsqrt:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src) => (VSQRTPSYr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src)
73893 /* 208577 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSYr),
73894 /* 208582 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73895 /* 208586 */ GIR_RootConstrainSelectedInstOperands,
73896 /* 208587 */ // GIR_Coverage, 2455,
73897 /* 208587 */ GIR_Done,
73898 /* 208588 */ // Label 4823: @208588
73899 /* 208588 */ GIM_Try, /*On fail goto*//*Label 4824*/ GIMT_Encode4(208615), // Rule ID 12075 //
73900 /* 208593 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
73901 /* 208596 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73902 /* 208600 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73903 /* 208604 */ // (fsqrt:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src) => (VSQRTPSZ256r:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src)
73904 /* 208604 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ256r),
73905 /* 208609 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73906 /* 208613 */ GIR_RootConstrainSelectedInstOperands,
73907 /* 208614 */ // GIR_Coverage, 12075,
73908 /* 208614 */ GIR_Done,
73909 /* 208615 */ // Label 4824: @208615
73910 /* 208615 */ GIM_Reject,
73911 /* 208616 */ // Label 4820: @208616
73912 /* 208616 */ GIM_Reject,
73913 /* 208617 */ // Label 4775: @208617
73914 /* 208617 */ GIM_Try, /*On fail goto*//*Label 4825*/ GIMT_Encode4(208705),
73915 /* 208622 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
73916 /* 208625 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
73917 /* 208629 */ GIM_Try, /*On fail goto*//*Label 4826*/ GIMT_Encode4(208681), // Rule ID 12055 //
73918 /* 208634 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
73919 /* 208637 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73920 /* 208641 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73921 /* 208645 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73922 /* 208648 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73923 /* 208652 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73924 /* 208656 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73925 /* 208658 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73926 /* 208665 */ // (fsqrt:{ *:[v8f64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
73927 /* 208665 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZm),
73928 /* 208668 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73929 /* 208670 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73930 /* 208674 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73931 /* 208679 */ GIR_RootConstrainSelectedInstOperands,
73932 /* 208680 */ // GIR_Coverage, 12055,
73933 /* 208680 */ GIR_EraseRootFromParent_Done,
73934 /* 208681 */ // Label 4826: @208681
73935 /* 208681 */ GIM_Try, /*On fail goto*//*Label 4827*/ GIMT_Encode4(208704), // Rule ID 12051 //
73936 /* 208686 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
73937 /* 208689 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
73938 /* 208693 */ // (fsqrt:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src) => (VSQRTPDZr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src)
73939 /* 208693 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZr),
73940 /* 208698 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73941 /* 208702 */ GIR_RootConstrainSelectedInstOperands,
73942 /* 208703 */ // GIR_Coverage, 12051,
73943 /* 208703 */ GIR_Done,
73944 /* 208704 */ // Label 4827: @208704
73945 /* 208704 */ GIM_Reject,
73946 /* 208705 */ // Label 4825: @208705
73947 /* 208705 */ GIM_Reject,
73948 /* 208706 */ // Label 4776: @208706
73949 /* 208706 */ GIM_Try, /*On fail goto*//*Label 4828*/ GIMT_Encode4(208794),
73950 /* 208711 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
73951 /* 208714 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73952 /* 208718 */ GIM_Try, /*On fail goto*//*Label 4829*/ GIMT_Encode4(208770), // Rule ID 12031 //
73953 /* 208723 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
73954 /* 208726 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73955 /* 208730 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73956 /* 208734 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73957 /* 208737 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73958 /* 208741 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73959 /* 208745 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73960 /* 208747 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73961 /* 208754 */ // (fsqrt:{ *:[v16f16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZ256m:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
73962 /* 208754 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ256m),
73963 /* 208757 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73964 /* 208759 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73965 /* 208763 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73966 /* 208768 */ GIR_RootConstrainSelectedInstOperands,
73967 /* 208769 */ // GIR_Coverage, 12031,
73968 /* 208769 */ GIR_EraseRootFromParent_Done,
73969 /* 208770 */ // Label 4829: @208770
73970 /* 208770 */ GIM_Try, /*On fail goto*//*Label 4830*/ GIMT_Encode4(208793), // Rule ID 12027 //
73971 /* 208775 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
73972 /* 208778 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73973 /* 208782 */ // (fsqrt:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src) => (VSQRTPHZ256r:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src)
73974 /* 208782 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ256r),
73975 /* 208787 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73976 /* 208791 */ GIR_RootConstrainSelectedInstOperands,
73977 /* 208792 */ // GIR_Coverage, 12027,
73978 /* 208792 */ GIR_Done,
73979 /* 208793 */ // Label 4830: @208793
73980 /* 208793 */ GIM_Reject,
73981 /* 208794 */ // Label 4828: @208794
73982 /* 208794 */ GIM_Reject,
73983 /* 208795 */ // Label 4777: @208795
73984 /* 208795 */ GIM_Try, /*On fail goto*//*Label 4831*/ GIMT_Encode4(208883),
73985 /* 208800 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
73986 /* 208803 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
73987 /* 208807 */ GIM_Try, /*On fail goto*//*Label 4832*/ GIMT_Encode4(208859), // Rule ID 12043 //
73988 /* 208812 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
73989 /* 208815 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73990 /* 208819 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73991 /* 208823 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73992 /* 208826 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73993 /* 208830 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73994 /* 208834 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73995 /* 208836 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73996 /* 208843 */ // (fsqrt:{ *:[v16f32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
73997 /* 208843 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZm),
73998 /* 208846 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73999 /* 208848 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74000 /* 208852 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74001 /* 208857 */ GIR_RootConstrainSelectedInstOperands,
74002 /* 208858 */ // GIR_Coverage, 12043,
74003 /* 208858 */ GIR_EraseRootFromParent_Done,
74004 /* 208859 */ // Label 4832: @208859
74005 /* 208859 */ GIM_Try, /*On fail goto*//*Label 4833*/ GIMT_Encode4(208882), // Rule ID 12039 //
74006 /* 208864 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
74007 /* 208867 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74008 /* 208871 */ // (fsqrt:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src) => (VSQRTPSZr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src)
74009 /* 208871 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZr),
74010 /* 208876 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74011 /* 208880 */ GIR_RootConstrainSelectedInstOperands,
74012 /* 208881 */ // GIR_Coverage, 12039,
74013 /* 208881 */ GIR_Done,
74014 /* 208882 */ // Label 4833: @208882
74015 /* 208882 */ GIM_Reject,
74016 /* 208883 */ // Label 4831: @208883
74017 /* 208883 */ GIM_Reject,
74018 /* 208884 */ // Label 4778: @208884
74019 /* 208884 */ GIM_Try, /*On fail goto*//*Label 4834*/ GIMT_Encode4(208972),
74020 /* 208889 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
74021 /* 208892 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74022 /* 208896 */ GIM_Try, /*On fail goto*//*Label 4835*/ GIMT_Encode4(208948), // Rule ID 12007 //
74023 /* 208901 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
74024 /* 208904 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74025 /* 208908 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74026 /* 208912 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74027 /* 208915 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74028 /* 208919 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74029 /* 208923 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74030 /* 208925 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74031 /* 208932 */ // (fsqrt:{ *:[v32f16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
74032 /* 208932 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZm),
74033 /* 208935 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74034 /* 208937 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74035 /* 208941 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74036 /* 208946 */ GIR_RootConstrainSelectedInstOperands,
74037 /* 208947 */ // GIR_Coverage, 12007,
74038 /* 208947 */ GIR_EraseRootFromParent_Done,
74039 /* 208948 */ // Label 4835: @208948
74040 /* 208948 */ GIM_Try, /*On fail goto*//*Label 4836*/ GIMT_Encode4(208971), // Rule ID 12003 //
74041 /* 208953 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
74042 /* 208956 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74043 /* 208960 */ // (fsqrt:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src) => (VSQRTPHZr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src)
74044 /* 208960 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZr),
74045 /* 208965 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74046 /* 208969 */ GIR_RootConstrainSelectedInstOperands,
74047 /* 208970 */ // GIR_Coverage, 12003,
74048 /* 208970 */ GIR_Done,
74049 /* 208971 */ // Label 4836: @208971
74050 /* 208971 */ GIM_Reject,
74051 /* 208972 */ // Label 4834: @208972
74052 /* 208972 */ GIM_Reject,
74053 /* 208973 */ // Label 4779: @208973
74054 /* 208973 */ GIM_Reject,
74055 /* 208974 */ // Label 69: @208974
74056 /* 208974 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 4850*/ GIMT_Encode4(213903),
74057 /* 208985 */ /*GILLT_s16*//*Label 4837*/ GIMT_Encode4(209069),
74058 /* 208989 */ /*GILLT_s32*//*Label 4838*/ GIMT_Encode4(209229),
74059 /* 208993 */ /*GILLT_s64*//*Label 4839*/ GIMT_Encode4(210134),
74060 /* 208997 */ /*GILLT_s80*//*Label 4840*/ GIMT_Encode4(211183), GIMT_Encode4(0), GIMT_Encode4(0),
74061 /* 209009 */ /*GILLT_v2s64*//*Label 4841*/ GIMT_Encode4(211749), GIMT_Encode4(0),
74062 /* 209017 */ /*GILLT_v4s32*//*Label 4842*/ GIMT_Encode4(212103),
74063 /* 209021 */ /*GILLT_v4s64*//*Label 4843*/ GIMT_Encode4(212457), GIMT_Encode4(0),
74064 /* 209029 */ /*GILLT_v8s16*//*Label 4844*/ GIMT_Encode4(212780),
74065 /* 209033 */ /*GILLT_v8s32*//*Label 4845*/ GIMT_Encode4(212940),
74066 /* 209037 */ /*GILLT_v8s64*//*Label 4846*/ GIMT_Encode4(213263), GIMT_Encode4(0), GIMT_Encode4(0),
74067 /* 209049 */ /*GILLT_v16s16*//*Label 4847*/ GIMT_Encode4(213423),
74068 /* 209053 */ /*GILLT_v16s32*//*Label 4848*/ GIMT_Encode4(213583), GIMT_Encode4(0), GIMT_Encode4(0),
74069 /* 209065 */ /*GILLT_v32s16*//*Label 4849*/ GIMT_Encode4(213743),
74070 /* 209069 */ // Label 4837: @209069
74071 /* 209069 */ GIM_Try, /*On fail goto*//*Label 4851*/ GIMT_Encode4(209228),
74072 /* 209074 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
74073 /* 209077 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
74074 /* 209080 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
74075 /* 209084 */ GIM_Try, /*On fail goto*//*Label 4852*/ GIMT_Encode4(209142), // Rule ID 24331 //
74076 /* 209089 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
74077 /* 209092 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74078 /* 209096 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74079 /* 209100 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74080 /* 209103 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74081 /* 209107 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74082 /* 209111 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
74083 /* 209115 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74084 /* 209117 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74085 /* 209124 */ // (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)
74086 /* 209124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSHZrm),
74087 /* 209127 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74088 /* 209129 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74089 /* 209131 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74090 /* 209135 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74091 /* 209140 */ GIR_RootConstrainSelectedInstOperands,
74092 /* 209141 */ // GIR_Coverage, 24331,
74093 /* 209141 */ GIR_EraseRootFromParent_Done,
74094 /* 209142 */ // Label 4852: @209142
74095 /* 209142 */ GIM_Try, /*On fail goto*//*Label 4853*/ GIMT_Encode4(209200), // Rule ID 5958 //
74096 /* 209147 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
74097 /* 209150 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
74098 /* 209154 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74099 /* 209158 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74100 /* 209162 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74101 /* 209165 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74102 /* 209169 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74103 /* 209173 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74104 /* 209175 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74105 /* 209182 */ // (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)
74106 /* 209182 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSHZrm),
74107 /* 209185 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74108 /* 209187 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74109 /* 209189 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74110 /* 209193 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74111 /* 209198 */ GIR_RootConstrainSelectedInstOperands,
74112 /* 209199 */ // GIR_Coverage, 5958,
74113 /* 209199 */ GIR_EraseRootFromParent_Done,
74114 /* 209200 */ // Label 4853: @209200
74115 /* 209200 */ GIM_Try, /*On fail goto*//*Label 4854*/ GIMT_Encode4(209227), // Rule ID 5956 //
74116 /* 209205 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
74117 /* 209208 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
74118 /* 209212 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
74119 /* 209216 */ // (strict_fadd:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VADDSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
74120 /* 209216 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSHZrr),
74121 /* 209221 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74122 /* 209225 */ GIR_RootConstrainSelectedInstOperands,
74123 /* 209226 */ // GIR_Coverage, 5956,
74124 /* 209226 */ GIR_Done,
74125 /* 209227 */ // Label 4854: @209227
74126 /* 209227 */ GIM_Reject,
74127 /* 209228 */ // Label 4851: @209228
74128 /* 209228 */ GIM_Reject,
74129 /* 209229 */ // Label 4838: @209229
74130 /* 209229 */ GIM_Try, /*On fail goto*//*Label 4855*/ GIMT_Encode4(210133),
74131 /* 209234 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
74132 /* 209237 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
74133 /* 209240 */ GIM_Try, /*On fail goto*//*Label 4856*/ GIMT_Encode4(209305), // Rule ID 23328 //
74134 /* 209245 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
74135 /* 209248 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74136 /* 209252 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74137 /* 209256 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74138 /* 209260 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
74139 /* 209267 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74140 /* 209271 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74141 /* 209275 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74142 /* 209277 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74143 /* 209284 */ // (strict_fadd:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (ADD_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
74144 /* 209284 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m32),
74145 /* 209287 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74146 /* 209289 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74147 /* 209291 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74148 /* 209295 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74149 /* 209298 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74150 /* 209303 */ GIR_RootConstrainSelectedInstOperands,
74151 /* 209304 */ // GIR_Coverage, 23328,
74152 /* 209304 */ GIR_EraseRootFromParent_Done,
74153 /* 209305 */ // Label 4856: @209305
74154 /* 209305 */ GIM_Try, /*On fail goto*//*Label 4857*/ GIMT_Encode4(209370), // Rule ID 23330 //
74155 /* 209310 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
74156 /* 209313 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74157 /* 209317 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74158 /* 209321 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74159 /* 209325 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
74160 /* 209332 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74161 /* 209336 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74162 /* 209340 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74163 /* 209342 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74164 /* 209349 */ // (strict_fadd:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (ADD_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
74165 /* 209349 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m32),
74166 /* 209352 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74167 /* 209354 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74168 /* 209356 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74169 /* 209360 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74170 /* 209363 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74171 /* 209368 */ GIR_RootConstrainSelectedInstOperands,
74172 /* 209369 */ // GIR_Coverage, 23330,
74173 /* 209369 */ GIR_EraseRootFromParent_Done,
74174 /* 209370 */ // Label 4857: @209370
74175 /* 209370 */ GIM_Try, /*On fail goto*//*Label 4858*/ GIMT_Encode4(209435), // Rule ID 23318 //
74176 /* 209375 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
74177 /* 209378 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74178 /* 209382 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74179 /* 209386 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74180 /* 209390 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74181 /* 209393 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74182 /* 209397 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74183 /* 209401 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74184 /* 209405 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74185 /* 209407 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74186 /* 209414 */ // (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)
74187 /* 209414 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32m),
74188 /* 209417 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74189 /* 209419 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74190 /* 209421 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74191 /* 209425 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74192 /* 209428 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74193 /* 209433 */ GIR_RootConstrainSelectedInstOperands,
74194 /* 209434 */ // GIR_Coverage, 23318,
74195 /* 209434 */ GIR_EraseRootFromParent_Done,
74196 /* 209435 */ // Label 4858: @209435
74197 /* 209435 */ GIM_Try, /*On fail goto*//*Label 4859*/ GIMT_Encode4(209497), // Rule ID 23463 //
74198 /* 209440 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
74199 /* 209443 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74200 /* 209447 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74201 /* 209451 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74202 /* 209455 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74203 /* 209458 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74204 /* 209462 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74205 /* 209466 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74206 /* 209470 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74207 /* 209472 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74208 /* 209479 */ // (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)
74209 /* 209479 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
74210 /* 209482 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74211 /* 209484 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74212 /* 209486 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74213 /* 209490 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74214 /* 209495 */ GIR_RootConstrainSelectedInstOperands,
74215 /* 209496 */ // GIR_Coverage, 23463,
74216 /* 209496 */ GIR_EraseRootFromParent_Done,
74217 /* 209497 */ // Label 4859: @209497
74218 /* 209497 */ GIM_Try, /*On fail goto*//*Label 4860*/ GIMT_Encode4(209559), // Rule ID 23467 //
74219 /* 209502 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
74220 /* 209505 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74221 /* 209509 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74222 /* 209513 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74223 /* 209517 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74224 /* 209520 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74225 /* 209524 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74226 /* 209528 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74227 /* 209532 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74228 /* 209534 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74229 /* 209541 */ // (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)
74230 /* 209541 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
74231 /* 209544 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74232 /* 209546 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74233 /* 209548 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74234 /* 209552 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74235 /* 209557 */ GIR_RootConstrainSelectedInstOperands,
74236 /* 209558 */ // GIR_Coverage, 23467,
74237 /* 209558 */ GIR_EraseRootFromParent_Done,
74238 /* 209559 */ // Label 4860: @209559
74239 /* 209559 */ GIM_Try, /*On fail goto*//*Label 4861*/ GIMT_Encode4(209621), // Rule ID 24327 //
74240 /* 209564 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
74241 /* 209567 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
74242 /* 209571 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74243 /* 209575 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74244 /* 209579 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74245 /* 209582 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74246 /* 209586 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74247 /* 209590 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
74248 /* 209594 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74249 /* 209596 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74250 /* 209603 */ // (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)
74251 /* 209603 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
74252 /* 209606 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74253 /* 209608 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74254 /* 209610 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74255 /* 209614 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74256 /* 209619 */ GIR_RootConstrainSelectedInstOperands,
74257 /* 209620 */ // GIR_Coverage, 24327,
74258 /* 209620 */ GIR_EraseRootFromParent_Done,
74259 /* 209621 */ // Label 4861: @209621
74260 /* 209621 */ GIM_Try, /*On fail goto*//*Label 4862*/ GIMT_Encode4(209686), // Rule ID 920 //
74261 /* 209626 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
74262 /* 209629 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74263 /* 209633 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74264 /* 209637 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74265 /* 209641 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74266 /* 209645 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
74267 /* 209652 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74268 /* 209656 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74269 /* 209658 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74270 /* 209665 */ // (strict_fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
74271 /* 209665 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m32),
74272 /* 209668 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74273 /* 209670 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74274 /* 209672 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74275 /* 209676 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74276 /* 209679 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74277 /* 209684 */ GIR_RootConstrainSelectedInstOperands,
74278 /* 209685 */ // GIR_Coverage, 920,
74279 /* 209685 */ GIR_EraseRootFromParent_Done,
74280 /* 209686 */ // Label 4862: @209686
74281 /* 209686 */ GIM_Try, /*On fail goto*//*Label 4863*/ GIMT_Encode4(209751), // Rule ID 922 //
74282 /* 209691 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
74283 /* 209694 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74284 /* 209698 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74285 /* 209702 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74286 /* 209706 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74287 /* 209710 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
74288 /* 209717 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74289 /* 209721 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74290 /* 209723 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74291 /* 209730 */ // (strict_fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
74292 /* 209730 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m32),
74293 /* 209733 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74294 /* 209735 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74295 /* 209737 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74296 /* 209741 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74297 /* 209744 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74298 /* 209749 */ GIR_RootConstrainSelectedInstOperands,
74299 /* 209750 */ // GIR_Coverage, 922,
74300 /* 209750 */ GIR_EraseRootFromParent_Done,
74301 /* 209751 */ // Label 4863: @209751
74302 /* 209751 */ GIM_Try, /*On fail goto*//*Label 4864*/ GIMT_Encode4(209816), // Rule ID 910 //
74303 /* 209756 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
74304 /* 209759 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74305 /* 209763 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74306 /* 209767 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74307 /* 209771 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74308 /* 209775 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74309 /* 209778 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74310 /* 209782 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74311 /* 209786 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74312 /* 209788 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74313 /* 209795 */ // (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)
74314 /* 209795 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32m),
74315 /* 209798 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74316 /* 209800 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74317 /* 209802 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74318 /* 209806 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74319 /* 209809 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74320 /* 209814 */ GIR_RootConstrainSelectedInstOperands,
74321 /* 209815 */ // GIR_Coverage, 910,
74322 /* 209815 */ GIR_EraseRootFromParent_Done,
74323 /* 209816 */ // Label 4864: @209816
74324 /* 209816 */ GIM_Try, /*On fail goto*//*Label 4865*/ GIMT_Encode4(209878), // Rule ID 2160 //
74325 /* 209821 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
74326 /* 209824 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74327 /* 209828 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74328 /* 209832 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74329 /* 209836 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74330 /* 209840 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74331 /* 209843 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74332 /* 209847 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74333 /* 209851 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74334 /* 209853 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74335 /* 209860 */ // (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)
74336 /* 209860 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
74337 /* 209863 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74338 /* 209865 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74339 /* 209867 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74340 /* 209871 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74341 /* 209876 */ GIR_RootConstrainSelectedInstOperands,
74342 /* 209877 */ // GIR_Coverage, 2160,
74343 /* 209877 */ GIR_EraseRootFromParent_Done,
74344 /* 209878 */ // Label 4865: @209878
74345 /* 209878 */ GIM_Try, /*On fail goto*//*Label 4866*/ GIMT_Encode4(209940), // Rule ID 2168 //
74346 /* 209883 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
74347 /* 209886 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74348 /* 209890 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74349 /* 209894 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74350 /* 209898 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74351 /* 209902 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74352 /* 209905 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74353 /* 209909 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74354 /* 209913 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74355 /* 209915 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74356 /* 209922 */ // (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)
74357 /* 209922 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
74358 /* 209925 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74359 /* 209927 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74360 /* 209929 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74361 /* 209933 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74362 /* 209938 */ GIR_RootConstrainSelectedInstOperands,
74363 /* 209939 */ // GIR_Coverage, 2168,
74364 /* 209939 */ GIR_EraseRootFromParent_Done,
74365 /* 209940 */ // Label 4866: @209940
74366 /* 209940 */ GIM_Try, /*On fail goto*//*Label 4867*/ GIMT_Encode4(210002), // Rule ID 5920 //
74367 /* 209945 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
74368 /* 209948 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
74369 /* 209952 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
74370 /* 209956 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74371 /* 209960 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74372 /* 209964 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74373 /* 209967 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74374 /* 209971 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74375 /* 209975 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74376 /* 209977 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74377 /* 209984 */ // (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)
74378 /* 209984 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
74379 /* 209987 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74380 /* 209989 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74381 /* 209991 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74382 /* 209995 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74383 /* 210000 */ GIR_RootConstrainSelectedInstOperands,
74384 /* 210001 */ // GIR_Coverage, 5920,
74385 /* 210001 */ GIR_EraseRootFromParent_Done,
74386 /* 210002 */ // Label 4867: @210002
74387 /* 210002 */ GIM_Try, /*On fail goto*//*Label 4868*/ GIMT_Encode4(210039), // Rule ID 886 //
74388 /* 210007 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
74389 /* 210010 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74390 /* 210014 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74391 /* 210018 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74392 /* 210022 */ // (strict_fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (ADD_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
74393 /* 210022 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32),
74394 /* 210027 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
74395 /* 210033 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
74396 /* 210037 */ GIR_RootConstrainSelectedInstOperands,
74397 /* 210038 */ // GIR_Coverage, 886,
74398 /* 210038 */ GIR_Done,
74399 /* 210039 */ // Label 4868: @210039
74400 /* 210039 */ GIM_Try, /*On fail goto*//*Label 4869*/ GIMT_Encode4(210070), // Rule ID 2158 //
74401 /* 210044 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
74402 /* 210047 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74403 /* 210051 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74404 /* 210055 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74405 /* 210059 */ // (strict_fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VADDSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
74406 /* 210059 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSSrr),
74407 /* 210064 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74408 /* 210068 */ GIR_RootConstrainSelectedInstOperands,
74409 /* 210069 */ // GIR_Coverage, 2158,
74410 /* 210069 */ GIR_Done,
74411 /* 210070 */ // Label 4869: @210070
74412 /* 210070 */ GIM_Try, /*On fail goto*//*Label 4870*/ GIMT_Encode4(210101), // Rule ID 2166 //
74413 /* 210075 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
74414 /* 210078 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74415 /* 210082 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74416 /* 210086 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74417 /* 210090 */ // (strict_fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (ADDSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
74418 /* 210090 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDSSrr),
74419 /* 210095 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74420 /* 210099 */ GIR_RootConstrainSelectedInstOperands,
74421 /* 210100 */ // GIR_Coverage, 2166,
74422 /* 210100 */ GIR_Done,
74423 /* 210101 */ // Label 4870: @210101
74424 /* 210101 */ GIM_Try, /*On fail goto*//*Label 4871*/ GIMT_Encode4(210132), // Rule ID 5918 //
74425 /* 210106 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
74426 /* 210109 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
74427 /* 210113 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
74428 /* 210117 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
74429 /* 210121 */ // (strict_fadd:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VADDSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
74430 /* 210121 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSSZrr),
74431 /* 210126 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74432 /* 210130 */ GIR_RootConstrainSelectedInstOperands,
74433 /* 210131 */ // GIR_Coverage, 5918,
74434 /* 210131 */ GIR_Done,
74435 /* 210132 */ // Label 4871: @210132
74436 /* 210132 */ GIM_Reject,
74437 /* 210133 */ // Label 4855: @210133
74438 /* 210133 */ GIM_Reject,
74439 /* 210134 */ // Label 4839: @210134
74440 /* 210134 */ GIM_Try, /*On fail goto*//*Label 4872*/ GIMT_Encode4(211182),
74441 /* 210139 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
74442 /* 210142 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
74443 /* 210145 */ GIM_Try, /*On fail goto*//*Label 4873*/ GIMT_Encode4(210210), // Rule ID 23332 //
74444 /* 210150 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
74445 /* 210153 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74446 /* 210157 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74447 /* 210161 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74448 /* 210165 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
74449 /* 210172 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74450 /* 210176 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74451 /* 210180 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74452 /* 210182 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74453 /* 210189 */ // (strict_fadd:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (ADD_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
74454 /* 210189 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m64),
74455 /* 210192 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74456 /* 210194 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74457 /* 210196 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74458 /* 210200 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74459 /* 210203 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74460 /* 210208 */ GIR_RootConstrainSelectedInstOperands,
74461 /* 210209 */ // GIR_Coverage, 23332,
74462 /* 210209 */ GIR_EraseRootFromParent_Done,
74463 /* 210210 */ // Label 4873: @210210
74464 /* 210210 */ GIM_Try, /*On fail goto*//*Label 4874*/ GIMT_Encode4(210275), // Rule ID 23334 //
74465 /* 210215 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
74466 /* 210218 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74467 /* 210222 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74468 /* 210226 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74469 /* 210230 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
74470 /* 210237 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74471 /* 210241 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74472 /* 210245 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74473 /* 210247 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74474 /* 210254 */ // (strict_fadd:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (ADD_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
74475 /* 210254 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m64),
74476 /* 210257 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74477 /* 210259 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74478 /* 210261 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74479 /* 210265 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74480 /* 210268 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74481 /* 210273 */ GIR_RootConstrainSelectedInstOperands,
74482 /* 210274 */ // GIR_Coverage, 23334,
74483 /* 210274 */ GIR_EraseRootFromParent_Done,
74484 /* 210275 */ // Label 4874: @210275
74485 /* 210275 */ GIM_Try, /*On fail goto*//*Label 4875*/ GIMT_Encode4(210340), // Rule ID 23320 //
74486 /* 210280 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
74487 /* 210283 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74488 /* 210287 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74489 /* 210291 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74490 /* 210295 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74491 /* 210298 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74492 /* 210302 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74493 /* 210306 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74494 /* 210310 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74495 /* 210312 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74496 /* 210319 */ // (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)
74497 /* 210319 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m),
74498 /* 210322 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74499 /* 210324 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74500 /* 210326 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74501 /* 210330 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74502 /* 210333 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74503 /* 210338 */ GIR_RootConstrainSelectedInstOperands,
74504 /* 210339 */ // GIR_Coverage, 23320,
74505 /* 210339 */ GIR_EraseRootFromParent_Done,
74506 /* 210340 */ // Label 4875: @210340
74507 /* 210340 */ GIM_Try, /*On fail goto*//*Label 4876*/ GIMT_Encode4(210412), // Rule ID 23322 //
74508 /* 210345 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
74509 /* 210348 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74510 /* 210352 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74511 /* 210356 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74512 /* 210360 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74513 /* 210363 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74514 /* 210367 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
74515 /* 210374 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74516 /* 210378 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74517 /* 210382 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74518 /* 210384 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74519 /* 210391 */ // (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)
74520 /* 210391 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m32),
74521 /* 210394 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74522 /* 210396 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74523 /* 210398 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74524 /* 210402 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74525 /* 210405 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74526 /* 210410 */ GIR_RootConstrainSelectedInstOperands,
74527 /* 210411 */ // GIR_Coverage, 23322,
74528 /* 210411 */ GIR_EraseRootFromParent_Done,
74529 /* 210412 */ // Label 4876: @210412
74530 /* 210412 */ GIM_Try, /*On fail goto*//*Label 4877*/ GIMT_Encode4(210474), // Rule ID 23465 //
74531 /* 210417 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
74532 /* 210420 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74533 /* 210424 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74534 /* 210428 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74535 /* 210432 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74536 /* 210435 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74537 /* 210439 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74538 /* 210443 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74539 /* 210447 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74540 /* 210449 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74541 /* 210456 */ // (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)
74542 /* 210456 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
74543 /* 210459 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74544 /* 210461 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74545 /* 210463 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74546 /* 210467 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74547 /* 210472 */ GIR_RootConstrainSelectedInstOperands,
74548 /* 210473 */ // GIR_Coverage, 23465,
74549 /* 210473 */ GIR_EraseRootFromParent_Done,
74550 /* 210474 */ // Label 4877: @210474
74551 /* 210474 */ GIM_Try, /*On fail goto*//*Label 4878*/ GIMT_Encode4(210536), // Rule ID 23469 //
74552 /* 210479 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
74553 /* 210482 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74554 /* 210486 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74555 /* 210490 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74556 /* 210494 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74557 /* 210497 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74558 /* 210501 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74559 /* 210505 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74560 /* 210509 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74561 /* 210511 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74562 /* 210518 */ // (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)
74563 /* 210518 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
74564 /* 210521 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74565 /* 210523 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74566 /* 210525 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74567 /* 210529 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74568 /* 210534 */ GIR_RootConstrainSelectedInstOperands,
74569 /* 210535 */ // GIR_Coverage, 23469,
74570 /* 210535 */ GIR_EraseRootFromParent_Done,
74571 /* 210536 */ // Label 4878: @210536
74572 /* 210536 */ GIM_Try, /*On fail goto*//*Label 4879*/ GIMT_Encode4(210598), // Rule ID 24329 //
74573 /* 210541 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
74574 /* 210544 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
74575 /* 210548 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74576 /* 210552 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74577 /* 210556 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74578 /* 210559 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74579 /* 210563 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74580 /* 210567 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
74581 /* 210571 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74582 /* 210573 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74583 /* 210580 */ // (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)
74584 /* 210580 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
74585 /* 210583 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74586 /* 210585 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74587 /* 210587 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74588 /* 210591 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74589 /* 210596 */ GIR_RootConstrainSelectedInstOperands,
74590 /* 210597 */ // GIR_Coverage, 24329,
74591 /* 210597 */ GIR_EraseRootFromParent_Done,
74592 /* 210598 */ // Label 4879: @210598
74593 /* 210598 */ GIM_Try, /*On fail goto*//*Label 4880*/ GIMT_Encode4(210663), // Rule ID 924 //
74594 /* 210603 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
74595 /* 210606 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74596 /* 210610 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74597 /* 210614 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74598 /* 210618 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74599 /* 210622 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
74600 /* 210629 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74601 /* 210633 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74602 /* 210635 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74603 /* 210642 */ // (strict_fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
74604 /* 210642 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m64),
74605 /* 210645 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74606 /* 210647 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74607 /* 210649 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74608 /* 210653 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74609 /* 210656 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74610 /* 210661 */ GIR_RootConstrainSelectedInstOperands,
74611 /* 210662 */ // GIR_Coverage, 924,
74612 /* 210662 */ GIR_EraseRootFromParent_Done,
74613 /* 210663 */ // Label 4880: @210663
74614 /* 210663 */ GIM_Try, /*On fail goto*//*Label 4881*/ GIMT_Encode4(210728), // Rule ID 926 //
74615 /* 210668 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
74616 /* 210671 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74617 /* 210675 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74618 /* 210679 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74619 /* 210683 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74620 /* 210687 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
74621 /* 210694 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74622 /* 210698 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74623 /* 210700 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74624 /* 210707 */ // (strict_fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
74625 /* 210707 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m64),
74626 /* 210710 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74627 /* 210712 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74628 /* 210714 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74629 /* 210718 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74630 /* 210721 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74631 /* 210726 */ GIR_RootConstrainSelectedInstOperands,
74632 /* 210727 */ // GIR_Coverage, 926,
74633 /* 210727 */ GIR_EraseRootFromParent_Done,
74634 /* 210728 */ // Label 4881: @210728
74635 /* 210728 */ GIM_Try, /*On fail goto*//*Label 4882*/ GIMT_Encode4(210793), // Rule ID 912 //
74636 /* 210733 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
74637 /* 210736 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74638 /* 210740 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74639 /* 210744 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74640 /* 210748 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74641 /* 210752 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74642 /* 210755 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74643 /* 210759 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74644 /* 210763 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74645 /* 210765 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74646 /* 210772 */ // (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)
74647 /* 210772 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m),
74648 /* 210775 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74649 /* 210777 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74650 /* 210779 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74651 /* 210783 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74652 /* 210786 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74653 /* 210791 */ GIR_RootConstrainSelectedInstOperands,
74654 /* 210792 */ // GIR_Coverage, 912,
74655 /* 210792 */ GIR_EraseRootFromParent_Done,
74656 /* 210793 */ // Label 4882: @210793
74657 /* 210793 */ GIM_Try, /*On fail goto*//*Label 4883*/ GIMT_Encode4(210865), // Rule ID 914 //
74658 /* 210798 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
74659 /* 210801 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74660 /* 210805 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74661 /* 210809 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74662 /* 210813 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74663 /* 210817 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74664 /* 210820 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74665 /* 210824 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
74666 /* 210831 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74667 /* 210835 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74668 /* 210837 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74669 /* 210844 */ // (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)
74670 /* 210844 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m32),
74671 /* 210847 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74672 /* 210849 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74673 /* 210851 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74674 /* 210855 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74675 /* 210858 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74676 /* 210863 */ GIR_RootConstrainSelectedInstOperands,
74677 /* 210864 */ // GIR_Coverage, 914,
74678 /* 210864 */ GIR_EraseRootFromParent_Done,
74679 /* 210865 */ // Label 4883: @210865
74680 /* 210865 */ GIM_Try, /*On fail goto*//*Label 4884*/ GIMT_Encode4(210927), // Rule ID 2164 //
74681 /* 210870 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
74682 /* 210873 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74683 /* 210877 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74684 /* 210881 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74685 /* 210885 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74686 /* 210889 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74687 /* 210892 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74688 /* 210896 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74689 /* 210900 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74690 /* 210902 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74691 /* 210909 */ // (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)
74692 /* 210909 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
74693 /* 210912 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74694 /* 210914 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74695 /* 210916 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74696 /* 210920 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74697 /* 210925 */ GIR_RootConstrainSelectedInstOperands,
74698 /* 210926 */ // GIR_Coverage, 2164,
74699 /* 210926 */ GIR_EraseRootFromParent_Done,
74700 /* 210927 */ // Label 4884: @210927
74701 /* 210927 */ GIM_Try, /*On fail goto*//*Label 4885*/ GIMT_Encode4(210989), // Rule ID 2172 //
74702 /* 210932 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
74703 /* 210935 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74704 /* 210939 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74705 /* 210943 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74706 /* 210947 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74707 /* 210951 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74708 /* 210954 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74709 /* 210958 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74710 /* 210962 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74711 /* 210964 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74712 /* 210971 */ // (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)
74713 /* 210971 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
74714 /* 210974 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74715 /* 210976 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74716 /* 210978 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74717 /* 210982 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74718 /* 210987 */ GIR_RootConstrainSelectedInstOperands,
74719 /* 210988 */ // GIR_Coverage, 2172,
74720 /* 210988 */ GIR_EraseRootFromParent_Done,
74721 /* 210989 */ // Label 4885: @210989
74722 /* 210989 */ GIM_Try, /*On fail goto*//*Label 4886*/ GIMT_Encode4(211051), // Rule ID 5939 //
74723 /* 210994 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
74724 /* 210997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
74725 /* 211001 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
74726 /* 211005 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74727 /* 211009 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74728 /* 211013 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74729 /* 211016 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74730 /* 211020 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74731 /* 211024 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74732 /* 211026 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74733 /* 211033 */ // (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)
74734 /* 211033 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
74735 /* 211036 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74736 /* 211038 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74737 /* 211040 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74738 /* 211044 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74739 /* 211049 */ GIR_RootConstrainSelectedInstOperands,
74740 /* 211050 */ // GIR_Coverage, 5939,
74741 /* 211050 */ GIR_EraseRootFromParent_Done,
74742 /* 211051 */ // Label 4886: @211051
74743 /* 211051 */ GIM_Try, /*On fail goto*//*Label 4887*/ GIMT_Encode4(211088), // Rule ID 888 //
74744 /* 211056 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
74745 /* 211059 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74746 /* 211063 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74747 /* 211067 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74748 /* 211071 */ // (strict_fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (ADD_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
74749 /* 211071 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64),
74750 /* 211076 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
74751 /* 211082 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
74752 /* 211086 */ GIR_RootConstrainSelectedInstOperands,
74753 /* 211087 */ // GIR_Coverage, 888,
74754 /* 211087 */ GIR_Done,
74755 /* 211088 */ // Label 4887: @211088
74756 /* 211088 */ GIM_Try, /*On fail goto*//*Label 4888*/ GIMT_Encode4(211119), // Rule ID 2162 //
74757 /* 211093 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
74758 /* 211096 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74759 /* 211100 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74760 /* 211104 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74761 /* 211108 */ // (strict_fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VADDSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
74762 /* 211108 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSDrr),
74763 /* 211113 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74764 /* 211117 */ GIR_RootConstrainSelectedInstOperands,
74765 /* 211118 */ // GIR_Coverage, 2162,
74766 /* 211118 */ GIR_Done,
74767 /* 211119 */ // Label 4888: @211119
74768 /* 211119 */ GIM_Try, /*On fail goto*//*Label 4889*/ GIMT_Encode4(211150), // Rule ID 2170 //
74769 /* 211124 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
74770 /* 211127 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74771 /* 211131 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74772 /* 211135 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74773 /* 211139 */ // (strict_fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (ADDSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
74774 /* 211139 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDSDrr),
74775 /* 211144 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74776 /* 211148 */ GIR_RootConstrainSelectedInstOperands,
74777 /* 211149 */ // GIR_Coverage, 2170,
74778 /* 211149 */ GIR_Done,
74779 /* 211150 */ // Label 4889: @211150
74780 /* 211150 */ GIM_Try, /*On fail goto*//*Label 4890*/ GIMT_Encode4(211181), // Rule ID 5937 //
74781 /* 211155 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
74782 /* 211158 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
74783 /* 211162 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
74784 /* 211166 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
74785 /* 211170 */ // (strict_fadd:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VADDSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
74786 /* 211170 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSDZrr),
74787 /* 211175 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74788 /* 211179 */ GIR_RootConstrainSelectedInstOperands,
74789 /* 211180 */ // GIR_Coverage, 5937,
74790 /* 211180 */ GIR_Done,
74791 /* 211181 */ // Label 4890: @211181
74792 /* 211181 */ GIM_Reject,
74793 /* 211182 */ // Label 4872: @211182
74794 /* 211182 */ GIM_Reject,
74795 /* 211183 */ // Label 4840: @211183
74796 /* 211183 */ GIM_Try, /*On fail goto*//*Label 4891*/ GIMT_Encode4(211748),
74797 /* 211188 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
74798 /* 211191 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
74799 /* 211194 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
74800 /* 211198 */ GIM_Try, /*On fail goto*//*Label 4892*/ GIMT_Encode4(211259), // Rule ID 23336 //
74801 /* 211203 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
74802 /* 211206 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74803 /* 211210 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74804 /* 211214 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
74805 /* 211221 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74806 /* 211225 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
74807 /* 211229 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74808 /* 211231 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74809 /* 211238 */ // (strict_fadd:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (ADD_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
74810 /* 211238 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m80),
74811 /* 211241 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74812 /* 211243 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74813 /* 211245 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74814 /* 211249 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74815 /* 211252 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74816 /* 211257 */ GIR_RootConstrainSelectedInstOperands,
74817 /* 211258 */ // GIR_Coverage, 23336,
74818 /* 211258 */ GIR_EraseRootFromParent_Done,
74819 /* 211259 */ // Label 4892: @211259
74820 /* 211259 */ GIM_Try, /*On fail goto*//*Label 4893*/ GIMT_Encode4(211320), // Rule ID 23338 //
74821 /* 211264 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
74822 /* 211267 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74823 /* 211271 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74824 /* 211275 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
74825 /* 211282 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74826 /* 211286 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
74827 /* 211290 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74828 /* 211292 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74829 /* 211299 */ // (strict_fadd:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (ADD_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
74830 /* 211299 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m80),
74831 /* 211302 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74832 /* 211304 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74833 /* 211306 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74834 /* 211310 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74835 /* 211313 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74836 /* 211318 */ GIR_RootConstrainSelectedInstOperands,
74837 /* 211319 */ // GIR_Coverage, 23338,
74838 /* 211319 */ GIR_EraseRootFromParent_Done,
74839 /* 211320 */ // Label 4893: @211320
74840 /* 211320 */ GIM_Try, /*On fail goto*//*Label 4894*/ GIMT_Encode4(211388), // Rule ID 23324 //
74841 /* 211325 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
74842 /* 211328 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74843 /* 211332 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74844 /* 211336 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74845 /* 211339 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74846 /* 211343 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
74847 /* 211350 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74848 /* 211354 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
74849 /* 211358 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74850 /* 211360 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74851 /* 211367 */ // (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)
74852 /* 211367 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m32),
74853 /* 211370 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74854 /* 211372 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74855 /* 211374 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74856 /* 211378 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74857 /* 211381 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74858 /* 211386 */ GIR_RootConstrainSelectedInstOperands,
74859 /* 211387 */ // GIR_Coverage, 23324,
74860 /* 211387 */ GIR_EraseRootFromParent_Done,
74861 /* 211388 */ // Label 4894: @211388
74862 /* 211388 */ GIM_Try, /*On fail goto*//*Label 4895*/ GIMT_Encode4(211456), // Rule ID 23326 //
74863 /* 211393 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
74864 /* 211396 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74865 /* 211400 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74866 /* 211404 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74867 /* 211407 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74868 /* 211411 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
74869 /* 211418 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74870 /* 211422 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
74871 /* 211426 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74872 /* 211428 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74873 /* 211435 */ // (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)
74874 /* 211435 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m64),
74875 /* 211438 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74876 /* 211440 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74877 /* 211442 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74878 /* 211446 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74879 /* 211449 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74880 /* 211454 */ GIR_RootConstrainSelectedInstOperands,
74881 /* 211455 */ // GIR_Coverage, 23326,
74882 /* 211455 */ GIR_EraseRootFromParent_Done,
74883 /* 211456 */ // Label 4895: @211456
74884 /* 211456 */ GIM_Try, /*On fail goto*//*Label 4896*/ GIMT_Encode4(211517), // Rule ID 928 //
74885 /* 211461 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
74886 /* 211464 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
74887 /* 211468 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74888 /* 211472 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74889 /* 211476 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
74890 /* 211483 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74891 /* 211487 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74892 /* 211489 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74893 /* 211496 */ // (strict_fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
74894 /* 211496 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m80),
74895 /* 211499 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74896 /* 211501 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74897 /* 211503 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74898 /* 211507 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74899 /* 211510 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74900 /* 211515 */ GIR_RootConstrainSelectedInstOperands,
74901 /* 211516 */ // GIR_Coverage, 928,
74902 /* 211516 */ GIR_EraseRootFromParent_Done,
74903 /* 211517 */ // Label 4896: @211517
74904 /* 211517 */ GIM_Try, /*On fail goto*//*Label 4897*/ GIMT_Encode4(211578), // Rule ID 930 //
74905 /* 211522 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
74906 /* 211525 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
74907 /* 211529 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74908 /* 211533 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74909 /* 211537 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
74910 /* 211544 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74911 /* 211548 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74912 /* 211550 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74913 /* 211557 */ // (strict_fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
74914 /* 211557 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m80),
74915 /* 211560 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74916 /* 211562 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74917 /* 211564 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74918 /* 211568 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74919 /* 211571 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74920 /* 211576 */ GIR_RootConstrainSelectedInstOperands,
74921 /* 211577 */ // GIR_Coverage, 930,
74922 /* 211577 */ GIR_EraseRootFromParent_Done,
74923 /* 211578 */ // Label 4897: @211578
74924 /* 211578 */ GIM_Try, /*On fail goto*//*Label 4898*/ GIMT_Encode4(211646), // Rule ID 916 //
74925 /* 211583 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
74926 /* 211586 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
74927 /* 211590 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74928 /* 211594 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74929 /* 211598 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74930 /* 211601 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74931 /* 211605 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
74932 /* 211612 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74933 /* 211616 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74934 /* 211618 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74935 /* 211625 */ // (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)
74936 /* 211625 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m32),
74937 /* 211628 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74938 /* 211630 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74939 /* 211632 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74940 /* 211636 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74941 /* 211639 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74942 /* 211644 */ GIR_RootConstrainSelectedInstOperands,
74943 /* 211645 */ // GIR_Coverage, 916,
74944 /* 211645 */ GIR_EraseRootFromParent_Done,
74945 /* 211646 */ // Label 4898: @211646
74946 /* 211646 */ GIM_Try, /*On fail goto*//*Label 4899*/ GIMT_Encode4(211714), // Rule ID 918 //
74947 /* 211651 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
74948 /* 211654 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
74949 /* 211658 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74950 /* 211662 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74951 /* 211666 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74952 /* 211669 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74953 /* 211673 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
74954 /* 211680 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74955 /* 211684 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74956 /* 211686 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74957 /* 211693 */ // (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)
74958 /* 211693 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m64),
74959 /* 211696 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74960 /* 211698 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74961 /* 211700 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74962 /* 211704 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74963 /* 211707 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74964 /* 211712 */ GIR_RootConstrainSelectedInstOperands,
74965 /* 211713 */ // GIR_Coverage, 918,
74966 /* 211713 */ GIR_EraseRootFromParent_Done,
74967 /* 211714 */ // Label 4899: @211714
74968 /* 211714 */ GIM_Try, /*On fail goto*//*Label 4900*/ GIMT_Encode4(211747), // Rule ID 890 //
74969 /* 211719 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
74970 /* 211722 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
74971 /* 211726 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
74972 /* 211730 */ // (strict_fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (ADD_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
74973 /* 211730 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80),
74974 /* 211735 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
74975 /* 211741 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
74976 /* 211745 */ GIR_RootConstrainSelectedInstOperands,
74977 /* 211746 */ // GIR_Coverage, 890,
74978 /* 211746 */ GIR_Done,
74979 /* 211747 */ // Label 4900: @211747
74980 /* 211747 */ GIM_Reject,
74981 /* 211748 */ // Label 4891: @211748
74982 /* 211748 */ GIM_Reject,
74983 /* 211749 */ // Label 4841: @211749
74984 /* 211749 */ GIM_Try, /*On fail goto*//*Label 4901*/ GIMT_Encode4(212102),
74985 /* 211754 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
74986 /* 211757 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
74987 /* 211760 */ GIM_Try, /*On fail goto*//*Label 4902*/ GIMT_Encode4(211822), // Rule ID 23453 //
74988 /* 211765 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
74989 /* 211768 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74990 /* 211772 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74991 /* 211776 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74992 /* 211780 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74993 /* 211783 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74994 /* 211787 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74995 /* 211791 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74996 /* 211795 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74997 /* 211797 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74998 /* 211804 */ // (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)
74999 /* 211804 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDrm),
75000 /* 211807 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75001 /* 211809 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75002 /* 211811 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75003 /* 211815 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75004 /* 211820 */ GIR_RootConstrainSelectedInstOperands,
75005 /* 211821 */ // GIR_Coverage, 23453,
75006 /* 211821 */ GIR_EraseRootFromParent_Done,
75007 /* 211822 */ // Label 4902: @211822
75008 /* 211822 */ GIM_Try, /*On fail goto*//*Label 4903*/ GIMT_Encode4(211884), // Rule ID 24377 //
75009 /* 211827 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75010 /* 211830 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75011 /* 211834 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75012 /* 211838 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75013 /* 211842 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75014 /* 211845 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75015 /* 211849 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75016 /* 211853 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75017 /* 211857 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75018 /* 211859 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75019 /* 211866 */ // (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)
75020 /* 211866 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rm),
75021 /* 211869 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75022 /* 211871 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75023 /* 211873 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75024 /* 211877 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75025 /* 211882 */ GIR_RootConstrainSelectedInstOperands,
75026 /* 211883 */ // GIR_Coverage, 24377,
75027 /* 211883 */ GIR_EraseRootFromParent_Done,
75028 /* 211884 */ // Label 4903: @211884
75029 /* 211884 */ GIM_Try, /*On fail goto*//*Label 4904*/ GIMT_Encode4(211946), // Rule ID 2140 //
75030 /* 211889 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75031 /* 211892 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75032 /* 211896 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75033 /* 211900 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75034 /* 211904 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75035 /* 211908 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75036 /* 211911 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75037 /* 211915 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75038 /* 211919 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75039 /* 211921 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75040 /* 211928 */ // (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)
75041 /* 211928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDrm),
75042 /* 211931 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75043 /* 211933 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75044 /* 211935 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75045 /* 211939 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75046 /* 211944 */ GIR_RootConstrainSelectedInstOperands,
75047 /* 211945 */ // GIR_Coverage, 2140,
75048 /* 211945 */ GIR_EraseRootFromParent_Done,
75049 /* 211946 */ // Label 4904: @211946
75050 /* 211946 */ GIM_Try, /*On fail goto*//*Label 4905*/ GIMT_Encode4(212008), // Rule ID 6312 //
75051 /* 211951 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75052 /* 211954 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75053 /* 211958 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75054 /* 211962 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75055 /* 211966 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75056 /* 211970 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75057 /* 211973 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75058 /* 211977 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75059 /* 211981 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75060 /* 211983 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75061 /* 211990 */ // (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)
75062 /* 211990 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rm),
75063 /* 211993 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75064 /* 211995 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75065 /* 211997 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75066 /* 212001 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75067 /* 212006 */ GIR_RootConstrainSelectedInstOperands,
75068 /* 212007 */ // GIR_Coverage, 6312,
75069 /* 212007 */ GIR_EraseRootFromParent_Done,
75070 /* 212008 */ // Label 4905: @212008
75071 /* 212008 */ GIM_Try, /*On fail goto*//*Label 4906*/ GIMT_Encode4(212039), // Rule ID 2138 //
75072 /* 212013 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75073 /* 212016 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75074 /* 212020 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75075 /* 212024 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75076 /* 212028 */ // (strict_fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VADDPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
75077 /* 212028 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDrr),
75078 /* 212033 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75079 /* 212037 */ GIR_RootConstrainSelectedInstOperands,
75080 /* 212038 */ // GIR_Coverage, 2138,
75081 /* 212038 */ GIR_Done,
75082 /* 212039 */ // Label 4906: @212039
75083 /* 212039 */ GIM_Try, /*On fail goto*//*Label 4907*/ GIMT_Encode4(212070), // Rule ID 2154 //
75084 /* 212044 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
75085 /* 212047 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75086 /* 212051 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75087 /* 212055 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75088 /* 212059 */ // (strict_fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (ADDPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
75089 /* 212059 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDPDrr),
75090 /* 212064 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75091 /* 212068 */ GIR_RootConstrainSelectedInstOperands,
75092 /* 212069 */ // GIR_Coverage, 2154,
75093 /* 212069 */ GIR_Done,
75094 /* 212070 */ // Label 4907: @212070
75095 /* 212070 */ GIM_Try, /*On fail goto*//*Label 4908*/ GIMT_Encode4(212101), // Rule ID 6308 //
75096 /* 212075 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75097 /* 212078 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75098 /* 212082 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75099 /* 212086 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75100 /* 212090 */ // (strict_fadd:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VADDPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
75101 /* 212090 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rr),
75102 /* 212095 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75103 /* 212099 */ GIR_RootConstrainSelectedInstOperands,
75104 /* 212100 */ // GIR_Coverage, 6308,
75105 /* 212100 */ GIR_Done,
75106 /* 212101 */ // Label 4908: @212101
75107 /* 212101 */ GIM_Reject,
75108 /* 212102 */ // Label 4901: @212102
75109 /* 212102 */ GIM_Reject,
75110 /* 212103 */ // Label 4842: @212103
75111 /* 212103 */ GIM_Try, /*On fail goto*//*Label 4909*/ GIMT_Encode4(212456),
75112 /* 212108 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
75113 /* 212111 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
75114 /* 212114 */ GIM_Try, /*On fail goto*//*Label 4910*/ GIMT_Encode4(212176), // Rule ID 23451 //
75115 /* 212119 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75116 /* 212122 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75117 /* 212126 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75118 /* 212130 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75119 /* 212134 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75120 /* 212137 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75121 /* 212141 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75122 /* 212145 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75123 /* 212149 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75124 /* 212151 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75125 /* 212158 */ // (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)
75126 /* 212158 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSrm),
75127 /* 212161 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75128 /* 212163 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75129 /* 212165 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75130 /* 212169 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75131 /* 212174 */ GIR_RootConstrainSelectedInstOperands,
75132 /* 212175 */ // GIR_Coverage, 23451,
75133 /* 212175 */ GIR_EraseRootFromParent_Done,
75134 /* 212176 */ // Label 4910: @212176
75135 /* 212176 */ GIM_Try, /*On fail goto*//*Label 4911*/ GIMT_Encode4(212238), // Rule ID 24361 //
75136 /* 212181 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75137 /* 212184 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75138 /* 212188 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75139 /* 212192 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75140 /* 212196 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75141 /* 212199 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75142 /* 212203 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75143 /* 212207 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75144 /* 212211 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75145 /* 212213 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75146 /* 212220 */ // (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)
75147 /* 212220 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rm),
75148 /* 212223 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75149 /* 212225 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75150 /* 212227 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75151 /* 212231 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75152 /* 212236 */ GIR_RootConstrainSelectedInstOperands,
75153 /* 212237 */ // GIR_Coverage, 24361,
75154 /* 212237 */ GIR_EraseRootFromParent_Done,
75155 /* 212238 */ // Label 4911: @212238
75156 /* 212238 */ GIM_Try, /*On fail goto*//*Label 4912*/ GIMT_Encode4(212300), // Rule ID 2136 //
75157 /* 212243 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75158 /* 212246 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75159 /* 212250 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75160 /* 212254 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75161 /* 212258 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75162 /* 212262 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75163 /* 212265 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75164 /* 212269 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75165 /* 212273 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75166 /* 212275 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75167 /* 212282 */ // (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)
75168 /* 212282 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSrm),
75169 /* 212285 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75170 /* 212287 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75171 /* 212289 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75172 /* 212293 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75173 /* 212298 */ GIR_RootConstrainSelectedInstOperands,
75174 /* 212299 */ // GIR_Coverage, 2136,
75175 /* 212299 */ GIR_EraseRootFromParent_Done,
75176 /* 212300 */ // Label 4912: @212300
75177 /* 212300 */ GIM_Try, /*On fail goto*//*Label 4913*/ GIMT_Encode4(212362), // Rule ID 6288 //
75178 /* 212305 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75179 /* 212308 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75180 /* 212312 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75181 /* 212316 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75182 /* 212320 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75183 /* 212324 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75184 /* 212327 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75185 /* 212331 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75186 /* 212335 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75187 /* 212337 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75188 /* 212344 */ // (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)
75189 /* 212344 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rm),
75190 /* 212347 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75191 /* 212349 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75192 /* 212351 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75193 /* 212355 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75194 /* 212360 */ GIR_RootConstrainSelectedInstOperands,
75195 /* 212361 */ // GIR_Coverage, 6288,
75196 /* 212361 */ GIR_EraseRootFromParent_Done,
75197 /* 212362 */ // Label 4913: @212362
75198 /* 212362 */ GIM_Try, /*On fail goto*//*Label 4914*/ GIMT_Encode4(212393), // Rule ID 2134 //
75199 /* 212367 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75200 /* 212370 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75201 /* 212374 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75202 /* 212378 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75203 /* 212382 */ // (strict_fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VADDPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
75204 /* 212382 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSrr),
75205 /* 212387 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75206 /* 212391 */ GIR_RootConstrainSelectedInstOperands,
75207 /* 212392 */ // GIR_Coverage, 2134,
75208 /* 212392 */ GIR_Done,
75209 /* 212393 */ // Label 4914: @212393
75210 /* 212393 */ GIM_Try, /*On fail goto*//*Label 4915*/ GIMT_Encode4(212424), // Rule ID 2150 //
75211 /* 212398 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
75212 /* 212401 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75213 /* 212405 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75214 /* 212409 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75215 /* 212413 */ // (strict_fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (ADDPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
75216 /* 212413 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDPSrr),
75217 /* 212418 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75218 /* 212422 */ GIR_RootConstrainSelectedInstOperands,
75219 /* 212423 */ // GIR_Coverage, 2150,
75220 /* 212423 */ GIR_Done,
75221 /* 212424 */ // Label 4915: @212424
75222 /* 212424 */ GIM_Try, /*On fail goto*//*Label 4916*/ GIMT_Encode4(212455), // Rule ID 6284 //
75223 /* 212429 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75224 /* 212432 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75225 /* 212436 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75226 /* 212440 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75227 /* 212444 */ // (strict_fadd:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VADDPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
75228 /* 212444 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rr),
75229 /* 212449 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75230 /* 212453 */ GIR_RootConstrainSelectedInstOperands,
75231 /* 212454 */ // GIR_Coverage, 6284,
75232 /* 212454 */ GIR_Done,
75233 /* 212455 */ // Label 4916: @212455
75234 /* 212455 */ GIM_Reject,
75235 /* 212456 */ // Label 4909: @212456
75236 /* 212456 */ GIM_Reject,
75237 /* 212457 */ // Label 4843: @212457
75238 /* 212457 */ GIM_Try, /*On fail goto*//*Label 4917*/ GIMT_Encode4(212779),
75239 /* 212462 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
75240 /* 212465 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
75241 /* 212468 */ GIM_Try, /*On fail goto*//*Label 4918*/ GIMT_Encode4(212530), // Rule ID 23457 //
75242 /* 212473 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75243 /* 212476 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75244 /* 212480 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75245 /* 212484 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75246 /* 212488 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75247 /* 212491 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75248 /* 212495 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75249 /* 212499 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75250 /* 212503 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75251 /* 212505 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75252 /* 212512 */ // (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)
75253 /* 212512 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDYrm),
75254 /* 212515 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75255 /* 212517 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75256 /* 212519 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75257 /* 212523 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75258 /* 212528 */ GIR_RootConstrainSelectedInstOperands,
75259 /* 212529 */ // GIR_Coverage, 23457,
75260 /* 212529 */ GIR_EraseRootFromParent_Done,
75261 /* 212530 */ // Label 4918: @212530
75262 /* 212530 */ GIM_Try, /*On fail goto*//*Label 4919*/ GIMT_Encode4(212592), // Rule ID 24385 //
75263 /* 212535 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75264 /* 212538 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75265 /* 212542 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75266 /* 212546 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75267 /* 212550 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75268 /* 212553 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75269 /* 212557 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75270 /* 212561 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75271 /* 212565 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75272 /* 212567 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75273 /* 212574 */ // (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)
75274 /* 212574 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rm),
75275 /* 212577 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75276 /* 212579 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75277 /* 212581 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75278 /* 212585 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75279 /* 212590 */ GIR_RootConstrainSelectedInstOperands,
75280 /* 212591 */ // GIR_Coverage, 24385,
75281 /* 212591 */ GIR_EraseRootFromParent_Done,
75282 /* 212592 */ // Label 4919: @212592
75283 /* 212592 */ GIM_Try, /*On fail goto*//*Label 4920*/ GIMT_Encode4(212654), // Rule ID 2148 //
75284 /* 212597 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75285 /* 212600 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75286 /* 212604 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75287 /* 212608 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75288 /* 212612 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75289 /* 212616 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75290 /* 212619 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75291 /* 212623 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75292 /* 212627 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75293 /* 212629 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75294 /* 212636 */ // (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)
75295 /* 212636 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDYrm),
75296 /* 212639 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75297 /* 212641 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75298 /* 212643 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75299 /* 212647 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75300 /* 212652 */ GIR_RootConstrainSelectedInstOperands,
75301 /* 212653 */ // GIR_Coverage, 2148,
75302 /* 212653 */ GIR_EraseRootFromParent_Done,
75303 /* 212654 */ // Label 4920: @212654
75304 /* 212654 */ GIM_Try, /*On fail goto*//*Label 4921*/ GIMT_Encode4(212716), // Rule ID 6324 //
75305 /* 212659 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75306 /* 212662 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75307 /* 212666 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75308 /* 212670 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75309 /* 212674 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75310 /* 212678 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75311 /* 212681 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75312 /* 212685 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75313 /* 212689 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75314 /* 212691 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75315 /* 212698 */ // (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)
75316 /* 212698 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rm),
75317 /* 212701 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75318 /* 212703 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75319 /* 212705 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75320 /* 212709 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75321 /* 212714 */ GIR_RootConstrainSelectedInstOperands,
75322 /* 212715 */ // GIR_Coverage, 6324,
75323 /* 212715 */ GIR_EraseRootFromParent_Done,
75324 /* 212716 */ // Label 4921: @212716
75325 /* 212716 */ GIM_Try, /*On fail goto*//*Label 4922*/ GIMT_Encode4(212747), // Rule ID 2146 //
75326 /* 212721 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75327 /* 212724 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75328 /* 212728 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75329 /* 212732 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75330 /* 212736 */ // (strict_fadd:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VADDPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
75331 /* 212736 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDYrr),
75332 /* 212741 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75333 /* 212745 */ GIR_RootConstrainSelectedInstOperands,
75334 /* 212746 */ // GIR_Coverage, 2146,
75335 /* 212746 */ GIR_Done,
75336 /* 212747 */ // Label 4922: @212747
75337 /* 212747 */ GIM_Try, /*On fail goto*//*Label 4923*/ GIMT_Encode4(212778), // Rule ID 6320 //
75338 /* 212752 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75339 /* 212755 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75340 /* 212759 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75341 /* 212763 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75342 /* 212767 */ // (strict_fadd:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VADDPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
75343 /* 212767 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rr),
75344 /* 212772 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75345 /* 212776 */ GIR_RootConstrainSelectedInstOperands,
75346 /* 212777 */ // GIR_Coverage, 6320,
75347 /* 212777 */ GIR_Done,
75348 /* 212778 */ // Label 4923: @212778
75349 /* 212778 */ GIM_Reject,
75350 /* 212779 */ // Label 4917: @212779
75351 /* 212779 */ GIM_Reject,
75352 /* 212780 */ // Label 4844: @212780
75353 /* 212780 */ GIM_Try, /*On fail goto*//*Label 4924*/ GIMT_Encode4(212939),
75354 /* 212785 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
75355 /* 212788 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
75356 /* 212791 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75357 /* 212795 */ GIM_Try, /*On fail goto*//*Label 4925*/ GIMT_Encode4(212853), // Rule ID 24401 //
75358 /* 212800 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
75359 /* 212803 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75360 /* 212807 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75361 /* 212811 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75362 /* 212814 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75363 /* 212818 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75364 /* 212822 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75365 /* 212826 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75366 /* 212828 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75367 /* 212835 */ // (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)
75368 /* 212835 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rm),
75369 /* 212838 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75370 /* 212840 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75371 /* 212842 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75372 /* 212846 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75373 /* 212851 */ GIR_RootConstrainSelectedInstOperands,
75374 /* 212852 */ // GIR_Coverage, 24401,
75375 /* 212852 */ GIR_EraseRootFromParent_Done,
75376 /* 212853 */ // Label 4925: @212853
75377 /* 212853 */ GIM_Try, /*On fail goto*//*Label 4926*/ GIMT_Encode4(212911), // Rule ID 6348 //
75378 /* 212858 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
75379 /* 212861 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75380 /* 212865 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75381 /* 212869 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75382 /* 212873 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75383 /* 212876 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75384 /* 212880 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75385 /* 212884 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75386 /* 212886 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75387 /* 212893 */ // (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)
75388 /* 212893 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rm),
75389 /* 212896 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75390 /* 212898 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75391 /* 212900 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75392 /* 212904 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75393 /* 212909 */ GIR_RootConstrainSelectedInstOperands,
75394 /* 212910 */ // GIR_Coverage, 6348,
75395 /* 212910 */ GIR_EraseRootFromParent_Done,
75396 /* 212911 */ // Label 4926: @212911
75397 /* 212911 */ GIM_Try, /*On fail goto*//*Label 4927*/ GIMT_Encode4(212938), // Rule ID 6344 //
75398 /* 212916 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
75399 /* 212919 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75400 /* 212923 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75401 /* 212927 */ // (strict_fadd:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VADDPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
75402 /* 212927 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rr),
75403 /* 212932 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75404 /* 212936 */ GIR_RootConstrainSelectedInstOperands,
75405 /* 212937 */ // GIR_Coverage, 6344,
75406 /* 212937 */ GIR_Done,
75407 /* 212938 */ // Label 4927: @212938
75408 /* 212938 */ GIM_Reject,
75409 /* 212939 */ // Label 4924: @212939
75410 /* 212939 */ GIM_Reject,
75411 /* 212940 */ // Label 4845: @212940
75412 /* 212940 */ GIM_Try, /*On fail goto*//*Label 4928*/ GIMT_Encode4(213262),
75413 /* 212945 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
75414 /* 212948 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
75415 /* 212951 */ GIM_Try, /*On fail goto*//*Label 4929*/ GIMT_Encode4(213013), // Rule ID 23455 //
75416 /* 212956 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75417 /* 212959 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75418 /* 212963 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75419 /* 212967 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75420 /* 212971 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75421 /* 212974 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75422 /* 212978 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75423 /* 212982 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75424 /* 212986 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75425 /* 212988 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75426 /* 212995 */ // (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)
75427 /* 212995 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSYrm),
75428 /* 212998 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75429 /* 213000 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75430 /* 213002 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75431 /* 213006 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75432 /* 213011 */ GIR_RootConstrainSelectedInstOperands,
75433 /* 213012 */ // GIR_Coverage, 23455,
75434 /* 213012 */ GIR_EraseRootFromParent_Done,
75435 /* 213013 */ // Label 4929: @213013
75436 /* 213013 */ GIM_Try, /*On fail goto*//*Label 4930*/ GIMT_Encode4(213075), // Rule ID 24369 //
75437 /* 213018 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75438 /* 213021 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75439 /* 213025 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75440 /* 213029 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75441 /* 213033 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75442 /* 213036 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75443 /* 213040 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75444 /* 213044 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75445 /* 213048 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75446 /* 213050 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75447 /* 213057 */ // (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)
75448 /* 213057 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rm),
75449 /* 213060 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75450 /* 213062 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75451 /* 213064 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75452 /* 213068 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75453 /* 213073 */ GIR_RootConstrainSelectedInstOperands,
75454 /* 213074 */ // GIR_Coverage, 24369,
75455 /* 213074 */ GIR_EraseRootFromParent_Done,
75456 /* 213075 */ // Label 4930: @213075
75457 /* 213075 */ GIM_Try, /*On fail goto*//*Label 4931*/ GIMT_Encode4(213137), // Rule ID 2144 //
75458 /* 213080 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75459 /* 213083 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75460 /* 213087 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75461 /* 213091 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75462 /* 213095 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75463 /* 213099 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75464 /* 213102 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75465 /* 213106 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75466 /* 213110 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75467 /* 213112 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75468 /* 213119 */ // (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)
75469 /* 213119 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSYrm),
75470 /* 213122 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75471 /* 213124 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75472 /* 213126 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75473 /* 213130 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75474 /* 213135 */ GIR_RootConstrainSelectedInstOperands,
75475 /* 213136 */ // GIR_Coverage, 2144,
75476 /* 213136 */ GIR_EraseRootFromParent_Done,
75477 /* 213137 */ // Label 4931: @213137
75478 /* 213137 */ GIM_Try, /*On fail goto*//*Label 4932*/ GIMT_Encode4(213199), // Rule ID 6300 //
75479 /* 213142 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75480 /* 213145 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75481 /* 213149 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75482 /* 213153 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75483 /* 213157 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75484 /* 213161 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75485 /* 213164 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75486 /* 213168 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75487 /* 213172 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75488 /* 213174 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75489 /* 213181 */ // (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)
75490 /* 213181 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rm),
75491 /* 213184 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75492 /* 213186 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75493 /* 213188 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75494 /* 213192 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75495 /* 213197 */ GIR_RootConstrainSelectedInstOperands,
75496 /* 213198 */ // GIR_Coverage, 6300,
75497 /* 213198 */ GIR_EraseRootFromParent_Done,
75498 /* 213199 */ // Label 4932: @213199
75499 /* 213199 */ GIM_Try, /*On fail goto*//*Label 4933*/ GIMT_Encode4(213230), // Rule ID 2142 //
75500 /* 213204 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75501 /* 213207 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75502 /* 213211 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75503 /* 213215 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75504 /* 213219 */ // (strict_fadd:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VADDPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
75505 /* 213219 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSYrr),
75506 /* 213224 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75507 /* 213228 */ GIR_RootConstrainSelectedInstOperands,
75508 /* 213229 */ // GIR_Coverage, 2142,
75509 /* 213229 */ GIR_Done,
75510 /* 213230 */ // Label 4933: @213230
75511 /* 213230 */ GIM_Try, /*On fail goto*//*Label 4934*/ GIMT_Encode4(213261), // Rule ID 6296 //
75512 /* 213235 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75513 /* 213238 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75514 /* 213242 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75515 /* 213246 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75516 /* 213250 */ // (strict_fadd:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VADDPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
75517 /* 213250 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rr),
75518 /* 213255 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75519 /* 213259 */ GIR_RootConstrainSelectedInstOperands,
75520 /* 213260 */ // GIR_Coverage, 6296,
75521 /* 213260 */ GIR_Done,
75522 /* 213261 */ // Label 4934: @213261
75523 /* 213261 */ GIM_Reject,
75524 /* 213262 */ // Label 4928: @213262
75525 /* 213262 */ GIM_Reject,
75526 /* 213263 */ // Label 4846: @213263
75527 /* 213263 */ GIM_Try, /*On fail goto*//*Label 4935*/ GIMT_Encode4(213422),
75528 /* 213268 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
75529 /* 213271 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
75530 /* 213274 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75531 /* 213278 */ GIM_Try, /*On fail goto*//*Label 4936*/ GIMT_Encode4(213336), // Rule ID 24353 //
75532 /* 213283 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
75533 /* 213286 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75534 /* 213290 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75535 /* 213294 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75536 /* 213297 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75537 /* 213301 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75538 /* 213305 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75539 /* 213309 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75540 /* 213311 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75541 /* 213318 */ // (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)
75542 /* 213318 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZrm),
75543 /* 213321 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75544 /* 213323 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75545 /* 213325 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75546 /* 213329 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75547 /* 213334 */ GIR_RootConstrainSelectedInstOperands,
75548 /* 213335 */ // GIR_Coverage, 24353,
75549 /* 213335 */ GIR_EraseRootFromParent_Done,
75550 /* 213336 */ // Label 4936: @213336
75551 /* 213336 */ GIM_Try, /*On fail goto*//*Label 4937*/ GIMT_Encode4(213394), // Rule ID 6276 //
75552 /* 213341 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
75553 /* 213344 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75554 /* 213348 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75555 /* 213352 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75556 /* 213356 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75557 /* 213359 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75558 /* 213363 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75559 /* 213367 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75560 /* 213369 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75561 /* 213376 */ // (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)
75562 /* 213376 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZrm),
75563 /* 213379 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75564 /* 213381 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75565 /* 213383 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75566 /* 213387 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75567 /* 213392 */ GIR_RootConstrainSelectedInstOperands,
75568 /* 213393 */ // GIR_Coverage, 6276,
75569 /* 213393 */ GIR_EraseRootFromParent_Done,
75570 /* 213394 */ // Label 4937: @213394
75571 /* 213394 */ GIM_Try, /*On fail goto*//*Label 4938*/ GIMT_Encode4(213421), // Rule ID 6272 //
75572 /* 213399 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
75573 /* 213402 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75574 /* 213406 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75575 /* 213410 */ // (strict_fadd:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VADDPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
75576 /* 213410 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZrr),
75577 /* 213415 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75578 /* 213419 */ GIR_RootConstrainSelectedInstOperands,
75579 /* 213420 */ // GIR_Coverage, 6272,
75580 /* 213420 */ GIR_Done,
75581 /* 213421 */ // Label 4938: @213421
75582 /* 213421 */ GIM_Reject,
75583 /* 213422 */ // Label 4935: @213422
75584 /* 213422 */ GIM_Reject,
75585 /* 213423 */ // Label 4847: @213423
75586 /* 213423 */ GIM_Try, /*On fail goto*//*Label 4939*/ GIMT_Encode4(213582),
75587 /* 213428 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
75588 /* 213431 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
75589 /* 213434 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75590 /* 213438 */ GIM_Try, /*On fail goto*//*Label 4940*/ GIMT_Encode4(213496), // Rule ID 24409 //
75591 /* 213443 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
75592 /* 213446 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75593 /* 213450 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75594 /* 213454 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75595 /* 213457 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75596 /* 213461 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75597 /* 213465 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75598 /* 213469 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75599 /* 213471 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75600 /* 213478 */ // (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)
75601 /* 213478 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rm),
75602 /* 213481 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75603 /* 213483 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75604 /* 213485 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75605 /* 213489 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75606 /* 213494 */ GIR_RootConstrainSelectedInstOperands,
75607 /* 213495 */ // GIR_Coverage, 24409,
75608 /* 213495 */ GIR_EraseRootFromParent_Done,
75609 /* 213496 */ // Label 4940: @213496
75610 /* 213496 */ GIM_Try, /*On fail goto*//*Label 4941*/ GIMT_Encode4(213554), // Rule ID 6360 //
75611 /* 213501 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
75612 /* 213504 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75613 /* 213508 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75614 /* 213512 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75615 /* 213516 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75616 /* 213519 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75617 /* 213523 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75618 /* 213527 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75619 /* 213529 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75620 /* 213536 */ // (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)
75621 /* 213536 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rm),
75622 /* 213539 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75623 /* 213541 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75624 /* 213543 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75625 /* 213547 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75626 /* 213552 */ GIR_RootConstrainSelectedInstOperands,
75627 /* 213553 */ // GIR_Coverage, 6360,
75628 /* 213553 */ GIR_EraseRootFromParent_Done,
75629 /* 213554 */ // Label 4941: @213554
75630 /* 213554 */ GIM_Try, /*On fail goto*//*Label 4942*/ GIMT_Encode4(213581), // Rule ID 6356 //
75631 /* 213559 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
75632 /* 213562 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75633 /* 213566 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75634 /* 213570 */ // (strict_fadd:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VADDPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
75635 /* 213570 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rr),
75636 /* 213575 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75637 /* 213579 */ GIR_RootConstrainSelectedInstOperands,
75638 /* 213580 */ // GIR_Coverage, 6356,
75639 /* 213580 */ GIR_Done,
75640 /* 213581 */ // Label 4942: @213581
75641 /* 213581 */ GIM_Reject,
75642 /* 213582 */ // Label 4939: @213582
75643 /* 213582 */ GIM_Reject,
75644 /* 213583 */ // Label 4848: @213583
75645 /* 213583 */ GIM_Try, /*On fail goto*//*Label 4943*/ GIMT_Encode4(213742),
75646 /* 213588 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
75647 /* 213591 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
75648 /* 213594 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75649 /* 213598 */ GIM_Try, /*On fail goto*//*Label 4944*/ GIMT_Encode4(213656), // Rule ID 24345 //
75650 /* 213603 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
75651 /* 213606 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75652 /* 213610 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75653 /* 213614 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75654 /* 213617 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75655 /* 213621 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75656 /* 213625 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75657 /* 213629 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75658 /* 213631 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75659 /* 213638 */ // (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)
75660 /* 213638 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZrm),
75661 /* 213641 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75662 /* 213643 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75663 /* 213645 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75664 /* 213649 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75665 /* 213654 */ GIR_RootConstrainSelectedInstOperands,
75666 /* 213655 */ // GIR_Coverage, 24345,
75667 /* 213655 */ GIR_EraseRootFromParent_Done,
75668 /* 213656 */ // Label 4944: @213656
75669 /* 213656 */ GIM_Try, /*On fail goto*//*Label 4945*/ GIMT_Encode4(213714), // Rule ID 6264 //
75670 /* 213661 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
75671 /* 213664 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75672 /* 213668 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75673 /* 213672 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75674 /* 213676 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75675 /* 213679 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75676 /* 213683 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75677 /* 213687 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75678 /* 213689 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75679 /* 213696 */ // (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)
75680 /* 213696 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZrm),
75681 /* 213699 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75682 /* 213701 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75683 /* 213703 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75684 /* 213707 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75685 /* 213712 */ GIR_RootConstrainSelectedInstOperands,
75686 /* 213713 */ // GIR_Coverage, 6264,
75687 /* 213713 */ GIR_EraseRootFromParent_Done,
75688 /* 213714 */ // Label 4945: @213714
75689 /* 213714 */ GIM_Try, /*On fail goto*//*Label 4946*/ GIMT_Encode4(213741), // Rule ID 6260 //
75690 /* 213719 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
75691 /* 213722 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75692 /* 213726 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75693 /* 213730 */ // (strict_fadd:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VADDPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
75694 /* 213730 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZrr),
75695 /* 213735 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75696 /* 213739 */ GIR_RootConstrainSelectedInstOperands,
75697 /* 213740 */ // GIR_Coverage, 6260,
75698 /* 213740 */ GIR_Done,
75699 /* 213741 */ // Label 4946: @213741
75700 /* 213741 */ GIM_Reject,
75701 /* 213742 */ // Label 4943: @213742
75702 /* 213742 */ GIM_Reject,
75703 /* 213743 */ // Label 4849: @213743
75704 /* 213743 */ GIM_Try, /*On fail goto*//*Label 4947*/ GIMT_Encode4(213902),
75705 /* 213748 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
75706 /* 213751 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
75707 /* 213754 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75708 /* 213758 */ GIM_Try, /*On fail goto*//*Label 4948*/ GIMT_Encode4(213816), // Rule ID 24393 //
75709 /* 213763 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
75710 /* 213766 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75711 /* 213770 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75712 /* 213774 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75713 /* 213777 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75714 /* 213781 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75715 /* 213785 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75716 /* 213789 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75717 /* 213791 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75718 /* 213798 */ // (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)
75719 /* 213798 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZrm),
75720 /* 213801 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75721 /* 213803 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75722 /* 213805 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75723 /* 213809 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75724 /* 213814 */ GIR_RootConstrainSelectedInstOperands,
75725 /* 213815 */ // GIR_Coverage, 24393,
75726 /* 213815 */ GIR_EraseRootFromParent_Done,
75727 /* 213816 */ // Label 4948: @213816
75728 /* 213816 */ GIM_Try, /*On fail goto*//*Label 4949*/ GIMT_Encode4(213874), // Rule ID 6336 //
75729 /* 213821 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
75730 /* 213824 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75731 /* 213828 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75732 /* 213832 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75733 /* 213836 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75734 /* 213839 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75735 /* 213843 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75736 /* 213847 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75737 /* 213849 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75738 /* 213856 */ // (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)
75739 /* 213856 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZrm),
75740 /* 213859 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75741 /* 213861 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75742 /* 213863 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75743 /* 213867 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75744 /* 213872 */ GIR_RootConstrainSelectedInstOperands,
75745 /* 213873 */ // GIR_Coverage, 6336,
75746 /* 213873 */ GIR_EraseRootFromParent_Done,
75747 /* 213874 */ // Label 4949: @213874
75748 /* 213874 */ GIM_Try, /*On fail goto*//*Label 4950*/ GIMT_Encode4(213901), // Rule ID 6332 //
75749 /* 213879 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
75750 /* 213882 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75751 /* 213886 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75752 /* 213890 */ // (strict_fadd:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VADDPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
75753 /* 213890 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZrr),
75754 /* 213895 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75755 /* 213899 */ GIR_RootConstrainSelectedInstOperands,
75756 /* 213900 */ // GIR_Coverage, 6332,
75757 /* 213900 */ GIR_Done,
75758 /* 213901 */ // Label 4950: @213901
75759 /* 213901 */ GIM_Reject,
75760 /* 213902 */ // Label 4947: @213902
75761 /* 213902 */ GIM_Reject,
75762 /* 213903 */ // Label 4850: @213903
75763 /* 213903 */ GIM_Reject,
75764 /* 213904 */ // Label 70: @213904
75765 /* 213904 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 4964*/ GIMT_Encode4(217593),
75766 /* 213915 */ /*GILLT_s16*//*Label 4951*/ GIMT_Encode4(213999),
75767 /* 213919 */ /*GILLT_s32*//*Label 4952*/ GIMT_Encode4(214097),
75768 /* 213923 */ /*GILLT_s64*//*Label 4953*/ GIMT_Encode4(214816),
75769 /* 213927 */ /*GILLT_s80*//*Label 4954*/ GIMT_Encode4(215679), GIMT_Encode4(0), GIMT_Encode4(0),
75770 /* 213939 */ /*GILLT_v2s64*//*Label 4955*/ GIMT_Encode4(216245), GIMT_Encode4(0),
75771 /* 213947 */ /*GILLT_v4s32*//*Label 4956*/ GIMT_Encode4(216475),
75772 /* 213951 */ /*GILLT_v4s64*//*Label 4957*/ GIMT_Encode4(216705), GIMT_Encode4(0),
75773 /* 213959 */ /*GILLT_v8s16*//*Label 4958*/ GIMT_Encode4(216904),
75774 /* 213963 */ /*GILLT_v8s32*//*Label 4959*/ GIMT_Encode4(217002),
75775 /* 213967 */ /*GILLT_v8s64*//*Label 4960*/ GIMT_Encode4(217201), GIMT_Encode4(0), GIMT_Encode4(0),
75776 /* 213979 */ /*GILLT_v16s16*//*Label 4961*/ GIMT_Encode4(217299),
75777 /* 213983 */ /*GILLT_v16s32*//*Label 4962*/ GIMT_Encode4(217397), GIMT_Encode4(0), GIMT_Encode4(0),
75778 /* 213995 */ /*GILLT_v32s16*//*Label 4963*/ GIMT_Encode4(217495),
75779 /* 213999 */ // Label 4951: @213999
75780 /* 213999 */ GIM_Try, /*On fail goto*//*Label 4965*/ GIMT_Encode4(214096),
75781 /* 214004 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
75782 /* 214007 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
75783 /* 214010 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
75784 /* 214014 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
75785 /* 214018 */ GIM_Try, /*On fail goto*//*Label 4966*/ GIMT_Encode4(214072), // Rule ID 6072 //
75786 /* 214023 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
75787 /* 214026 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75788 /* 214030 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75789 /* 214034 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75790 /* 214037 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75791 /* 214041 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75792 /* 214045 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75793 /* 214047 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75794 /* 214054 */ // (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)
75795 /* 214054 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSHZrm),
75796 /* 214057 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75797 /* 214059 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75798 /* 214061 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75799 /* 214065 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75800 /* 214070 */ GIR_RootConstrainSelectedInstOperands,
75801 /* 214071 */ // GIR_Coverage, 6072,
75802 /* 214071 */ GIR_EraseRootFromParent_Done,
75803 /* 214072 */ // Label 4966: @214072
75804 /* 214072 */ GIM_Try, /*On fail goto*//*Label 4967*/ GIMT_Encode4(214095), // Rule ID 6070 //
75805 /* 214077 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
75806 /* 214080 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
75807 /* 214084 */ // (strict_fsub:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VSUBSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
75808 /* 214084 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSHZrr),
75809 /* 214089 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75810 /* 214093 */ GIR_RootConstrainSelectedInstOperands,
75811 /* 214094 */ // GIR_Coverage, 6070,
75812 /* 214094 */ GIR_Done,
75813 /* 214095 */ // Label 4967: @214095
75814 /* 214095 */ GIM_Reject,
75815 /* 214096 */ // Label 4965: @214096
75816 /* 214096 */ GIM_Reject,
75817 /* 214097 */ // Label 4952: @214097
75818 /* 214097 */ GIM_Try, /*On fail goto*//*Label 4968*/ GIMT_Encode4(214815),
75819 /* 214102 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
75820 /* 214105 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
75821 /* 214108 */ GIM_Try, /*On fail goto*//*Label 4969*/ GIMT_Encode4(214173), // Rule ID 964 //
75822 /* 214113 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
75823 /* 214116 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75824 /* 214120 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75825 /* 214124 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75826 /* 214128 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
75827 /* 214135 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75828 /* 214139 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75829 /* 214143 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75830 /* 214145 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75831 /* 214152 */ // (strict_fsub:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (SUBR_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
75832 /* 214152 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m32),
75833 /* 214155 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75834 /* 214157 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75835 /* 214159 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75836 /* 214163 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75837 /* 214166 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75838 /* 214171 */ GIR_RootConstrainSelectedInstOperands,
75839 /* 214172 */ // GIR_Coverage, 964,
75840 /* 214172 */ GIR_EraseRootFromParent_Done,
75841 /* 214173 */ // Label 4969: @214173
75842 /* 214173 */ GIM_Try, /*On fail goto*//*Label 4970*/ GIMT_Encode4(214238), // Rule ID 966 //
75843 /* 214178 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
75844 /* 214181 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75845 /* 214185 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75846 /* 214189 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75847 /* 214193 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75848 /* 214200 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75849 /* 214204 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75850 /* 214208 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75851 /* 214210 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75852 /* 214217 */ // (strict_fsub:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (SUBR_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
75853 /* 214217 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m32),
75854 /* 214220 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75855 /* 214222 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75856 /* 214224 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75857 /* 214228 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75858 /* 214231 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75859 /* 214236 */ GIR_RootConstrainSelectedInstOperands,
75860 /* 214237 */ // GIR_Coverage, 966,
75861 /* 214237 */ GIR_EraseRootFromParent_Done,
75862 /* 214238 */ // Label 4970: @214238
75863 /* 214238 */ GIM_Try, /*On fail goto*//*Label 4971*/ GIMT_Encode4(214303), // Rule ID 954 //
75864 /* 214243 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
75865 /* 214246 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75866 /* 214250 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75867 /* 214254 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75868 /* 214258 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75869 /* 214261 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75870 /* 214265 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75871 /* 214269 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75872 /* 214273 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75873 /* 214275 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75874 /* 214282 */ // (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)
75875 /* 214282 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp32m),
75876 /* 214285 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75877 /* 214287 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75878 /* 214289 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75879 /* 214293 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75880 /* 214296 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75881 /* 214301 */ GIR_RootConstrainSelectedInstOperands,
75882 /* 214302 */ // GIR_Coverage, 954,
75883 /* 214302 */ GIR_EraseRootFromParent_Done,
75884 /* 214303 */ // Label 4971: @214303
75885 /* 214303 */ GIM_Try, /*On fail goto*//*Label 4972*/ GIMT_Encode4(214368), // Rule ID 942 //
75886 /* 214308 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
75887 /* 214311 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75888 /* 214315 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75889 /* 214319 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75890 /* 214323 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75891 /* 214327 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
75892 /* 214334 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75893 /* 214338 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75894 /* 214340 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75895 /* 214347 */ // (strict_fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
75896 /* 214347 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m32),
75897 /* 214350 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75898 /* 214352 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75899 /* 214354 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75900 /* 214358 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75901 /* 214361 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75902 /* 214366 */ GIR_RootConstrainSelectedInstOperands,
75903 /* 214367 */ // GIR_Coverage, 942,
75904 /* 214367 */ GIR_EraseRootFromParent_Done,
75905 /* 214368 */ // Label 4972: @214368
75906 /* 214368 */ GIM_Try, /*On fail goto*//*Label 4973*/ GIMT_Encode4(214433), // Rule ID 944 //
75907 /* 214373 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
75908 /* 214376 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75909 /* 214380 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75910 /* 214384 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75911 /* 214388 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75912 /* 214392 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75913 /* 214399 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75914 /* 214403 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75915 /* 214405 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75916 /* 214412 */ // (strict_fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
75917 /* 214412 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m32),
75918 /* 214415 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75919 /* 214417 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75920 /* 214419 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75921 /* 214423 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75922 /* 214426 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75923 /* 214431 */ GIR_RootConstrainSelectedInstOperands,
75924 /* 214432 */ // GIR_Coverage, 944,
75925 /* 214432 */ GIR_EraseRootFromParent_Done,
75926 /* 214433 */ // Label 4973: @214433
75927 /* 214433 */ GIM_Try, /*On fail goto*//*Label 4974*/ GIMT_Encode4(214498), // Rule ID 932 //
75928 /* 214438 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
75929 /* 214441 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75930 /* 214445 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75931 /* 214449 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75932 /* 214453 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75933 /* 214457 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75934 /* 214460 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75935 /* 214464 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75936 /* 214468 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75937 /* 214470 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75938 /* 214477 */ // (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)
75939 /* 214477 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp32m),
75940 /* 214480 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75941 /* 214482 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75942 /* 214484 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75943 /* 214488 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75944 /* 214491 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75945 /* 214496 */ GIR_RootConstrainSelectedInstOperands,
75946 /* 214497 */ // GIR_Coverage, 932,
75947 /* 214497 */ GIR_EraseRootFromParent_Done,
75948 /* 214498 */ // Label 4974: @214498
75949 /* 214498 */ GIM_Try, /*On fail goto*//*Label 4975*/ GIMT_Encode4(214560), // Rule ID 2240 //
75950 /* 214503 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
75951 /* 214506 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
75952 /* 214510 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
75953 /* 214514 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75954 /* 214518 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75955 /* 214522 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75956 /* 214525 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75957 /* 214529 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75958 /* 214533 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75959 /* 214535 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75960 /* 214542 */ // (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)
75961 /* 214542 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSrm),
75962 /* 214545 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75963 /* 214547 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75964 /* 214549 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75965 /* 214553 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75966 /* 214558 */ GIR_RootConstrainSelectedInstOperands,
75967 /* 214559 */ // GIR_Coverage, 2240,
75968 /* 214559 */ GIR_EraseRootFromParent_Done,
75969 /* 214560 */ // Label 4975: @214560
75970 /* 214560 */ GIM_Try, /*On fail goto*//*Label 4976*/ GIMT_Encode4(214622), // Rule ID 2248 //
75971 /* 214565 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
75972 /* 214568 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
75973 /* 214572 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
75974 /* 214576 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75975 /* 214580 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75976 /* 214584 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75977 /* 214587 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75978 /* 214591 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75979 /* 214595 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75980 /* 214597 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75981 /* 214604 */ // (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)
75982 /* 214604 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSSrm),
75983 /* 214607 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75984 /* 214609 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75985 /* 214611 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75986 /* 214615 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75987 /* 214620 */ GIR_RootConstrainSelectedInstOperands,
75988 /* 214621 */ // GIR_Coverage, 2248,
75989 /* 214621 */ GIR_EraseRootFromParent_Done,
75990 /* 214622 */ // Label 4976: @214622
75991 /* 214622 */ GIM_Try, /*On fail goto*//*Label 4977*/ GIMT_Encode4(214684), // Rule ID 6034 //
75992 /* 214627 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
75993 /* 214630 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
75994 /* 214634 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
75995 /* 214638 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75996 /* 214642 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75997 /* 214646 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75998 /* 214649 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75999 /* 214653 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76000 /* 214657 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76001 /* 214659 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76002 /* 214666 */ // (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)
76003 /* 214666 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrm),
76004 /* 214669 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76005 /* 214671 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76006 /* 214673 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76007 /* 214677 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76008 /* 214682 */ GIR_RootConstrainSelectedInstOperands,
76009 /* 214683 */ // GIR_Coverage, 6034,
76010 /* 214683 */ GIR_EraseRootFromParent_Done,
76011 /* 214684 */ // Label 4977: @214684
76012 /* 214684 */ GIM_Try, /*On fail goto*//*Label 4978*/ GIMT_Encode4(214721), // Rule ID 892 //
76013 /* 214689 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
76014 /* 214692 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76015 /* 214696 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76016 /* 214700 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76017 /* 214704 */ // (strict_fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (SUB_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
76018 /* 214704 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp32),
76019 /* 214709 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
76020 /* 214715 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
76021 /* 214719 */ GIR_RootConstrainSelectedInstOperands,
76022 /* 214720 */ // GIR_Coverage, 892,
76023 /* 214720 */ GIR_Done,
76024 /* 214721 */ // Label 4978: @214721
76025 /* 214721 */ GIM_Try, /*On fail goto*//*Label 4979*/ GIMT_Encode4(214752), // Rule ID 2238 //
76026 /* 214726 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
76027 /* 214729 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76028 /* 214733 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76029 /* 214737 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76030 /* 214741 */ // (strict_fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VSUBSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
76031 /* 214741 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSSrr),
76032 /* 214746 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76033 /* 214750 */ GIR_RootConstrainSelectedInstOperands,
76034 /* 214751 */ // GIR_Coverage, 2238,
76035 /* 214751 */ GIR_Done,
76036 /* 214752 */ // Label 4979: @214752
76037 /* 214752 */ GIM_Try, /*On fail goto*//*Label 4980*/ GIMT_Encode4(214783), // Rule ID 2246 //
76038 /* 214757 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
76039 /* 214760 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76040 /* 214764 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76041 /* 214768 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76042 /* 214772 */ // (strict_fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (SUBSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
76043 /* 214772 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBSSrr),
76044 /* 214777 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76045 /* 214781 */ GIR_RootConstrainSelectedInstOperands,
76046 /* 214782 */ // GIR_Coverage, 2246,
76047 /* 214782 */ GIR_Done,
76048 /* 214783 */ // Label 4980: @214783
76049 /* 214783 */ GIM_Try, /*On fail goto*//*Label 4981*/ GIMT_Encode4(214814), // Rule ID 6032 //
76050 /* 214788 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
76051 /* 214791 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
76052 /* 214795 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
76053 /* 214799 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
76054 /* 214803 */ // (strict_fsub:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VSUBSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
76055 /* 214803 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrr),
76056 /* 214808 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76057 /* 214812 */ GIR_RootConstrainSelectedInstOperands,
76058 /* 214813 */ // GIR_Coverage, 6032,
76059 /* 214813 */ GIR_Done,
76060 /* 214814 */ // Label 4981: @214814
76061 /* 214814 */ GIM_Reject,
76062 /* 214815 */ // Label 4968: @214815
76063 /* 214815 */ GIM_Reject,
76064 /* 214816 */ // Label 4953: @214816
76065 /* 214816 */ GIM_Try, /*On fail goto*//*Label 4982*/ GIMT_Encode4(215678),
76066 /* 214821 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
76067 /* 214824 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
76068 /* 214827 */ GIM_Try, /*On fail goto*//*Label 4983*/ GIMT_Encode4(214892), // Rule ID 968 //
76069 /* 214832 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
76070 /* 214835 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76071 /* 214839 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76072 /* 214843 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76073 /* 214847 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76074 /* 214854 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76075 /* 214858 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76076 /* 214862 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76077 /* 214864 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76078 /* 214871 */ // (strict_fsub:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (SUBR_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76079 /* 214871 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m64),
76080 /* 214874 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76081 /* 214876 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76082 /* 214878 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76083 /* 214882 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76084 /* 214885 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76085 /* 214890 */ GIR_RootConstrainSelectedInstOperands,
76086 /* 214891 */ // GIR_Coverage, 968,
76087 /* 214891 */ GIR_EraseRootFromParent_Done,
76088 /* 214892 */ // Label 4983: @214892
76089 /* 214892 */ GIM_Try, /*On fail goto*//*Label 4984*/ GIMT_Encode4(214957), // Rule ID 970 //
76090 /* 214897 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
76091 /* 214900 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76092 /* 214904 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76093 /* 214908 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76094 /* 214912 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76095 /* 214919 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76096 /* 214923 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76097 /* 214927 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76098 /* 214929 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76099 /* 214936 */ // (strict_fsub:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (SUBR_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76100 /* 214936 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m64),
76101 /* 214939 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76102 /* 214941 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76103 /* 214943 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76104 /* 214947 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76105 /* 214950 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76106 /* 214955 */ GIR_RootConstrainSelectedInstOperands,
76107 /* 214956 */ // GIR_Coverage, 970,
76108 /* 214956 */ GIR_EraseRootFromParent_Done,
76109 /* 214957 */ // Label 4984: @214957
76110 /* 214957 */ GIM_Try, /*On fail goto*//*Label 4985*/ GIMT_Encode4(215022), // Rule ID 956 //
76111 /* 214962 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
76112 /* 214965 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76113 /* 214969 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76114 /* 214973 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76115 /* 214977 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76116 /* 214980 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76117 /* 214984 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76118 /* 214988 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76119 /* 214992 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76120 /* 214994 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76121 /* 215001 */ // (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)
76122 /* 215001 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp64m),
76123 /* 215004 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76124 /* 215006 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76125 /* 215008 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76126 /* 215012 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76127 /* 215015 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76128 /* 215020 */ GIR_RootConstrainSelectedInstOperands,
76129 /* 215021 */ // GIR_Coverage, 956,
76130 /* 215021 */ GIR_EraseRootFromParent_Done,
76131 /* 215022 */ // Label 4985: @215022
76132 /* 215022 */ GIM_Try, /*On fail goto*//*Label 4986*/ GIMT_Encode4(215094), // Rule ID 958 //
76133 /* 215027 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
76134 /* 215030 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76135 /* 215034 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76136 /* 215038 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76137 /* 215042 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76138 /* 215045 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76139 /* 215049 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76140 /* 215056 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76141 /* 215060 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76142 /* 215064 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76143 /* 215066 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76144 /* 215073 */ // (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)
76145 /* 215073 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp64m32),
76146 /* 215076 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76147 /* 215078 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76148 /* 215080 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76149 /* 215084 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76150 /* 215087 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76151 /* 215092 */ GIR_RootConstrainSelectedInstOperands,
76152 /* 215093 */ // GIR_Coverage, 958,
76153 /* 215093 */ GIR_EraseRootFromParent_Done,
76154 /* 215094 */ // Label 4986: @215094
76155 /* 215094 */ GIM_Try, /*On fail goto*//*Label 4987*/ GIMT_Encode4(215159), // Rule ID 946 //
76156 /* 215099 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
76157 /* 215102 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76158 /* 215106 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76159 /* 215110 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76160 /* 215114 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76161 /* 215118 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76162 /* 215125 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76163 /* 215129 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76164 /* 215131 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76165 /* 215138 */ // (strict_fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76166 /* 215138 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m64),
76167 /* 215141 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76168 /* 215143 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76169 /* 215145 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76170 /* 215149 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76171 /* 215152 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76172 /* 215157 */ GIR_RootConstrainSelectedInstOperands,
76173 /* 215158 */ // GIR_Coverage, 946,
76174 /* 215158 */ GIR_EraseRootFromParent_Done,
76175 /* 215159 */ // Label 4987: @215159
76176 /* 215159 */ GIM_Try, /*On fail goto*//*Label 4988*/ GIMT_Encode4(215224), // Rule ID 948 //
76177 /* 215164 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
76178 /* 215167 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76179 /* 215171 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76180 /* 215175 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76181 /* 215179 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76182 /* 215183 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76183 /* 215190 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76184 /* 215194 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76185 /* 215196 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76186 /* 215203 */ // (strict_fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76187 /* 215203 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m64),
76188 /* 215206 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76189 /* 215208 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76190 /* 215210 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76191 /* 215214 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76192 /* 215217 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76193 /* 215222 */ GIR_RootConstrainSelectedInstOperands,
76194 /* 215223 */ // GIR_Coverage, 948,
76195 /* 215223 */ GIR_EraseRootFromParent_Done,
76196 /* 215224 */ // Label 4988: @215224
76197 /* 215224 */ GIM_Try, /*On fail goto*//*Label 4989*/ GIMT_Encode4(215289), // Rule ID 934 //
76198 /* 215229 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
76199 /* 215232 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76200 /* 215236 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76201 /* 215240 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76202 /* 215244 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76203 /* 215248 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76204 /* 215251 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76205 /* 215255 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76206 /* 215259 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76207 /* 215261 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76208 /* 215268 */ // (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)
76209 /* 215268 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64m),
76210 /* 215271 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76211 /* 215273 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76212 /* 215275 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76213 /* 215279 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76214 /* 215282 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76215 /* 215287 */ GIR_RootConstrainSelectedInstOperands,
76216 /* 215288 */ // GIR_Coverage, 934,
76217 /* 215288 */ GIR_EraseRootFromParent_Done,
76218 /* 215289 */ // Label 4989: @215289
76219 /* 215289 */ GIM_Try, /*On fail goto*//*Label 4990*/ GIMT_Encode4(215361), // Rule ID 936 //
76220 /* 215294 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
76221 /* 215297 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76222 /* 215301 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76223 /* 215305 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76224 /* 215309 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76225 /* 215313 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76226 /* 215316 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76227 /* 215320 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76228 /* 215327 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76229 /* 215331 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76230 /* 215333 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76231 /* 215340 */ // (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)
76232 /* 215340 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64m32),
76233 /* 215343 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76234 /* 215345 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76235 /* 215347 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76236 /* 215351 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76237 /* 215354 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76238 /* 215359 */ GIR_RootConstrainSelectedInstOperands,
76239 /* 215360 */ // GIR_Coverage, 936,
76240 /* 215360 */ GIR_EraseRootFromParent_Done,
76241 /* 215361 */ // Label 4990: @215361
76242 /* 215361 */ GIM_Try, /*On fail goto*//*Label 4991*/ GIMT_Encode4(215423), // Rule ID 2244 //
76243 /* 215366 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
76244 /* 215369 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76245 /* 215373 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76246 /* 215377 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76247 /* 215381 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76248 /* 215385 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76249 /* 215388 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76250 /* 215392 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76251 /* 215396 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76252 /* 215398 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76253 /* 215405 */ // (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)
76254 /* 215405 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDrm),
76255 /* 215408 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76256 /* 215410 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76257 /* 215412 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76258 /* 215416 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76259 /* 215421 */ GIR_RootConstrainSelectedInstOperands,
76260 /* 215422 */ // GIR_Coverage, 2244,
76261 /* 215422 */ GIR_EraseRootFromParent_Done,
76262 /* 215423 */ // Label 4991: @215423
76263 /* 215423 */ GIM_Try, /*On fail goto*//*Label 4992*/ GIMT_Encode4(215485), // Rule ID 2252 //
76264 /* 215428 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
76265 /* 215431 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76266 /* 215435 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76267 /* 215439 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76268 /* 215443 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76269 /* 215447 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76270 /* 215450 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76271 /* 215454 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76272 /* 215458 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76273 /* 215460 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76274 /* 215467 */ // (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)
76275 /* 215467 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSDrm),
76276 /* 215470 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76277 /* 215472 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76278 /* 215474 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76279 /* 215478 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76280 /* 215483 */ GIR_RootConstrainSelectedInstOperands,
76281 /* 215484 */ // GIR_Coverage, 2252,
76282 /* 215484 */ GIR_EraseRootFromParent_Done,
76283 /* 215485 */ // Label 4992: @215485
76284 /* 215485 */ GIM_Try, /*On fail goto*//*Label 4993*/ GIMT_Encode4(215547), // Rule ID 6053 //
76285 /* 215490 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
76286 /* 215493 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76287 /* 215497 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76288 /* 215501 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76289 /* 215505 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76290 /* 215509 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76291 /* 215512 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76292 /* 215516 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76293 /* 215520 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76294 /* 215522 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76295 /* 215529 */ // (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)
76296 /* 215529 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrm),
76297 /* 215532 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76298 /* 215534 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76299 /* 215536 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76300 /* 215540 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76301 /* 215545 */ GIR_RootConstrainSelectedInstOperands,
76302 /* 215546 */ // GIR_Coverage, 6053,
76303 /* 215546 */ GIR_EraseRootFromParent_Done,
76304 /* 215547 */ // Label 4993: @215547
76305 /* 215547 */ GIM_Try, /*On fail goto*//*Label 4994*/ GIMT_Encode4(215584), // Rule ID 894 //
76306 /* 215552 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
76307 /* 215555 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76308 /* 215559 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76309 /* 215563 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76310 /* 215567 */ // (strict_fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (SUB_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
76311 /* 215567 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64),
76312 /* 215572 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
76313 /* 215578 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
76314 /* 215582 */ GIR_RootConstrainSelectedInstOperands,
76315 /* 215583 */ // GIR_Coverage, 894,
76316 /* 215583 */ GIR_Done,
76317 /* 215584 */ // Label 4994: @215584
76318 /* 215584 */ GIM_Try, /*On fail goto*//*Label 4995*/ GIMT_Encode4(215615), // Rule ID 2242 //
76319 /* 215589 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
76320 /* 215592 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76321 /* 215596 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76322 /* 215600 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76323 /* 215604 */ // (strict_fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VSUBSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
76324 /* 215604 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSDrr),
76325 /* 215609 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76326 /* 215613 */ GIR_RootConstrainSelectedInstOperands,
76327 /* 215614 */ // GIR_Coverage, 2242,
76328 /* 215614 */ GIR_Done,
76329 /* 215615 */ // Label 4995: @215615
76330 /* 215615 */ GIM_Try, /*On fail goto*//*Label 4996*/ GIMT_Encode4(215646), // Rule ID 2250 //
76331 /* 215620 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
76332 /* 215623 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76333 /* 215627 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76334 /* 215631 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76335 /* 215635 */ // (strict_fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (SUBSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
76336 /* 215635 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBSDrr),
76337 /* 215640 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76338 /* 215644 */ GIR_RootConstrainSelectedInstOperands,
76339 /* 215645 */ // GIR_Coverage, 2250,
76340 /* 215645 */ GIR_Done,
76341 /* 215646 */ // Label 4996: @215646
76342 /* 215646 */ GIM_Try, /*On fail goto*//*Label 4997*/ GIMT_Encode4(215677), // Rule ID 6051 //
76343 /* 215651 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
76344 /* 215654 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76345 /* 215658 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76346 /* 215662 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76347 /* 215666 */ // (strict_fsub:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VSUBSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
76348 /* 215666 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrr),
76349 /* 215671 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76350 /* 215675 */ GIR_RootConstrainSelectedInstOperands,
76351 /* 215676 */ // GIR_Coverage, 6051,
76352 /* 215676 */ GIR_Done,
76353 /* 215677 */ // Label 4997: @215677
76354 /* 215677 */ GIM_Reject,
76355 /* 215678 */ // Label 4982: @215678
76356 /* 215678 */ GIM_Reject,
76357 /* 215679 */ // Label 4954: @215679
76358 /* 215679 */ GIM_Try, /*On fail goto*//*Label 4998*/ GIMT_Encode4(216244),
76359 /* 215684 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
76360 /* 215687 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
76361 /* 215690 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76362 /* 215694 */ GIM_Try, /*On fail goto*//*Label 4999*/ GIMT_Encode4(215755), // Rule ID 972 //
76363 /* 215699 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76364 /* 215702 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76365 /* 215706 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76366 /* 215710 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76367 /* 215717 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76368 /* 215721 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76369 /* 215725 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76370 /* 215727 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76371 /* 215734 */ // (strict_fsub:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (SUBR_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
76372 /* 215734 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m80),
76373 /* 215737 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76374 /* 215739 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76375 /* 215741 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76376 /* 215745 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76377 /* 215748 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76378 /* 215753 */ GIR_RootConstrainSelectedInstOperands,
76379 /* 215754 */ // GIR_Coverage, 972,
76380 /* 215754 */ GIR_EraseRootFromParent_Done,
76381 /* 215755 */ // Label 4999: @215755
76382 /* 215755 */ GIM_Try, /*On fail goto*//*Label 5000*/ GIMT_Encode4(215816), // Rule ID 974 //
76383 /* 215760 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76384 /* 215763 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76385 /* 215767 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76386 /* 215771 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76387 /* 215778 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76388 /* 215782 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76389 /* 215786 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76390 /* 215788 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76391 /* 215795 */ // (strict_fsub:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (SUBR_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
76392 /* 215795 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m80),
76393 /* 215798 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76394 /* 215800 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76395 /* 215802 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76396 /* 215806 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76397 /* 215809 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76398 /* 215814 */ GIR_RootConstrainSelectedInstOperands,
76399 /* 215815 */ // GIR_Coverage, 974,
76400 /* 215815 */ GIR_EraseRootFromParent_Done,
76401 /* 215816 */ // Label 5000: @215816
76402 /* 215816 */ GIM_Try, /*On fail goto*//*Label 5001*/ GIMT_Encode4(215884), // Rule ID 960 //
76403 /* 215821 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76404 /* 215824 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76405 /* 215828 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76406 /* 215832 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76407 /* 215835 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76408 /* 215839 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76409 /* 215846 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76410 /* 215850 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76411 /* 215854 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76412 /* 215856 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76413 /* 215863 */ // (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)
76414 /* 215863 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp80m32),
76415 /* 215866 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76416 /* 215868 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76417 /* 215870 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76418 /* 215874 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76419 /* 215877 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76420 /* 215882 */ GIR_RootConstrainSelectedInstOperands,
76421 /* 215883 */ // GIR_Coverage, 960,
76422 /* 215883 */ GIR_EraseRootFromParent_Done,
76423 /* 215884 */ // Label 5001: @215884
76424 /* 215884 */ GIM_Try, /*On fail goto*//*Label 5002*/ GIMT_Encode4(215952), // Rule ID 962 //
76425 /* 215889 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76426 /* 215892 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76427 /* 215896 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76428 /* 215900 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76429 /* 215903 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76430 /* 215907 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
76431 /* 215914 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76432 /* 215918 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76433 /* 215922 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76434 /* 215924 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76435 /* 215931 */ // (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)
76436 /* 215931 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp80m64),
76437 /* 215934 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76438 /* 215936 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76439 /* 215938 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76440 /* 215942 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76441 /* 215945 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76442 /* 215950 */ GIR_RootConstrainSelectedInstOperands,
76443 /* 215951 */ // GIR_Coverage, 962,
76444 /* 215951 */ GIR_EraseRootFromParent_Done,
76445 /* 215952 */ // Label 5002: @215952
76446 /* 215952 */ GIM_Try, /*On fail goto*//*Label 5003*/ GIMT_Encode4(216013), // Rule ID 950 //
76447 /* 215957 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76448 /* 215960 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76449 /* 215964 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76450 /* 215968 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76451 /* 215972 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76452 /* 215979 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76453 /* 215983 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76454 /* 215985 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76455 /* 215992 */ // (strict_fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
76456 /* 215992 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m80),
76457 /* 215995 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76458 /* 215997 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76459 /* 215999 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76460 /* 216003 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76461 /* 216006 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76462 /* 216011 */ GIR_RootConstrainSelectedInstOperands,
76463 /* 216012 */ // GIR_Coverage, 950,
76464 /* 216012 */ GIR_EraseRootFromParent_Done,
76465 /* 216013 */ // Label 5003: @216013
76466 /* 216013 */ GIM_Try, /*On fail goto*//*Label 5004*/ GIMT_Encode4(216074), // Rule ID 952 //
76467 /* 216018 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76468 /* 216021 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76469 /* 216025 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76470 /* 216029 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76471 /* 216033 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76472 /* 216040 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76473 /* 216044 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76474 /* 216046 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76475 /* 216053 */ // (strict_fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
76476 /* 216053 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m80),
76477 /* 216056 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76478 /* 216058 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76479 /* 216060 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76480 /* 216064 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76481 /* 216067 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76482 /* 216072 */ GIR_RootConstrainSelectedInstOperands,
76483 /* 216073 */ // GIR_Coverage, 952,
76484 /* 216073 */ GIR_EraseRootFromParent_Done,
76485 /* 216074 */ // Label 5004: @216074
76486 /* 216074 */ GIM_Try, /*On fail goto*//*Label 5005*/ GIMT_Encode4(216142), // Rule ID 938 //
76487 /* 216079 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76488 /* 216082 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76489 /* 216086 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76490 /* 216090 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76491 /* 216094 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76492 /* 216097 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76493 /* 216101 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76494 /* 216108 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76495 /* 216112 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76496 /* 216114 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76497 /* 216121 */ // (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)
76498 /* 216121 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80m32),
76499 /* 216124 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76500 /* 216126 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76501 /* 216128 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76502 /* 216132 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76503 /* 216135 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76504 /* 216140 */ GIR_RootConstrainSelectedInstOperands,
76505 /* 216141 */ // GIR_Coverage, 938,
76506 /* 216141 */ GIR_EraseRootFromParent_Done,
76507 /* 216142 */ // Label 5005: @216142
76508 /* 216142 */ GIM_Try, /*On fail goto*//*Label 5006*/ GIMT_Encode4(216210), // Rule ID 940 //
76509 /* 216147 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76510 /* 216150 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76511 /* 216154 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76512 /* 216158 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76513 /* 216162 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76514 /* 216165 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76515 /* 216169 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
76516 /* 216176 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76517 /* 216180 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76518 /* 216182 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76519 /* 216189 */ // (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)
76520 /* 216189 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80m64),
76521 /* 216192 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76522 /* 216194 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76523 /* 216196 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76524 /* 216200 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76525 /* 216203 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76526 /* 216208 */ GIR_RootConstrainSelectedInstOperands,
76527 /* 216209 */ // GIR_Coverage, 940,
76528 /* 216209 */ GIR_EraseRootFromParent_Done,
76529 /* 216210 */ // Label 5006: @216210
76530 /* 216210 */ GIM_Try, /*On fail goto*//*Label 5007*/ GIMT_Encode4(216243), // Rule ID 896 //
76531 /* 216215 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76532 /* 216218 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76533 /* 216222 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76534 /* 216226 */ // (strict_fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (SUB_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
76535 /* 216226 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80),
76536 /* 216231 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
76537 /* 216237 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
76538 /* 216241 */ GIR_RootConstrainSelectedInstOperands,
76539 /* 216242 */ // GIR_Coverage, 896,
76540 /* 216242 */ GIR_Done,
76541 /* 216243 */ // Label 5007: @216243
76542 /* 216243 */ GIM_Reject,
76543 /* 216244 */ // Label 4998: @216244
76544 /* 216244 */ GIM_Reject,
76545 /* 216245 */ // Label 4955: @216245
76546 /* 216245 */ GIM_Try, /*On fail goto*//*Label 5008*/ GIMT_Encode4(216474),
76547 /* 216250 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
76548 /* 216253 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
76549 /* 216256 */ GIM_Try, /*On fail goto*//*Label 5009*/ GIMT_Encode4(216318), // Rule ID 2220 //
76550 /* 216261 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
76551 /* 216264 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76552 /* 216268 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76553 /* 216272 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76554 /* 216276 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76555 /* 216280 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76556 /* 216283 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76557 /* 216287 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76558 /* 216291 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76559 /* 216293 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76560 /* 216300 */ // (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)
76561 /* 216300 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDrm),
76562 /* 216303 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76563 /* 216305 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76564 /* 216307 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76565 /* 216311 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76566 /* 216316 */ GIR_RootConstrainSelectedInstOperands,
76567 /* 216317 */ // GIR_Coverage, 2220,
76568 /* 216317 */ GIR_EraseRootFromParent_Done,
76569 /* 216318 */ // Label 5009: @216318
76570 /* 216318 */ GIM_Try, /*On fail goto*//*Label 5010*/ GIMT_Encode4(216380), // Rule ID 6546 //
76571 /* 216323 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
76572 /* 216326 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76573 /* 216330 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76574 /* 216334 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76575 /* 216338 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76576 /* 216342 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76577 /* 216345 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76578 /* 216349 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76579 /* 216353 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76580 /* 216355 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76581 /* 216362 */ // (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)
76582 /* 216362 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ128rm),
76583 /* 216365 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76584 /* 216367 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76585 /* 216369 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76586 /* 216373 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76587 /* 216378 */ GIR_RootConstrainSelectedInstOperands,
76588 /* 216379 */ // GIR_Coverage, 6546,
76589 /* 216379 */ GIR_EraseRootFromParent_Done,
76590 /* 216380 */ // Label 5010: @216380
76591 /* 216380 */ GIM_Try, /*On fail goto*//*Label 5011*/ GIMT_Encode4(216411), // Rule ID 2218 //
76592 /* 216385 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
76593 /* 216388 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76594 /* 216392 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76595 /* 216396 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76596 /* 216400 */ // (strict_fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VSUBPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
76597 /* 216400 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDrr),
76598 /* 216405 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76599 /* 216409 */ GIR_RootConstrainSelectedInstOperands,
76600 /* 216410 */ // GIR_Coverage, 2218,
76601 /* 216410 */ GIR_Done,
76602 /* 216411 */ // Label 5011: @216411
76603 /* 216411 */ GIM_Try, /*On fail goto*//*Label 5012*/ GIMT_Encode4(216442), // Rule ID 2234 //
76604 /* 216416 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
76605 /* 216419 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76606 /* 216423 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76607 /* 216427 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76608 /* 216431 */ // (strict_fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (SUBPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
76609 /* 216431 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBPDrr),
76610 /* 216436 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76611 /* 216440 */ GIR_RootConstrainSelectedInstOperands,
76612 /* 216441 */ // GIR_Coverage, 2234,
76613 /* 216441 */ GIR_Done,
76614 /* 216442 */ // Label 5012: @216442
76615 /* 216442 */ GIM_Try, /*On fail goto*//*Label 5013*/ GIMT_Encode4(216473), // Rule ID 6542 //
76616 /* 216447 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
76617 /* 216450 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76618 /* 216454 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76619 /* 216458 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76620 /* 216462 */ // (strict_fsub:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VSUBPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
76621 /* 216462 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ128rr),
76622 /* 216467 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76623 /* 216471 */ GIR_RootConstrainSelectedInstOperands,
76624 /* 216472 */ // GIR_Coverage, 6542,
76625 /* 216472 */ GIR_Done,
76626 /* 216473 */ // Label 5013: @216473
76627 /* 216473 */ GIM_Reject,
76628 /* 216474 */ // Label 5008: @216474
76629 /* 216474 */ GIM_Reject,
76630 /* 216475 */ // Label 4956: @216475
76631 /* 216475 */ GIM_Try, /*On fail goto*//*Label 5014*/ GIMT_Encode4(216704),
76632 /* 216480 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
76633 /* 216483 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
76634 /* 216486 */ GIM_Try, /*On fail goto*//*Label 5015*/ GIMT_Encode4(216548), // Rule ID 2216 //
76635 /* 216491 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
76636 /* 216494 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76637 /* 216498 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76638 /* 216502 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76639 /* 216506 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76640 /* 216510 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76641 /* 216513 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76642 /* 216517 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76643 /* 216521 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76644 /* 216523 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76645 /* 216530 */ // (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)
76646 /* 216530 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSrm),
76647 /* 216533 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76648 /* 216535 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76649 /* 216537 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76650 /* 216541 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76651 /* 216546 */ GIR_RootConstrainSelectedInstOperands,
76652 /* 216547 */ // GIR_Coverage, 2216,
76653 /* 216547 */ GIR_EraseRootFromParent_Done,
76654 /* 216548 */ // Label 5015: @216548
76655 /* 216548 */ GIM_Try, /*On fail goto*//*Label 5016*/ GIMT_Encode4(216610), // Rule ID 6522 //
76656 /* 216553 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
76657 /* 216556 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76658 /* 216560 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76659 /* 216564 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76660 /* 216568 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76661 /* 216572 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76662 /* 216575 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76663 /* 216579 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76664 /* 216583 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76665 /* 216585 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76666 /* 216592 */ // (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)
76667 /* 216592 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ128rm),
76668 /* 216595 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76669 /* 216597 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76670 /* 216599 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76671 /* 216603 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76672 /* 216608 */ GIR_RootConstrainSelectedInstOperands,
76673 /* 216609 */ // GIR_Coverage, 6522,
76674 /* 216609 */ GIR_EraseRootFromParent_Done,
76675 /* 216610 */ // Label 5016: @216610
76676 /* 216610 */ GIM_Try, /*On fail goto*//*Label 5017*/ GIMT_Encode4(216641), // Rule ID 2214 //
76677 /* 216615 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
76678 /* 216618 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76679 /* 216622 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76680 /* 216626 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76681 /* 216630 */ // (strict_fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VSUBPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
76682 /* 216630 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSrr),
76683 /* 216635 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76684 /* 216639 */ GIR_RootConstrainSelectedInstOperands,
76685 /* 216640 */ // GIR_Coverage, 2214,
76686 /* 216640 */ GIR_Done,
76687 /* 216641 */ // Label 5017: @216641
76688 /* 216641 */ GIM_Try, /*On fail goto*//*Label 5018*/ GIMT_Encode4(216672), // Rule ID 2230 //
76689 /* 216646 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
76690 /* 216649 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76691 /* 216653 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76692 /* 216657 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76693 /* 216661 */ // (strict_fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (SUBPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
76694 /* 216661 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBPSrr),
76695 /* 216666 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76696 /* 216670 */ GIR_RootConstrainSelectedInstOperands,
76697 /* 216671 */ // GIR_Coverage, 2230,
76698 /* 216671 */ GIR_Done,
76699 /* 216672 */ // Label 5018: @216672
76700 /* 216672 */ GIM_Try, /*On fail goto*//*Label 5019*/ GIMT_Encode4(216703), // Rule ID 6518 //
76701 /* 216677 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
76702 /* 216680 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76703 /* 216684 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76704 /* 216688 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76705 /* 216692 */ // (strict_fsub:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VSUBPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
76706 /* 216692 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ128rr),
76707 /* 216697 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76708 /* 216701 */ GIR_RootConstrainSelectedInstOperands,
76709 /* 216702 */ // GIR_Coverage, 6518,
76710 /* 216702 */ GIR_Done,
76711 /* 216703 */ // Label 5019: @216703
76712 /* 216703 */ GIM_Reject,
76713 /* 216704 */ // Label 5014: @216704
76714 /* 216704 */ GIM_Reject,
76715 /* 216705 */ // Label 4957: @216705
76716 /* 216705 */ GIM_Try, /*On fail goto*//*Label 5020*/ GIMT_Encode4(216903),
76717 /* 216710 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
76718 /* 216713 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
76719 /* 216716 */ GIM_Try, /*On fail goto*//*Label 5021*/ GIMT_Encode4(216778), // Rule ID 2228 //
76720 /* 216721 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
76721 /* 216724 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
76722 /* 216728 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
76723 /* 216732 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76724 /* 216736 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76725 /* 216740 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76726 /* 216743 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76727 /* 216747 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76728 /* 216751 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76729 /* 216753 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76730 /* 216760 */ // (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)
76731 /* 216760 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDYrm),
76732 /* 216763 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76733 /* 216765 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76734 /* 216767 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76735 /* 216771 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76736 /* 216776 */ GIR_RootConstrainSelectedInstOperands,
76737 /* 216777 */ // GIR_Coverage, 2228,
76738 /* 216777 */ GIR_EraseRootFromParent_Done,
76739 /* 216778 */ // Label 5021: @216778
76740 /* 216778 */ GIM_Try, /*On fail goto*//*Label 5022*/ GIMT_Encode4(216840), // Rule ID 6558 //
76741 /* 216783 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
76742 /* 216786 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76743 /* 216790 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76744 /* 216794 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76745 /* 216798 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76746 /* 216802 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76747 /* 216805 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76748 /* 216809 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76749 /* 216813 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76750 /* 216815 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76751 /* 216822 */ // (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)
76752 /* 216822 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ256rm),
76753 /* 216825 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76754 /* 216827 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76755 /* 216829 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76756 /* 216833 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76757 /* 216838 */ GIR_RootConstrainSelectedInstOperands,
76758 /* 216839 */ // GIR_Coverage, 6558,
76759 /* 216839 */ GIR_EraseRootFromParent_Done,
76760 /* 216840 */ // Label 5022: @216840
76761 /* 216840 */ GIM_Try, /*On fail goto*//*Label 5023*/ GIMT_Encode4(216871), // Rule ID 2226 //
76762 /* 216845 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
76763 /* 216848 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
76764 /* 216852 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
76765 /* 216856 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
76766 /* 216860 */ // (strict_fsub:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VSUBPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
76767 /* 216860 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDYrr),
76768 /* 216865 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76769 /* 216869 */ GIR_RootConstrainSelectedInstOperands,
76770 /* 216870 */ // GIR_Coverage, 2226,
76771 /* 216870 */ GIR_Done,
76772 /* 216871 */ // Label 5023: @216871
76773 /* 216871 */ GIM_Try, /*On fail goto*//*Label 5024*/ GIMT_Encode4(216902), // Rule ID 6554 //
76774 /* 216876 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
76775 /* 216879 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76776 /* 216883 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76777 /* 216887 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76778 /* 216891 */ // (strict_fsub:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VSUBPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
76779 /* 216891 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ256rr),
76780 /* 216896 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76781 /* 216900 */ GIR_RootConstrainSelectedInstOperands,
76782 /* 216901 */ // GIR_Coverage, 6554,
76783 /* 216901 */ GIR_Done,
76784 /* 216902 */ // Label 5024: @216902
76785 /* 216902 */ GIM_Reject,
76786 /* 216903 */ // Label 5020: @216903
76787 /* 216903 */ GIM_Reject,
76788 /* 216904 */ // Label 4958: @216904
76789 /* 216904 */ GIM_Try, /*On fail goto*//*Label 5025*/ GIMT_Encode4(217001),
76790 /* 216909 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
76791 /* 216912 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
76792 /* 216915 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76793 /* 216919 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76794 /* 216923 */ GIM_Try, /*On fail goto*//*Label 5026*/ GIMT_Encode4(216977), // Rule ID 6582 //
76795 /* 216928 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
76796 /* 216931 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76797 /* 216935 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76798 /* 216939 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76799 /* 216942 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76800 /* 216946 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76801 /* 216950 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76802 /* 216952 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76803 /* 216959 */ // (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)
76804 /* 216959 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ128rm),
76805 /* 216962 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76806 /* 216964 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76807 /* 216966 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76808 /* 216970 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76809 /* 216975 */ GIR_RootConstrainSelectedInstOperands,
76810 /* 216976 */ // GIR_Coverage, 6582,
76811 /* 216976 */ GIR_EraseRootFromParent_Done,
76812 /* 216977 */ // Label 5026: @216977
76813 /* 216977 */ GIM_Try, /*On fail goto*//*Label 5027*/ GIMT_Encode4(217000), // Rule ID 6578 //
76814 /* 216982 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
76815 /* 216985 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76816 /* 216989 */ // (strict_fsub:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VSUBPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
76817 /* 216989 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ128rr),
76818 /* 216994 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76819 /* 216998 */ GIR_RootConstrainSelectedInstOperands,
76820 /* 216999 */ // GIR_Coverage, 6578,
76821 /* 216999 */ GIR_Done,
76822 /* 217000 */ // Label 5027: @217000
76823 /* 217000 */ GIM_Reject,
76824 /* 217001 */ // Label 5025: @217001
76825 /* 217001 */ GIM_Reject,
76826 /* 217002 */ // Label 4959: @217002
76827 /* 217002 */ GIM_Try, /*On fail goto*//*Label 5028*/ GIMT_Encode4(217200),
76828 /* 217007 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
76829 /* 217010 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
76830 /* 217013 */ GIM_Try, /*On fail goto*//*Label 5029*/ GIMT_Encode4(217075), // Rule ID 2224 //
76831 /* 217018 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
76832 /* 217021 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
76833 /* 217025 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
76834 /* 217029 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76835 /* 217033 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76836 /* 217037 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76837 /* 217040 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76838 /* 217044 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76839 /* 217048 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76840 /* 217050 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76841 /* 217057 */ // (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)
76842 /* 217057 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSYrm),
76843 /* 217060 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76844 /* 217062 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76845 /* 217064 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76846 /* 217068 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76847 /* 217073 */ GIR_RootConstrainSelectedInstOperands,
76848 /* 217074 */ // GIR_Coverage, 2224,
76849 /* 217074 */ GIR_EraseRootFromParent_Done,
76850 /* 217075 */ // Label 5029: @217075
76851 /* 217075 */ GIM_Try, /*On fail goto*//*Label 5030*/ GIMT_Encode4(217137), // Rule ID 6534 //
76852 /* 217080 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
76853 /* 217083 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76854 /* 217087 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76855 /* 217091 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76856 /* 217095 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76857 /* 217099 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76858 /* 217102 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76859 /* 217106 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76860 /* 217110 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76861 /* 217112 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76862 /* 217119 */ // (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)
76863 /* 217119 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ256rm),
76864 /* 217122 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76865 /* 217124 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76866 /* 217126 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76867 /* 217130 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76868 /* 217135 */ GIR_RootConstrainSelectedInstOperands,
76869 /* 217136 */ // GIR_Coverage, 6534,
76870 /* 217136 */ GIR_EraseRootFromParent_Done,
76871 /* 217137 */ // Label 5030: @217137
76872 /* 217137 */ GIM_Try, /*On fail goto*//*Label 5031*/ GIMT_Encode4(217168), // Rule ID 2222 //
76873 /* 217142 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
76874 /* 217145 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
76875 /* 217149 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
76876 /* 217153 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
76877 /* 217157 */ // (strict_fsub:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VSUBPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
76878 /* 217157 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSYrr),
76879 /* 217162 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76880 /* 217166 */ GIR_RootConstrainSelectedInstOperands,
76881 /* 217167 */ // GIR_Coverage, 2222,
76882 /* 217167 */ GIR_Done,
76883 /* 217168 */ // Label 5031: @217168
76884 /* 217168 */ GIM_Try, /*On fail goto*//*Label 5032*/ GIMT_Encode4(217199), // Rule ID 6530 //
76885 /* 217173 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
76886 /* 217176 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76887 /* 217180 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76888 /* 217184 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76889 /* 217188 */ // (strict_fsub:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VSUBPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
76890 /* 217188 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ256rr),
76891 /* 217193 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76892 /* 217197 */ GIR_RootConstrainSelectedInstOperands,
76893 /* 217198 */ // GIR_Coverage, 6530,
76894 /* 217198 */ GIR_Done,
76895 /* 217199 */ // Label 5032: @217199
76896 /* 217199 */ GIM_Reject,
76897 /* 217200 */ // Label 5028: @217200
76898 /* 217200 */ GIM_Reject,
76899 /* 217201 */ // Label 4960: @217201
76900 /* 217201 */ GIM_Try, /*On fail goto*//*Label 5033*/ GIMT_Encode4(217298),
76901 /* 217206 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
76902 /* 217209 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
76903 /* 217212 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76904 /* 217216 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76905 /* 217220 */ GIM_Try, /*On fail goto*//*Label 5034*/ GIMT_Encode4(217274), // Rule ID 6510 //
76906 /* 217225 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
76907 /* 217228 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76908 /* 217232 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76909 /* 217236 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76910 /* 217239 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76911 /* 217243 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76912 /* 217247 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76913 /* 217249 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76914 /* 217256 */ // (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)
76915 /* 217256 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZrm),
76916 /* 217259 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76917 /* 217261 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76918 /* 217263 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76919 /* 217267 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76920 /* 217272 */ GIR_RootConstrainSelectedInstOperands,
76921 /* 217273 */ // GIR_Coverage, 6510,
76922 /* 217273 */ GIR_EraseRootFromParent_Done,
76923 /* 217274 */ // Label 5034: @217274
76924 /* 217274 */ GIM_Try, /*On fail goto*//*Label 5035*/ GIMT_Encode4(217297), // Rule ID 6506 //
76925 /* 217279 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
76926 /* 217282 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76927 /* 217286 */ // (strict_fsub:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VSUBPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
76928 /* 217286 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZrr),
76929 /* 217291 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76930 /* 217295 */ GIR_RootConstrainSelectedInstOperands,
76931 /* 217296 */ // GIR_Coverage, 6506,
76932 /* 217296 */ GIR_Done,
76933 /* 217297 */ // Label 5035: @217297
76934 /* 217297 */ GIM_Reject,
76935 /* 217298 */ // Label 5033: @217298
76936 /* 217298 */ GIM_Reject,
76937 /* 217299 */ // Label 4961: @217299
76938 /* 217299 */ GIM_Try, /*On fail goto*//*Label 5036*/ GIMT_Encode4(217396),
76939 /* 217304 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
76940 /* 217307 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
76941 /* 217310 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76942 /* 217314 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76943 /* 217318 */ GIM_Try, /*On fail goto*//*Label 5037*/ GIMT_Encode4(217372), // Rule ID 6594 //
76944 /* 217323 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
76945 /* 217326 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76946 /* 217330 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76947 /* 217334 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76948 /* 217337 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76949 /* 217341 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76950 /* 217345 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76951 /* 217347 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76952 /* 217354 */ // (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)
76953 /* 217354 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ256rm),
76954 /* 217357 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76955 /* 217359 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76956 /* 217361 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76957 /* 217365 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76958 /* 217370 */ GIR_RootConstrainSelectedInstOperands,
76959 /* 217371 */ // GIR_Coverage, 6594,
76960 /* 217371 */ GIR_EraseRootFromParent_Done,
76961 /* 217372 */ // Label 5037: @217372
76962 /* 217372 */ GIM_Try, /*On fail goto*//*Label 5038*/ GIMT_Encode4(217395), // Rule ID 6590 //
76963 /* 217377 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
76964 /* 217380 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76965 /* 217384 */ // (strict_fsub:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VSUBPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
76966 /* 217384 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ256rr),
76967 /* 217389 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76968 /* 217393 */ GIR_RootConstrainSelectedInstOperands,
76969 /* 217394 */ // GIR_Coverage, 6590,
76970 /* 217394 */ GIR_Done,
76971 /* 217395 */ // Label 5038: @217395
76972 /* 217395 */ GIM_Reject,
76973 /* 217396 */ // Label 5036: @217396
76974 /* 217396 */ GIM_Reject,
76975 /* 217397 */ // Label 4962: @217397
76976 /* 217397 */ GIM_Try, /*On fail goto*//*Label 5039*/ GIMT_Encode4(217494),
76977 /* 217402 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
76978 /* 217405 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
76979 /* 217408 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76980 /* 217412 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76981 /* 217416 */ GIM_Try, /*On fail goto*//*Label 5040*/ GIMT_Encode4(217470), // Rule ID 6498 //
76982 /* 217421 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
76983 /* 217424 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76984 /* 217428 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76985 /* 217432 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76986 /* 217435 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76987 /* 217439 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76988 /* 217443 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76989 /* 217445 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76990 /* 217452 */ // (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)
76991 /* 217452 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZrm),
76992 /* 217455 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76993 /* 217457 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76994 /* 217459 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76995 /* 217463 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76996 /* 217468 */ GIR_RootConstrainSelectedInstOperands,
76997 /* 217469 */ // GIR_Coverage, 6498,
76998 /* 217469 */ GIR_EraseRootFromParent_Done,
76999 /* 217470 */ // Label 5040: @217470
77000 /* 217470 */ GIM_Try, /*On fail goto*//*Label 5041*/ GIMT_Encode4(217493), // Rule ID 6494 //
77001 /* 217475 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
77002 /* 217478 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77003 /* 217482 */ // (strict_fsub:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VSUBPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
77004 /* 217482 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZrr),
77005 /* 217487 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77006 /* 217491 */ GIR_RootConstrainSelectedInstOperands,
77007 /* 217492 */ // GIR_Coverage, 6494,
77008 /* 217492 */ GIR_Done,
77009 /* 217493 */ // Label 5041: @217493
77010 /* 217493 */ GIM_Reject,
77011 /* 217494 */ // Label 5039: @217494
77012 /* 217494 */ GIM_Reject,
77013 /* 217495 */ // Label 4963: @217495
77014 /* 217495 */ GIM_Try, /*On fail goto*//*Label 5042*/ GIMT_Encode4(217592),
77015 /* 217500 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
77016 /* 217503 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
77017 /* 217506 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77018 /* 217510 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77019 /* 217514 */ GIM_Try, /*On fail goto*//*Label 5043*/ GIMT_Encode4(217568), // Rule ID 6570 //
77020 /* 217519 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
77021 /* 217522 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77022 /* 217526 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77023 /* 217530 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77024 /* 217533 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77025 /* 217537 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77026 /* 217541 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77027 /* 217543 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77028 /* 217550 */ // (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)
77029 /* 217550 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZrm),
77030 /* 217553 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77031 /* 217555 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77032 /* 217557 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77033 /* 217561 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77034 /* 217566 */ GIR_RootConstrainSelectedInstOperands,
77035 /* 217567 */ // GIR_Coverage, 6570,
77036 /* 217567 */ GIR_EraseRootFromParent_Done,
77037 /* 217568 */ // Label 5043: @217568
77038 /* 217568 */ GIM_Try, /*On fail goto*//*Label 5044*/ GIMT_Encode4(217591), // Rule ID 6566 //
77039 /* 217573 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
77040 /* 217576 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77041 /* 217580 */ // (strict_fsub:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VSUBPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
77042 /* 217580 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZrr),
77043 /* 217585 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77044 /* 217589 */ GIR_RootConstrainSelectedInstOperands,
77045 /* 217590 */ // GIR_Coverage, 6566,
77046 /* 217590 */ GIR_Done,
77047 /* 217591 */ // Label 5044: @217591
77048 /* 217591 */ GIM_Reject,
77049 /* 217592 */ // Label 5042: @217592
77050 /* 217592 */ GIM_Reject,
77051 /* 217593 */ // Label 4964: @217593
77052 /* 217593 */ GIM_Reject,
77053 /* 217594 */ // Label 71: @217594
77054 /* 217594 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 5058*/ GIMT_Encode4(222523),
77055 /* 217605 */ /*GILLT_s16*//*Label 5045*/ GIMT_Encode4(217689),
77056 /* 217609 */ /*GILLT_s32*//*Label 5046*/ GIMT_Encode4(217849),
77057 /* 217613 */ /*GILLT_s64*//*Label 5047*/ GIMT_Encode4(218754),
77058 /* 217617 */ /*GILLT_s80*//*Label 5048*/ GIMT_Encode4(219803), GIMT_Encode4(0), GIMT_Encode4(0),
77059 /* 217629 */ /*GILLT_v2s64*//*Label 5049*/ GIMT_Encode4(220369), GIMT_Encode4(0),
77060 /* 217637 */ /*GILLT_v4s32*//*Label 5050*/ GIMT_Encode4(220723),
77061 /* 217641 */ /*GILLT_v4s64*//*Label 5051*/ GIMT_Encode4(221077), GIMT_Encode4(0),
77062 /* 217649 */ /*GILLT_v8s16*//*Label 5052*/ GIMT_Encode4(221400),
77063 /* 217653 */ /*GILLT_v8s32*//*Label 5053*/ GIMT_Encode4(221560),
77064 /* 217657 */ /*GILLT_v8s64*//*Label 5054*/ GIMT_Encode4(221883), GIMT_Encode4(0), GIMT_Encode4(0),
77065 /* 217669 */ /*GILLT_v16s16*//*Label 5055*/ GIMT_Encode4(222043),
77066 /* 217673 */ /*GILLT_v16s32*//*Label 5056*/ GIMT_Encode4(222203), GIMT_Encode4(0), GIMT_Encode4(0),
77067 /* 217685 */ /*GILLT_v32s16*//*Label 5057*/ GIMT_Encode4(222363),
77068 /* 217689 */ // Label 5045: @217689
77069 /* 217689 */ GIM_Try, /*On fail goto*//*Label 5059*/ GIMT_Encode4(217848),
77070 /* 217694 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
77071 /* 217697 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
77072 /* 217700 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
77073 /* 217704 */ GIM_Try, /*On fail goto*//*Label 5060*/ GIMT_Encode4(217762), // Rule ID 24337 //
77074 /* 217709 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
77075 /* 217712 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77076 /* 217716 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77077 /* 217720 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77078 /* 217723 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77079 /* 217727 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77080 /* 217731 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
77081 /* 217735 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77082 /* 217737 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77083 /* 217744 */ // (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)
77084 /* 217744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSHZrm),
77085 /* 217747 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77086 /* 217749 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77087 /* 217751 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77088 /* 217755 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77089 /* 217760 */ GIR_RootConstrainSelectedInstOperands,
77090 /* 217761 */ // GIR_Coverage, 24337,
77091 /* 217761 */ GIR_EraseRootFromParent_Done,
77092 /* 217762 */ // Label 5060: @217762
77093 /* 217762 */ GIM_Try, /*On fail goto*//*Label 5061*/ GIMT_Encode4(217820), // Rule ID 6015 //
77094 /* 217767 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
77095 /* 217770 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
77096 /* 217774 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77097 /* 217778 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77098 /* 217782 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77099 /* 217785 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77100 /* 217789 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77101 /* 217793 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77102 /* 217795 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77103 /* 217802 */ // (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)
77104 /* 217802 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSHZrm),
77105 /* 217805 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77106 /* 217807 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77107 /* 217809 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77108 /* 217813 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77109 /* 217818 */ GIR_RootConstrainSelectedInstOperands,
77110 /* 217819 */ // GIR_Coverage, 6015,
77111 /* 217819 */ GIR_EraseRootFromParent_Done,
77112 /* 217820 */ // Label 5061: @217820
77113 /* 217820 */ GIM_Try, /*On fail goto*//*Label 5062*/ GIMT_Encode4(217847), // Rule ID 6013 //
77114 /* 217825 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
77115 /* 217828 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
77116 /* 217832 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
77117 /* 217836 */ // (strict_fmul:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VMULSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
77118 /* 217836 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSHZrr),
77119 /* 217841 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77120 /* 217845 */ GIR_RootConstrainSelectedInstOperands,
77121 /* 217846 */ // GIR_Coverage, 6013,
77122 /* 217846 */ GIR_Done,
77123 /* 217847 */ // Label 5062: @217847
77124 /* 217847 */ GIM_Reject,
77125 /* 217848 */ // Label 5059: @217848
77126 /* 217848 */ GIM_Reject,
77127 /* 217849 */ // Label 5046: @217849
77128 /* 217849 */ GIM_Try, /*On fail goto*//*Label 5063*/ GIMT_Encode4(218753),
77129 /* 217854 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
77130 /* 217857 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
77131 /* 217860 */ GIM_Try, /*On fail goto*//*Label 5064*/ GIMT_Encode4(217925), // Rule ID 23350 //
77132 /* 217865 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
77133 /* 217868 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77134 /* 217872 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77135 /* 217876 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77136 /* 217880 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
77137 /* 217887 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77138 /* 217891 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77139 /* 217895 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77140 /* 217897 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77141 /* 217904 */ // (strict_fmul:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (MUL_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77142 /* 217904 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m32),
77143 /* 217907 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77144 /* 217909 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77145 /* 217911 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77146 /* 217915 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77147 /* 217918 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77148 /* 217923 */ GIR_RootConstrainSelectedInstOperands,
77149 /* 217924 */ // GIR_Coverage, 23350,
77150 /* 217924 */ GIR_EraseRootFromParent_Done,
77151 /* 217925 */ // Label 5064: @217925
77152 /* 217925 */ GIM_Try, /*On fail goto*//*Label 5065*/ GIMT_Encode4(217990), // Rule ID 23352 //
77153 /* 217930 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
77154 /* 217933 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77155 /* 217937 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77156 /* 217941 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77157 /* 217945 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77158 /* 217952 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77159 /* 217956 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77160 /* 217960 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77161 /* 217962 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77162 /* 217969 */ // (strict_fmul:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (MUL_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77163 /* 217969 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m32),
77164 /* 217972 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77165 /* 217974 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77166 /* 217976 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77167 /* 217980 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77168 /* 217983 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77169 /* 217988 */ GIR_RootConstrainSelectedInstOperands,
77170 /* 217989 */ // GIR_Coverage, 23352,
77171 /* 217989 */ GIR_EraseRootFromParent_Done,
77172 /* 217990 */ // Label 5065: @217990
77173 /* 217990 */ GIM_Try, /*On fail goto*//*Label 5066*/ GIMT_Encode4(218055), // Rule ID 23340 //
77174 /* 217995 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
77175 /* 217998 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77176 /* 218002 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77177 /* 218006 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77178 /* 218010 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77179 /* 218013 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77180 /* 218017 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77181 /* 218021 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77182 /* 218025 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77183 /* 218027 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77184 /* 218034 */ // (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)
77185 /* 218034 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32m),
77186 /* 218037 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77187 /* 218039 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77188 /* 218041 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77189 /* 218045 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77190 /* 218048 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77191 /* 218053 */ GIR_RootConstrainSelectedInstOperands,
77192 /* 218054 */ // GIR_Coverage, 23340,
77193 /* 218054 */ GIR_EraseRootFromParent_Done,
77194 /* 218055 */ // Label 5066: @218055
77195 /* 218055 */ GIM_Try, /*On fail goto*//*Label 5067*/ GIMT_Encode4(218117), // Rule ID 23483 //
77196 /* 218060 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
77197 /* 218063 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77198 /* 218067 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77199 /* 218071 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77200 /* 218075 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77201 /* 218078 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77202 /* 218082 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77203 /* 218086 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77204 /* 218090 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77205 /* 218092 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77206 /* 218099 */ // (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)
77207 /* 218099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
77208 /* 218102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77209 /* 218104 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77210 /* 218106 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77211 /* 218110 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77212 /* 218115 */ GIR_RootConstrainSelectedInstOperands,
77213 /* 218116 */ // GIR_Coverage, 23483,
77214 /* 218116 */ GIR_EraseRootFromParent_Done,
77215 /* 218117 */ // Label 5067: @218117
77216 /* 218117 */ GIM_Try, /*On fail goto*//*Label 5068*/ GIMT_Encode4(218179), // Rule ID 23487 //
77217 /* 218122 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
77218 /* 218125 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77219 /* 218129 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77220 /* 218133 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77221 /* 218137 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77222 /* 218140 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77223 /* 218144 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77224 /* 218148 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77225 /* 218152 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77226 /* 218154 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77227 /* 218161 */ // (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)
77228 /* 218161 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
77229 /* 218164 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77230 /* 218166 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77231 /* 218168 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77232 /* 218172 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77233 /* 218177 */ GIR_RootConstrainSelectedInstOperands,
77234 /* 218178 */ // GIR_Coverage, 23487,
77235 /* 218178 */ GIR_EraseRootFromParent_Done,
77236 /* 218179 */ // Label 5068: @218179
77237 /* 218179 */ GIM_Try, /*On fail goto*//*Label 5069*/ GIMT_Encode4(218241), // Rule ID 24333 //
77238 /* 218184 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
77239 /* 218187 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77240 /* 218191 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77241 /* 218195 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77242 /* 218199 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77243 /* 218202 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77244 /* 218206 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77245 /* 218210 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77246 /* 218214 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77247 /* 218216 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77248 /* 218223 */ // (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)
77249 /* 218223 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
77250 /* 218226 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77251 /* 218228 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77252 /* 218230 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77253 /* 218234 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77254 /* 218239 */ GIR_RootConstrainSelectedInstOperands,
77255 /* 218240 */ // GIR_Coverage, 24333,
77256 /* 218240 */ GIR_EraseRootFromParent_Done,
77257 /* 218241 */ // Label 5069: @218241
77258 /* 218241 */ GIM_Try, /*On fail goto*//*Label 5070*/ GIMT_Encode4(218306), // Rule ID 986 //
77259 /* 218246 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
77260 /* 218249 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77261 /* 218253 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77262 /* 218257 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77263 /* 218261 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77264 /* 218265 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
77265 /* 218272 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77266 /* 218276 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77267 /* 218278 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77268 /* 218285 */ // (strict_fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77269 /* 218285 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m32),
77270 /* 218288 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77271 /* 218290 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77272 /* 218292 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77273 /* 218296 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77274 /* 218299 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77275 /* 218304 */ GIR_RootConstrainSelectedInstOperands,
77276 /* 218305 */ // GIR_Coverage, 986,
77277 /* 218305 */ GIR_EraseRootFromParent_Done,
77278 /* 218306 */ // Label 5070: @218306
77279 /* 218306 */ GIM_Try, /*On fail goto*//*Label 5071*/ GIMT_Encode4(218371), // Rule ID 988 //
77280 /* 218311 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
77281 /* 218314 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77282 /* 218318 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77283 /* 218322 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77284 /* 218326 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77285 /* 218330 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77286 /* 218337 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77287 /* 218341 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77288 /* 218343 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77289 /* 218350 */ // (strict_fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77290 /* 218350 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m32),
77291 /* 218353 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77292 /* 218355 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77293 /* 218357 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77294 /* 218361 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77295 /* 218364 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77296 /* 218369 */ GIR_RootConstrainSelectedInstOperands,
77297 /* 218370 */ // GIR_Coverage, 988,
77298 /* 218370 */ GIR_EraseRootFromParent_Done,
77299 /* 218371 */ // Label 5071: @218371
77300 /* 218371 */ GIM_Try, /*On fail goto*//*Label 5072*/ GIMT_Encode4(218436), // Rule ID 976 //
77301 /* 218376 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
77302 /* 218379 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77303 /* 218383 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77304 /* 218387 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77305 /* 218391 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77306 /* 218395 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77307 /* 218398 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77308 /* 218402 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77309 /* 218406 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77310 /* 218408 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77311 /* 218415 */ // (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)
77312 /* 218415 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32m),
77313 /* 218418 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77314 /* 218420 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77315 /* 218422 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77316 /* 218426 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77317 /* 218429 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77318 /* 218434 */ GIR_RootConstrainSelectedInstOperands,
77319 /* 218435 */ // GIR_Coverage, 976,
77320 /* 218435 */ GIR_EraseRootFromParent_Done,
77321 /* 218436 */ // Label 5072: @218436
77322 /* 218436 */ GIM_Try, /*On fail goto*//*Label 5073*/ GIMT_Encode4(218498), // Rule ID 2200 //
77323 /* 218441 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
77324 /* 218444 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77325 /* 218448 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77326 /* 218452 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77327 /* 218456 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77328 /* 218460 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77329 /* 218463 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77330 /* 218467 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77331 /* 218471 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77332 /* 218473 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77333 /* 218480 */ // (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)
77334 /* 218480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
77335 /* 218483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77336 /* 218485 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77337 /* 218487 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77338 /* 218491 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77339 /* 218496 */ GIR_RootConstrainSelectedInstOperands,
77340 /* 218497 */ // GIR_Coverage, 2200,
77341 /* 218497 */ GIR_EraseRootFromParent_Done,
77342 /* 218498 */ // Label 5073: @218498
77343 /* 218498 */ GIM_Try, /*On fail goto*//*Label 5074*/ GIMT_Encode4(218560), // Rule ID 2208 //
77344 /* 218503 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
77345 /* 218506 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77346 /* 218510 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77347 /* 218514 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77348 /* 218518 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77349 /* 218522 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77350 /* 218525 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77351 /* 218529 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77352 /* 218533 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77353 /* 218535 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77354 /* 218542 */ // (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)
77355 /* 218542 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
77356 /* 218545 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77357 /* 218547 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77358 /* 218549 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77359 /* 218553 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77360 /* 218558 */ GIR_RootConstrainSelectedInstOperands,
77361 /* 218559 */ // GIR_Coverage, 2208,
77362 /* 218559 */ GIR_EraseRootFromParent_Done,
77363 /* 218560 */ // Label 5074: @218560
77364 /* 218560 */ GIM_Try, /*On fail goto*//*Label 5075*/ GIMT_Encode4(218622), // Rule ID 5977 //
77365 /* 218565 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
77366 /* 218568 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77367 /* 218572 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77368 /* 218576 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77369 /* 218580 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77370 /* 218584 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77371 /* 218587 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77372 /* 218591 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77373 /* 218595 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77374 /* 218597 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77375 /* 218604 */ // (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)
77376 /* 218604 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
77377 /* 218607 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77378 /* 218609 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77379 /* 218611 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77380 /* 218615 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77381 /* 218620 */ GIR_RootConstrainSelectedInstOperands,
77382 /* 218621 */ // GIR_Coverage, 5977,
77383 /* 218621 */ GIR_EraseRootFromParent_Done,
77384 /* 218622 */ // Label 5075: @218622
77385 /* 218622 */ GIM_Try, /*On fail goto*//*Label 5076*/ GIMT_Encode4(218659), // Rule ID 898 //
77386 /* 218627 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
77387 /* 218630 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77388 /* 218634 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77389 /* 218638 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77390 /* 218642 */ // (strict_fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (MUL_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
77391 /* 218642 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32),
77392 /* 218647 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
77393 /* 218653 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
77394 /* 218657 */ GIR_RootConstrainSelectedInstOperands,
77395 /* 218658 */ // GIR_Coverage, 898,
77396 /* 218658 */ GIR_Done,
77397 /* 218659 */ // Label 5076: @218659
77398 /* 218659 */ GIM_Try, /*On fail goto*//*Label 5077*/ GIMT_Encode4(218690), // Rule ID 2198 //
77399 /* 218664 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
77400 /* 218667 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77401 /* 218671 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77402 /* 218675 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77403 /* 218679 */ // (strict_fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VMULSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
77404 /* 218679 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSSrr),
77405 /* 218684 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77406 /* 218688 */ GIR_RootConstrainSelectedInstOperands,
77407 /* 218689 */ // GIR_Coverage, 2198,
77408 /* 218689 */ GIR_Done,
77409 /* 218690 */ // Label 5077: @218690
77410 /* 218690 */ GIM_Try, /*On fail goto*//*Label 5078*/ GIMT_Encode4(218721), // Rule ID 2206 //
77411 /* 218695 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
77412 /* 218698 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77413 /* 218702 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77414 /* 218706 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77415 /* 218710 */ // (strict_fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (MULSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
77416 /* 218710 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULSSrr),
77417 /* 218715 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77418 /* 218719 */ GIR_RootConstrainSelectedInstOperands,
77419 /* 218720 */ // GIR_Coverage, 2206,
77420 /* 218720 */ GIR_Done,
77421 /* 218721 */ // Label 5078: @218721
77422 /* 218721 */ GIM_Try, /*On fail goto*//*Label 5079*/ GIMT_Encode4(218752), // Rule ID 5975 //
77423 /* 218726 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
77424 /* 218729 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77425 /* 218733 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77426 /* 218737 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77427 /* 218741 */ // (strict_fmul:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VMULSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
77428 /* 218741 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSSZrr),
77429 /* 218746 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77430 /* 218750 */ GIR_RootConstrainSelectedInstOperands,
77431 /* 218751 */ // GIR_Coverage, 5975,
77432 /* 218751 */ GIR_Done,
77433 /* 218752 */ // Label 5079: @218752
77434 /* 218752 */ GIM_Reject,
77435 /* 218753 */ // Label 5063: @218753
77436 /* 218753 */ GIM_Reject,
77437 /* 218754 */ // Label 5047: @218754
77438 /* 218754 */ GIM_Try, /*On fail goto*//*Label 5080*/ GIMT_Encode4(219802),
77439 /* 218759 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
77440 /* 218762 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
77441 /* 218765 */ GIM_Try, /*On fail goto*//*Label 5081*/ GIMT_Encode4(218830), // Rule ID 23354 //
77442 /* 218770 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77443 /* 218773 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77444 /* 218777 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77445 /* 218781 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77446 /* 218785 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
77447 /* 218792 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77448 /* 218796 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77449 /* 218800 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77450 /* 218802 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77451 /* 218809 */ // (strict_fmul:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (MUL_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77452 /* 218809 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m64),
77453 /* 218812 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77454 /* 218814 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77455 /* 218816 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77456 /* 218820 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77457 /* 218823 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77458 /* 218828 */ GIR_RootConstrainSelectedInstOperands,
77459 /* 218829 */ // GIR_Coverage, 23354,
77460 /* 218829 */ GIR_EraseRootFromParent_Done,
77461 /* 218830 */ // Label 5081: @218830
77462 /* 218830 */ GIM_Try, /*On fail goto*//*Label 5082*/ GIMT_Encode4(218895), // Rule ID 23356 //
77463 /* 218835 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77464 /* 218838 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77465 /* 218842 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77466 /* 218846 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77467 /* 218850 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77468 /* 218857 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77469 /* 218861 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77470 /* 218865 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77471 /* 218867 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77472 /* 218874 */ // (strict_fmul:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (MUL_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77473 /* 218874 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m64),
77474 /* 218877 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77475 /* 218879 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77476 /* 218881 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77477 /* 218885 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77478 /* 218888 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77479 /* 218893 */ GIR_RootConstrainSelectedInstOperands,
77480 /* 218894 */ // GIR_Coverage, 23356,
77481 /* 218894 */ GIR_EraseRootFromParent_Done,
77482 /* 218895 */ // Label 5082: @218895
77483 /* 218895 */ GIM_Try, /*On fail goto*//*Label 5083*/ GIMT_Encode4(218960), // Rule ID 23342 //
77484 /* 218900 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77485 /* 218903 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77486 /* 218907 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77487 /* 218911 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77488 /* 218915 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77489 /* 218918 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77490 /* 218922 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77491 /* 218926 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77492 /* 218930 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77493 /* 218932 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77494 /* 218939 */ // (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)
77495 /* 218939 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m),
77496 /* 218942 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77497 /* 218944 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77498 /* 218946 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77499 /* 218950 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77500 /* 218953 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77501 /* 218958 */ GIR_RootConstrainSelectedInstOperands,
77502 /* 218959 */ // GIR_Coverage, 23342,
77503 /* 218959 */ GIR_EraseRootFromParent_Done,
77504 /* 218960 */ // Label 5083: @218960
77505 /* 218960 */ GIM_Try, /*On fail goto*//*Label 5084*/ GIMT_Encode4(219032), // Rule ID 23344 //
77506 /* 218965 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77507 /* 218968 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77508 /* 218972 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77509 /* 218976 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77510 /* 218980 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77511 /* 218983 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77512 /* 218987 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77513 /* 218994 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77514 /* 218998 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77515 /* 219002 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77516 /* 219004 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77517 /* 219011 */ // (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)
77518 /* 219011 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m32),
77519 /* 219014 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77520 /* 219016 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77521 /* 219018 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77522 /* 219022 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77523 /* 219025 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77524 /* 219030 */ GIR_RootConstrainSelectedInstOperands,
77525 /* 219031 */ // GIR_Coverage, 23344,
77526 /* 219031 */ GIR_EraseRootFromParent_Done,
77527 /* 219032 */ // Label 5084: @219032
77528 /* 219032 */ GIM_Try, /*On fail goto*//*Label 5085*/ GIMT_Encode4(219094), // Rule ID 23485 //
77529 /* 219037 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
77530 /* 219040 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77531 /* 219044 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77532 /* 219048 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77533 /* 219052 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77534 /* 219055 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77535 /* 219059 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77536 /* 219063 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77537 /* 219067 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77538 /* 219069 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77539 /* 219076 */ // (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)
77540 /* 219076 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
77541 /* 219079 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77542 /* 219081 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77543 /* 219083 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77544 /* 219087 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77545 /* 219092 */ GIR_RootConstrainSelectedInstOperands,
77546 /* 219093 */ // GIR_Coverage, 23485,
77547 /* 219093 */ GIR_EraseRootFromParent_Done,
77548 /* 219094 */ // Label 5085: @219094
77549 /* 219094 */ GIM_Try, /*On fail goto*//*Label 5086*/ GIMT_Encode4(219156), // Rule ID 23489 //
77550 /* 219099 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
77551 /* 219102 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77552 /* 219106 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77553 /* 219110 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77554 /* 219114 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77555 /* 219117 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77556 /* 219121 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77557 /* 219125 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77558 /* 219129 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77559 /* 219131 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77560 /* 219138 */ // (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)
77561 /* 219138 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
77562 /* 219141 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77563 /* 219143 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77564 /* 219145 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77565 /* 219149 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77566 /* 219154 */ GIR_RootConstrainSelectedInstOperands,
77567 /* 219155 */ // GIR_Coverage, 23489,
77568 /* 219155 */ GIR_EraseRootFromParent_Done,
77569 /* 219156 */ // Label 5086: @219156
77570 /* 219156 */ GIM_Try, /*On fail goto*//*Label 5087*/ GIMT_Encode4(219218), // Rule ID 24335 //
77571 /* 219161 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
77572 /* 219164 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
77573 /* 219168 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77574 /* 219172 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77575 /* 219176 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77576 /* 219179 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77577 /* 219183 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77578 /* 219187 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
77579 /* 219191 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77580 /* 219193 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77581 /* 219200 */ // (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)
77582 /* 219200 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
77583 /* 219203 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77584 /* 219205 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77585 /* 219207 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77586 /* 219211 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77587 /* 219216 */ GIR_RootConstrainSelectedInstOperands,
77588 /* 219217 */ // GIR_Coverage, 24335,
77589 /* 219217 */ GIR_EraseRootFromParent_Done,
77590 /* 219218 */ // Label 5087: @219218
77591 /* 219218 */ GIM_Try, /*On fail goto*//*Label 5088*/ GIMT_Encode4(219283), // Rule ID 990 //
77592 /* 219223 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77593 /* 219226 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77594 /* 219230 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77595 /* 219234 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77596 /* 219238 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77597 /* 219242 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
77598 /* 219249 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77599 /* 219253 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77600 /* 219255 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77601 /* 219262 */ // (strict_fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77602 /* 219262 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m64),
77603 /* 219265 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77604 /* 219267 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77605 /* 219269 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77606 /* 219273 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77607 /* 219276 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77608 /* 219281 */ GIR_RootConstrainSelectedInstOperands,
77609 /* 219282 */ // GIR_Coverage, 990,
77610 /* 219282 */ GIR_EraseRootFromParent_Done,
77611 /* 219283 */ // Label 5088: @219283
77612 /* 219283 */ GIM_Try, /*On fail goto*//*Label 5089*/ GIMT_Encode4(219348), // Rule ID 992 //
77613 /* 219288 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77614 /* 219291 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77615 /* 219295 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77616 /* 219299 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77617 /* 219303 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77618 /* 219307 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77619 /* 219314 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77620 /* 219318 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77621 /* 219320 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77622 /* 219327 */ // (strict_fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77623 /* 219327 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m64),
77624 /* 219330 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77625 /* 219332 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77626 /* 219334 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77627 /* 219338 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77628 /* 219341 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77629 /* 219346 */ GIR_RootConstrainSelectedInstOperands,
77630 /* 219347 */ // GIR_Coverage, 992,
77631 /* 219347 */ GIR_EraseRootFromParent_Done,
77632 /* 219348 */ // Label 5089: @219348
77633 /* 219348 */ GIM_Try, /*On fail goto*//*Label 5090*/ GIMT_Encode4(219413), // Rule ID 978 //
77634 /* 219353 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77635 /* 219356 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77636 /* 219360 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77637 /* 219364 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77638 /* 219368 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77639 /* 219372 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77640 /* 219375 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77641 /* 219379 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77642 /* 219383 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77643 /* 219385 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77644 /* 219392 */ // (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)
77645 /* 219392 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m),
77646 /* 219395 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77647 /* 219397 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77648 /* 219399 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77649 /* 219403 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77650 /* 219406 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77651 /* 219411 */ GIR_RootConstrainSelectedInstOperands,
77652 /* 219412 */ // GIR_Coverage, 978,
77653 /* 219412 */ GIR_EraseRootFromParent_Done,
77654 /* 219413 */ // Label 5090: @219413
77655 /* 219413 */ GIM_Try, /*On fail goto*//*Label 5091*/ GIMT_Encode4(219485), // Rule ID 980 //
77656 /* 219418 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77657 /* 219421 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77658 /* 219425 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77659 /* 219429 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77660 /* 219433 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77661 /* 219437 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77662 /* 219440 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77663 /* 219444 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77664 /* 219451 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77665 /* 219455 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77666 /* 219457 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77667 /* 219464 */ // (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)
77668 /* 219464 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m32),
77669 /* 219467 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77670 /* 219469 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77671 /* 219471 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77672 /* 219475 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77673 /* 219478 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77674 /* 219483 */ GIR_RootConstrainSelectedInstOperands,
77675 /* 219484 */ // GIR_Coverage, 980,
77676 /* 219484 */ GIR_EraseRootFromParent_Done,
77677 /* 219485 */ // Label 5091: @219485
77678 /* 219485 */ GIM_Try, /*On fail goto*//*Label 5092*/ GIMT_Encode4(219547), // Rule ID 2204 //
77679 /* 219490 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
77680 /* 219493 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77681 /* 219497 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77682 /* 219501 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77683 /* 219505 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77684 /* 219509 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77685 /* 219512 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77686 /* 219516 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77687 /* 219520 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77688 /* 219522 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77689 /* 219529 */ // (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)
77690 /* 219529 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
77691 /* 219532 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77692 /* 219534 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77693 /* 219536 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77694 /* 219540 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77695 /* 219545 */ GIR_RootConstrainSelectedInstOperands,
77696 /* 219546 */ // GIR_Coverage, 2204,
77697 /* 219546 */ GIR_EraseRootFromParent_Done,
77698 /* 219547 */ // Label 5092: @219547
77699 /* 219547 */ GIM_Try, /*On fail goto*//*Label 5093*/ GIMT_Encode4(219609), // Rule ID 2212 //
77700 /* 219552 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
77701 /* 219555 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77702 /* 219559 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77703 /* 219563 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77704 /* 219567 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77705 /* 219571 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77706 /* 219574 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77707 /* 219578 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77708 /* 219582 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77709 /* 219584 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77710 /* 219591 */ // (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)
77711 /* 219591 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
77712 /* 219594 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77713 /* 219596 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77714 /* 219598 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77715 /* 219602 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77716 /* 219607 */ GIR_RootConstrainSelectedInstOperands,
77717 /* 219608 */ // GIR_Coverage, 2212,
77718 /* 219608 */ GIR_EraseRootFromParent_Done,
77719 /* 219609 */ // Label 5093: @219609
77720 /* 219609 */ GIM_Try, /*On fail goto*//*Label 5094*/ GIMT_Encode4(219671), // Rule ID 5996 //
77721 /* 219614 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
77722 /* 219617 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
77723 /* 219621 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
77724 /* 219625 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77725 /* 219629 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77726 /* 219633 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77727 /* 219636 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77728 /* 219640 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77729 /* 219644 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77730 /* 219646 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77731 /* 219653 */ // (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)
77732 /* 219653 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
77733 /* 219656 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77734 /* 219658 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77735 /* 219660 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77736 /* 219664 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77737 /* 219669 */ GIR_RootConstrainSelectedInstOperands,
77738 /* 219670 */ // GIR_Coverage, 5996,
77739 /* 219670 */ GIR_EraseRootFromParent_Done,
77740 /* 219671 */ // Label 5094: @219671
77741 /* 219671 */ GIM_Try, /*On fail goto*//*Label 5095*/ GIMT_Encode4(219708), // Rule ID 900 //
77742 /* 219676 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77743 /* 219679 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77744 /* 219683 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77745 /* 219687 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77746 /* 219691 */ // (strict_fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (MUL_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
77747 /* 219691 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64),
77748 /* 219696 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
77749 /* 219702 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
77750 /* 219706 */ GIR_RootConstrainSelectedInstOperands,
77751 /* 219707 */ // GIR_Coverage, 900,
77752 /* 219707 */ GIR_Done,
77753 /* 219708 */ // Label 5095: @219708
77754 /* 219708 */ GIM_Try, /*On fail goto*//*Label 5096*/ GIMT_Encode4(219739), // Rule ID 2202 //
77755 /* 219713 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
77756 /* 219716 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77757 /* 219720 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77758 /* 219724 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77759 /* 219728 */ // (strict_fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VMULSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
77760 /* 219728 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSDrr),
77761 /* 219733 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77762 /* 219737 */ GIR_RootConstrainSelectedInstOperands,
77763 /* 219738 */ // GIR_Coverage, 2202,
77764 /* 219738 */ GIR_Done,
77765 /* 219739 */ // Label 5096: @219739
77766 /* 219739 */ GIM_Try, /*On fail goto*//*Label 5097*/ GIMT_Encode4(219770), // Rule ID 2210 //
77767 /* 219744 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
77768 /* 219747 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77769 /* 219751 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77770 /* 219755 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77771 /* 219759 */ // (strict_fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (MULSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
77772 /* 219759 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULSDrr),
77773 /* 219764 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77774 /* 219768 */ GIR_RootConstrainSelectedInstOperands,
77775 /* 219769 */ // GIR_Coverage, 2210,
77776 /* 219769 */ GIR_Done,
77777 /* 219770 */ // Label 5097: @219770
77778 /* 219770 */ GIM_Try, /*On fail goto*//*Label 5098*/ GIMT_Encode4(219801), // Rule ID 5994 //
77779 /* 219775 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
77780 /* 219778 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
77781 /* 219782 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
77782 /* 219786 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
77783 /* 219790 */ // (strict_fmul:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VMULSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
77784 /* 219790 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSDZrr),
77785 /* 219795 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77786 /* 219799 */ GIR_RootConstrainSelectedInstOperands,
77787 /* 219800 */ // GIR_Coverage, 5994,
77788 /* 219800 */ GIR_Done,
77789 /* 219801 */ // Label 5098: @219801
77790 /* 219801 */ GIM_Reject,
77791 /* 219802 */ // Label 5080: @219802
77792 /* 219802 */ GIM_Reject,
77793 /* 219803 */ // Label 5048: @219803
77794 /* 219803 */ GIM_Try, /*On fail goto*//*Label 5099*/ GIMT_Encode4(220368),
77795 /* 219808 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
77796 /* 219811 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
77797 /* 219814 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
77798 /* 219818 */ GIM_Try, /*On fail goto*//*Label 5100*/ GIMT_Encode4(219879), // Rule ID 23358 //
77799 /* 219823 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
77800 /* 219826 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77801 /* 219830 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77802 /* 219834 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
77803 /* 219841 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77804 /* 219845 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
77805 /* 219849 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77806 /* 219851 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77807 /* 219858 */ // (strict_fmul:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (MUL_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
77808 /* 219858 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m80),
77809 /* 219861 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77810 /* 219863 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77811 /* 219865 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77812 /* 219869 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77813 /* 219872 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77814 /* 219877 */ GIR_RootConstrainSelectedInstOperands,
77815 /* 219878 */ // GIR_Coverage, 23358,
77816 /* 219878 */ GIR_EraseRootFromParent_Done,
77817 /* 219879 */ // Label 5100: @219879
77818 /* 219879 */ GIM_Try, /*On fail goto*//*Label 5101*/ GIMT_Encode4(219940), // Rule ID 23360 //
77819 /* 219884 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
77820 /* 219887 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77821 /* 219891 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77822 /* 219895 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77823 /* 219902 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77824 /* 219906 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
77825 /* 219910 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77826 /* 219912 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77827 /* 219919 */ // (strict_fmul:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (MUL_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
77828 /* 219919 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m80),
77829 /* 219922 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77830 /* 219924 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77831 /* 219926 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77832 /* 219930 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77833 /* 219933 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77834 /* 219938 */ GIR_RootConstrainSelectedInstOperands,
77835 /* 219939 */ // GIR_Coverage, 23360,
77836 /* 219939 */ GIR_EraseRootFromParent_Done,
77837 /* 219940 */ // Label 5101: @219940
77838 /* 219940 */ GIM_Try, /*On fail goto*//*Label 5102*/ GIMT_Encode4(220008), // Rule ID 23346 //
77839 /* 219945 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
77840 /* 219948 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77841 /* 219952 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77842 /* 219956 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77843 /* 219959 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77844 /* 219963 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77845 /* 219970 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77846 /* 219974 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
77847 /* 219978 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77848 /* 219980 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77849 /* 219987 */ // (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)
77850 /* 219987 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m32),
77851 /* 219990 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77852 /* 219992 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77853 /* 219994 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77854 /* 219998 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77855 /* 220001 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77856 /* 220006 */ GIR_RootConstrainSelectedInstOperands,
77857 /* 220007 */ // GIR_Coverage, 23346,
77858 /* 220007 */ GIR_EraseRootFromParent_Done,
77859 /* 220008 */ // Label 5102: @220008
77860 /* 220008 */ GIM_Try, /*On fail goto*//*Label 5103*/ GIMT_Encode4(220076), // Rule ID 23348 //
77861 /* 220013 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
77862 /* 220016 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77863 /* 220020 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77864 /* 220024 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77865 /* 220027 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77866 /* 220031 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
77867 /* 220038 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77868 /* 220042 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
77869 /* 220046 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77870 /* 220048 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77871 /* 220055 */ // (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)
77872 /* 220055 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m64),
77873 /* 220058 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77874 /* 220060 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77875 /* 220062 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77876 /* 220066 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77877 /* 220069 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77878 /* 220074 */ GIR_RootConstrainSelectedInstOperands,
77879 /* 220075 */ // GIR_Coverage, 23348,
77880 /* 220075 */ GIR_EraseRootFromParent_Done,
77881 /* 220076 */ // Label 5103: @220076
77882 /* 220076 */ GIM_Try, /*On fail goto*//*Label 5104*/ GIMT_Encode4(220137), // Rule ID 994 //
77883 /* 220081 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
77884 /* 220084 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
77885 /* 220088 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77886 /* 220092 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77887 /* 220096 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
77888 /* 220103 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77889 /* 220107 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77890 /* 220109 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77891 /* 220116 */ // (strict_fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
77892 /* 220116 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m80),
77893 /* 220119 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77894 /* 220121 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77895 /* 220123 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77896 /* 220127 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77897 /* 220130 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77898 /* 220135 */ GIR_RootConstrainSelectedInstOperands,
77899 /* 220136 */ // GIR_Coverage, 994,
77900 /* 220136 */ GIR_EraseRootFromParent_Done,
77901 /* 220137 */ // Label 5104: @220137
77902 /* 220137 */ GIM_Try, /*On fail goto*//*Label 5105*/ GIMT_Encode4(220198), // Rule ID 996 //
77903 /* 220142 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
77904 /* 220145 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
77905 /* 220149 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77906 /* 220153 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77907 /* 220157 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77908 /* 220164 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77909 /* 220168 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77910 /* 220170 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77911 /* 220177 */ // (strict_fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
77912 /* 220177 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m80),
77913 /* 220180 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77914 /* 220182 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77915 /* 220184 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77916 /* 220188 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77917 /* 220191 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77918 /* 220196 */ GIR_RootConstrainSelectedInstOperands,
77919 /* 220197 */ // GIR_Coverage, 996,
77920 /* 220197 */ GIR_EraseRootFromParent_Done,
77921 /* 220198 */ // Label 5105: @220198
77922 /* 220198 */ GIM_Try, /*On fail goto*//*Label 5106*/ GIMT_Encode4(220266), // Rule ID 982 //
77923 /* 220203 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
77924 /* 220206 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
77925 /* 220210 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77926 /* 220214 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77927 /* 220218 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77928 /* 220221 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77929 /* 220225 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77930 /* 220232 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77931 /* 220236 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77932 /* 220238 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77933 /* 220245 */ // (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)
77934 /* 220245 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m32),
77935 /* 220248 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77936 /* 220250 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77937 /* 220252 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77938 /* 220256 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77939 /* 220259 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77940 /* 220264 */ GIR_RootConstrainSelectedInstOperands,
77941 /* 220265 */ // GIR_Coverage, 982,
77942 /* 220265 */ GIR_EraseRootFromParent_Done,
77943 /* 220266 */ // Label 5106: @220266
77944 /* 220266 */ GIM_Try, /*On fail goto*//*Label 5107*/ GIMT_Encode4(220334), // Rule ID 984 //
77945 /* 220271 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
77946 /* 220274 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
77947 /* 220278 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77948 /* 220282 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77949 /* 220286 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77950 /* 220289 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77951 /* 220293 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
77952 /* 220300 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77953 /* 220304 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77954 /* 220306 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77955 /* 220313 */ // (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)
77956 /* 220313 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m64),
77957 /* 220316 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77958 /* 220318 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77959 /* 220320 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77960 /* 220324 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77961 /* 220327 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77962 /* 220332 */ GIR_RootConstrainSelectedInstOperands,
77963 /* 220333 */ // GIR_Coverage, 984,
77964 /* 220333 */ GIR_EraseRootFromParent_Done,
77965 /* 220334 */ // Label 5107: @220334
77966 /* 220334 */ GIM_Try, /*On fail goto*//*Label 5108*/ GIMT_Encode4(220367), // Rule ID 902 //
77967 /* 220339 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
77968 /* 220342 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
77969 /* 220346 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
77970 /* 220350 */ // (strict_fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (MUL_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
77971 /* 220350 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80),
77972 /* 220355 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
77973 /* 220361 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
77974 /* 220365 */ GIR_RootConstrainSelectedInstOperands,
77975 /* 220366 */ // GIR_Coverage, 902,
77976 /* 220366 */ GIR_Done,
77977 /* 220367 */ // Label 5108: @220367
77978 /* 220367 */ GIM_Reject,
77979 /* 220368 */ // Label 5099: @220368
77980 /* 220368 */ GIM_Reject,
77981 /* 220369 */ // Label 5049: @220369
77982 /* 220369 */ GIM_Try, /*On fail goto*//*Label 5109*/ GIMT_Encode4(220722),
77983 /* 220374 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
77984 /* 220377 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
77985 /* 220380 */ GIM_Try, /*On fail goto*//*Label 5110*/ GIMT_Encode4(220442), // Rule ID 23473 //
77986 /* 220385 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
77987 /* 220388 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77988 /* 220392 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77989 /* 220396 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77990 /* 220400 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77991 /* 220403 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77992 /* 220407 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77993 /* 220411 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77994 /* 220415 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77995 /* 220417 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77996 /* 220424 */ // (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)
77997 /* 220424 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDrm),
77998 /* 220427 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77999 /* 220429 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78000 /* 220431 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78001 /* 220435 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78002 /* 220440 */ GIR_RootConstrainSelectedInstOperands,
78003 /* 220441 */ // GIR_Coverage, 23473,
78004 /* 220441 */ GIR_EraseRootFromParent_Done,
78005 /* 220442 */ // Label 5110: @220442
78006 /* 220442 */ GIM_Try, /*On fail goto*//*Label 5111*/ GIMT_Encode4(220504), // Rule ID 24449 //
78007 /* 220447 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78008 /* 220450 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78009 /* 220454 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78010 /* 220458 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78011 /* 220462 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78012 /* 220465 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78013 /* 220469 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78014 /* 220473 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78015 /* 220477 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78016 /* 220479 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78017 /* 220486 */ // (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)
78018 /* 220486 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rm),
78019 /* 220489 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78020 /* 220491 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78021 /* 220493 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78022 /* 220497 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78023 /* 220502 */ GIR_RootConstrainSelectedInstOperands,
78024 /* 220503 */ // GIR_Coverage, 24449,
78025 /* 220503 */ GIR_EraseRootFromParent_Done,
78026 /* 220504 */ // Label 5111: @220504
78027 /* 220504 */ GIM_Try, /*On fail goto*//*Label 5112*/ GIMT_Encode4(220566), // Rule ID 2180 //
78028 /* 220509 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78029 /* 220512 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78030 /* 220516 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78031 /* 220520 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78032 /* 220524 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78033 /* 220528 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78034 /* 220531 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78035 /* 220535 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78036 /* 220539 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78037 /* 220541 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78038 /* 220548 */ // (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)
78039 /* 220548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDrm),
78040 /* 220551 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78041 /* 220553 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78042 /* 220555 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78043 /* 220559 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78044 /* 220564 */ GIR_RootConstrainSelectedInstOperands,
78045 /* 220565 */ // GIR_Coverage, 2180,
78046 /* 220565 */ GIR_EraseRootFromParent_Done,
78047 /* 220566 */ // Label 5112: @220566
78048 /* 220566 */ GIM_Try, /*On fail goto*//*Label 5113*/ GIMT_Encode4(220628), // Rule ID 6429 //
78049 /* 220571 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78050 /* 220574 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78051 /* 220578 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78052 /* 220582 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78053 /* 220586 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78054 /* 220590 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78055 /* 220593 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78056 /* 220597 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78057 /* 220601 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78058 /* 220603 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78059 /* 220610 */ // (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)
78060 /* 220610 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rm),
78061 /* 220613 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78062 /* 220615 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78063 /* 220617 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78064 /* 220621 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78065 /* 220626 */ GIR_RootConstrainSelectedInstOperands,
78066 /* 220627 */ // GIR_Coverage, 6429,
78067 /* 220627 */ GIR_EraseRootFromParent_Done,
78068 /* 220628 */ // Label 5113: @220628
78069 /* 220628 */ GIM_Try, /*On fail goto*//*Label 5114*/ GIMT_Encode4(220659), // Rule ID 2178 //
78070 /* 220633 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78071 /* 220636 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78072 /* 220640 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78073 /* 220644 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78074 /* 220648 */ // (strict_fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VMULPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
78075 /* 220648 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDrr),
78076 /* 220653 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78077 /* 220657 */ GIR_RootConstrainSelectedInstOperands,
78078 /* 220658 */ // GIR_Coverage, 2178,
78079 /* 220658 */ GIR_Done,
78080 /* 220659 */ // Label 5114: @220659
78081 /* 220659 */ GIM_Try, /*On fail goto*//*Label 5115*/ GIMT_Encode4(220690), // Rule ID 2194 //
78082 /* 220664 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
78083 /* 220667 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78084 /* 220671 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78085 /* 220675 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78086 /* 220679 */ // (strict_fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (MULPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
78087 /* 220679 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULPDrr),
78088 /* 220684 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78089 /* 220688 */ GIR_RootConstrainSelectedInstOperands,
78090 /* 220689 */ // GIR_Coverage, 2194,
78091 /* 220689 */ GIR_Done,
78092 /* 220690 */ // Label 5115: @220690
78093 /* 220690 */ GIM_Try, /*On fail goto*//*Label 5116*/ GIMT_Encode4(220721), // Rule ID 6425 //
78094 /* 220695 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78095 /* 220698 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78096 /* 220702 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78097 /* 220706 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78098 /* 220710 */ // (strict_fmul:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VMULPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
78099 /* 220710 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rr),
78100 /* 220715 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78101 /* 220719 */ GIR_RootConstrainSelectedInstOperands,
78102 /* 220720 */ // GIR_Coverage, 6425,
78103 /* 220720 */ GIR_Done,
78104 /* 220721 */ // Label 5116: @220721
78105 /* 220721 */ GIM_Reject,
78106 /* 220722 */ // Label 5109: @220722
78107 /* 220722 */ GIM_Reject,
78108 /* 220723 */ // Label 5050: @220723
78109 /* 220723 */ GIM_Try, /*On fail goto*//*Label 5117*/ GIMT_Encode4(221076),
78110 /* 220728 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
78111 /* 220731 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
78112 /* 220734 */ GIM_Try, /*On fail goto*//*Label 5118*/ GIMT_Encode4(220796), // Rule ID 23471 //
78113 /* 220739 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78114 /* 220742 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78115 /* 220746 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78116 /* 220750 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78117 /* 220754 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78118 /* 220757 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78119 /* 220761 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78120 /* 220765 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78121 /* 220769 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78122 /* 220771 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78123 /* 220778 */ // (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)
78124 /* 220778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSrm),
78125 /* 220781 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78126 /* 220783 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78127 /* 220785 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78128 /* 220789 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78129 /* 220794 */ GIR_RootConstrainSelectedInstOperands,
78130 /* 220795 */ // GIR_Coverage, 23471,
78131 /* 220795 */ GIR_EraseRootFromParent_Done,
78132 /* 220796 */ // Label 5118: @220796
78133 /* 220796 */ GIM_Try, /*On fail goto*//*Label 5119*/ GIMT_Encode4(220858), // Rule ID 24433 //
78134 /* 220801 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78135 /* 220804 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78136 /* 220808 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78137 /* 220812 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78138 /* 220816 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78139 /* 220819 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78140 /* 220823 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78141 /* 220827 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78142 /* 220831 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78143 /* 220833 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78144 /* 220840 */ // (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)
78145 /* 220840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rm),
78146 /* 220843 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78147 /* 220845 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78148 /* 220847 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78149 /* 220851 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78150 /* 220856 */ GIR_RootConstrainSelectedInstOperands,
78151 /* 220857 */ // GIR_Coverage, 24433,
78152 /* 220857 */ GIR_EraseRootFromParent_Done,
78153 /* 220858 */ // Label 5119: @220858
78154 /* 220858 */ GIM_Try, /*On fail goto*//*Label 5120*/ GIMT_Encode4(220920), // Rule ID 2176 //
78155 /* 220863 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78156 /* 220866 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78157 /* 220870 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78158 /* 220874 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78159 /* 220878 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78160 /* 220882 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78161 /* 220885 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78162 /* 220889 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78163 /* 220893 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78164 /* 220895 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78165 /* 220902 */ // (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)
78166 /* 220902 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSrm),
78167 /* 220905 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78168 /* 220907 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78169 /* 220909 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78170 /* 220913 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78171 /* 220918 */ GIR_RootConstrainSelectedInstOperands,
78172 /* 220919 */ // GIR_Coverage, 2176,
78173 /* 220919 */ GIR_EraseRootFromParent_Done,
78174 /* 220920 */ // Label 5120: @220920
78175 /* 220920 */ GIM_Try, /*On fail goto*//*Label 5121*/ GIMT_Encode4(220982), // Rule ID 6405 //
78176 /* 220925 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78177 /* 220928 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78178 /* 220932 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78179 /* 220936 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78180 /* 220940 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78181 /* 220944 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78182 /* 220947 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78183 /* 220951 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78184 /* 220955 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78185 /* 220957 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78186 /* 220964 */ // (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)
78187 /* 220964 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rm),
78188 /* 220967 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78189 /* 220969 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78190 /* 220971 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78191 /* 220975 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78192 /* 220980 */ GIR_RootConstrainSelectedInstOperands,
78193 /* 220981 */ // GIR_Coverage, 6405,
78194 /* 220981 */ GIR_EraseRootFromParent_Done,
78195 /* 220982 */ // Label 5121: @220982
78196 /* 220982 */ GIM_Try, /*On fail goto*//*Label 5122*/ GIMT_Encode4(221013), // Rule ID 2174 //
78197 /* 220987 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78198 /* 220990 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78199 /* 220994 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78200 /* 220998 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78201 /* 221002 */ // (strict_fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VMULPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
78202 /* 221002 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSrr),
78203 /* 221007 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78204 /* 221011 */ GIR_RootConstrainSelectedInstOperands,
78205 /* 221012 */ // GIR_Coverage, 2174,
78206 /* 221012 */ GIR_Done,
78207 /* 221013 */ // Label 5122: @221013
78208 /* 221013 */ GIM_Try, /*On fail goto*//*Label 5123*/ GIMT_Encode4(221044), // Rule ID 2190 //
78209 /* 221018 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
78210 /* 221021 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78211 /* 221025 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78212 /* 221029 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78213 /* 221033 */ // (strict_fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (MULPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
78214 /* 221033 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULPSrr),
78215 /* 221038 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78216 /* 221042 */ GIR_RootConstrainSelectedInstOperands,
78217 /* 221043 */ // GIR_Coverage, 2190,
78218 /* 221043 */ GIR_Done,
78219 /* 221044 */ // Label 5123: @221044
78220 /* 221044 */ GIM_Try, /*On fail goto*//*Label 5124*/ GIMT_Encode4(221075), // Rule ID 6401 //
78221 /* 221049 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78222 /* 221052 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78223 /* 221056 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78224 /* 221060 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78225 /* 221064 */ // (strict_fmul:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VMULPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
78226 /* 221064 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rr),
78227 /* 221069 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78228 /* 221073 */ GIR_RootConstrainSelectedInstOperands,
78229 /* 221074 */ // GIR_Coverage, 6401,
78230 /* 221074 */ GIR_Done,
78231 /* 221075 */ // Label 5124: @221075
78232 /* 221075 */ GIM_Reject,
78233 /* 221076 */ // Label 5117: @221076
78234 /* 221076 */ GIM_Reject,
78235 /* 221077 */ // Label 5051: @221077
78236 /* 221077 */ GIM_Try, /*On fail goto*//*Label 5125*/ GIMT_Encode4(221399),
78237 /* 221082 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
78238 /* 221085 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
78239 /* 221088 */ GIM_Try, /*On fail goto*//*Label 5126*/ GIMT_Encode4(221150), // Rule ID 23477 //
78240 /* 221093 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78241 /* 221096 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78242 /* 221100 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78243 /* 221104 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78244 /* 221108 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78245 /* 221111 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78246 /* 221115 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78247 /* 221119 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78248 /* 221123 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78249 /* 221125 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78250 /* 221132 */ // (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)
78251 /* 221132 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDYrm),
78252 /* 221135 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78253 /* 221137 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78254 /* 221139 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78255 /* 221143 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78256 /* 221148 */ GIR_RootConstrainSelectedInstOperands,
78257 /* 221149 */ // GIR_Coverage, 23477,
78258 /* 221149 */ GIR_EraseRootFromParent_Done,
78259 /* 221150 */ // Label 5126: @221150
78260 /* 221150 */ GIM_Try, /*On fail goto*//*Label 5127*/ GIMT_Encode4(221212), // Rule ID 24457 //
78261 /* 221155 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78262 /* 221158 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78263 /* 221162 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78264 /* 221166 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78265 /* 221170 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78266 /* 221173 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78267 /* 221177 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78268 /* 221181 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78269 /* 221185 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78270 /* 221187 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78271 /* 221194 */ // (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)
78272 /* 221194 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rm),
78273 /* 221197 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78274 /* 221199 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78275 /* 221201 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78276 /* 221205 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78277 /* 221210 */ GIR_RootConstrainSelectedInstOperands,
78278 /* 221211 */ // GIR_Coverage, 24457,
78279 /* 221211 */ GIR_EraseRootFromParent_Done,
78280 /* 221212 */ // Label 5127: @221212
78281 /* 221212 */ GIM_Try, /*On fail goto*//*Label 5128*/ GIMT_Encode4(221274), // Rule ID 2188 //
78282 /* 221217 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78283 /* 221220 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78284 /* 221224 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78285 /* 221228 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78286 /* 221232 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78287 /* 221236 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78288 /* 221239 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78289 /* 221243 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78290 /* 221247 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78291 /* 221249 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78292 /* 221256 */ // (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)
78293 /* 221256 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDYrm),
78294 /* 221259 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78295 /* 221261 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78296 /* 221263 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78297 /* 221267 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78298 /* 221272 */ GIR_RootConstrainSelectedInstOperands,
78299 /* 221273 */ // GIR_Coverage, 2188,
78300 /* 221273 */ GIR_EraseRootFromParent_Done,
78301 /* 221274 */ // Label 5128: @221274
78302 /* 221274 */ GIM_Try, /*On fail goto*//*Label 5129*/ GIMT_Encode4(221336), // Rule ID 6441 //
78303 /* 221279 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78304 /* 221282 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78305 /* 221286 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78306 /* 221290 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78307 /* 221294 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78308 /* 221298 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78309 /* 221301 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78310 /* 221305 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78311 /* 221309 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78312 /* 221311 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78313 /* 221318 */ // (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)
78314 /* 221318 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rm),
78315 /* 221321 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78316 /* 221323 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78317 /* 221325 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78318 /* 221329 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78319 /* 221334 */ GIR_RootConstrainSelectedInstOperands,
78320 /* 221335 */ // GIR_Coverage, 6441,
78321 /* 221335 */ GIR_EraseRootFromParent_Done,
78322 /* 221336 */ // Label 5129: @221336
78323 /* 221336 */ GIM_Try, /*On fail goto*//*Label 5130*/ GIMT_Encode4(221367), // Rule ID 2186 //
78324 /* 221341 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78325 /* 221344 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78326 /* 221348 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78327 /* 221352 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78328 /* 221356 */ // (strict_fmul:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VMULPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
78329 /* 221356 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDYrr),
78330 /* 221361 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78331 /* 221365 */ GIR_RootConstrainSelectedInstOperands,
78332 /* 221366 */ // GIR_Coverage, 2186,
78333 /* 221366 */ GIR_Done,
78334 /* 221367 */ // Label 5130: @221367
78335 /* 221367 */ GIM_Try, /*On fail goto*//*Label 5131*/ GIMT_Encode4(221398), // Rule ID 6437 //
78336 /* 221372 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78337 /* 221375 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78338 /* 221379 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78339 /* 221383 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78340 /* 221387 */ // (strict_fmul:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VMULPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
78341 /* 221387 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rr),
78342 /* 221392 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78343 /* 221396 */ GIR_RootConstrainSelectedInstOperands,
78344 /* 221397 */ // GIR_Coverage, 6437,
78345 /* 221397 */ GIR_Done,
78346 /* 221398 */ // Label 5131: @221398
78347 /* 221398 */ GIM_Reject,
78348 /* 221399 */ // Label 5125: @221399
78349 /* 221399 */ GIM_Reject,
78350 /* 221400 */ // Label 5052: @221400
78351 /* 221400 */ GIM_Try, /*On fail goto*//*Label 5132*/ GIMT_Encode4(221559),
78352 /* 221405 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
78353 /* 221408 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
78354 /* 221411 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78355 /* 221415 */ GIM_Try, /*On fail goto*//*Label 5133*/ GIMT_Encode4(221473), // Rule ID 24473 //
78356 /* 221420 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
78357 /* 221423 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78358 /* 221427 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78359 /* 221431 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78360 /* 221434 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78361 /* 221438 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78362 /* 221442 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78363 /* 221446 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78364 /* 221448 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78365 /* 221455 */ // (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)
78366 /* 221455 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rm),
78367 /* 221458 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78368 /* 221460 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78369 /* 221462 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78370 /* 221466 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78371 /* 221471 */ GIR_RootConstrainSelectedInstOperands,
78372 /* 221472 */ // GIR_Coverage, 24473,
78373 /* 221472 */ GIR_EraseRootFromParent_Done,
78374 /* 221473 */ // Label 5133: @221473
78375 /* 221473 */ GIM_Try, /*On fail goto*//*Label 5134*/ GIMT_Encode4(221531), // Rule ID 6465 //
78376 /* 221478 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
78377 /* 221481 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78378 /* 221485 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78379 /* 221489 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78380 /* 221493 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78381 /* 221496 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78382 /* 221500 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78383 /* 221504 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78384 /* 221506 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78385 /* 221513 */ // (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)
78386 /* 221513 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rm),
78387 /* 221516 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78388 /* 221518 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78389 /* 221520 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78390 /* 221524 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78391 /* 221529 */ GIR_RootConstrainSelectedInstOperands,
78392 /* 221530 */ // GIR_Coverage, 6465,
78393 /* 221530 */ GIR_EraseRootFromParent_Done,
78394 /* 221531 */ // Label 5134: @221531
78395 /* 221531 */ GIM_Try, /*On fail goto*//*Label 5135*/ GIMT_Encode4(221558), // Rule ID 6461 //
78396 /* 221536 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
78397 /* 221539 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78398 /* 221543 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78399 /* 221547 */ // (strict_fmul:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VMULPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
78400 /* 221547 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rr),
78401 /* 221552 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78402 /* 221556 */ GIR_RootConstrainSelectedInstOperands,
78403 /* 221557 */ // GIR_Coverage, 6461,
78404 /* 221557 */ GIR_Done,
78405 /* 221558 */ // Label 5135: @221558
78406 /* 221558 */ GIM_Reject,
78407 /* 221559 */ // Label 5132: @221559
78408 /* 221559 */ GIM_Reject,
78409 /* 221560 */ // Label 5053: @221560
78410 /* 221560 */ GIM_Try, /*On fail goto*//*Label 5136*/ GIMT_Encode4(221882),
78411 /* 221565 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
78412 /* 221568 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
78413 /* 221571 */ GIM_Try, /*On fail goto*//*Label 5137*/ GIMT_Encode4(221633), // Rule ID 23475 //
78414 /* 221576 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78415 /* 221579 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78416 /* 221583 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78417 /* 221587 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78418 /* 221591 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78419 /* 221594 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78420 /* 221598 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78421 /* 221602 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78422 /* 221606 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78423 /* 221608 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78424 /* 221615 */ // (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)
78425 /* 221615 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSYrm),
78426 /* 221618 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78427 /* 221620 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78428 /* 221622 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78429 /* 221626 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78430 /* 221631 */ GIR_RootConstrainSelectedInstOperands,
78431 /* 221632 */ // GIR_Coverage, 23475,
78432 /* 221632 */ GIR_EraseRootFromParent_Done,
78433 /* 221633 */ // Label 5137: @221633
78434 /* 221633 */ GIM_Try, /*On fail goto*//*Label 5138*/ GIMT_Encode4(221695), // Rule ID 24441 //
78435 /* 221638 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78436 /* 221641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78437 /* 221645 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78438 /* 221649 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78439 /* 221653 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78440 /* 221656 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78441 /* 221660 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78442 /* 221664 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78443 /* 221668 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78444 /* 221670 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78445 /* 221677 */ // (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)
78446 /* 221677 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rm),
78447 /* 221680 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78448 /* 221682 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78449 /* 221684 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78450 /* 221688 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78451 /* 221693 */ GIR_RootConstrainSelectedInstOperands,
78452 /* 221694 */ // GIR_Coverage, 24441,
78453 /* 221694 */ GIR_EraseRootFromParent_Done,
78454 /* 221695 */ // Label 5138: @221695
78455 /* 221695 */ GIM_Try, /*On fail goto*//*Label 5139*/ GIMT_Encode4(221757), // Rule ID 2184 //
78456 /* 221700 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78457 /* 221703 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78458 /* 221707 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78459 /* 221711 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78460 /* 221715 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78461 /* 221719 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78462 /* 221722 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78463 /* 221726 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78464 /* 221730 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78465 /* 221732 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78466 /* 221739 */ // (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)
78467 /* 221739 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSYrm),
78468 /* 221742 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78469 /* 221744 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78470 /* 221746 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78471 /* 221750 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78472 /* 221755 */ GIR_RootConstrainSelectedInstOperands,
78473 /* 221756 */ // GIR_Coverage, 2184,
78474 /* 221756 */ GIR_EraseRootFromParent_Done,
78475 /* 221757 */ // Label 5139: @221757
78476 /* 221757 */ GIM_Try, /*On fail goto*//*Label 5140*/ GIMT_Encode4(221819), // Rule ID 6417 //
78477 /* 221762 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78478 /* 221765 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78479 /* 221769 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78480 /* 221773 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78481 /* 221777 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78482 /* 221781 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78483 /* 221784 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78484 /* 221788 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78485 /* 221792 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78486 /* 221794 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78487 /* 221801 */ // (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)
78488 /* 221801 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rm),
78489 /* 221804 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78490 /* 221806 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78491 /* 221808 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78492 /* 221812 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78493 /* 221817 */ GIR_RootConstrainSelectedInstOperands,
78494 /* 221818 */ // GIR_Coverage, 6417,
78495 /* 221818 */ GIR_EraseRootFromParent_Done,
78496 /* 221819 */ // Label 5140: @221819
78497 /* 221819 */ GIM_Try, /*On fail goto*//*Label 5141*/ GIMT_Encode4(221850), // Rule ID 2182 //
78498 /* 221824 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78499 /* 221827 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78500 /* 221831 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78501 /* 221835 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78502 /* 221839 */ // (strict_fmul:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VMULPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
78503 /* 221839 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSYrr),
78504 /* 221844 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78505 /* 221848 */ GIR_RootConstrainSelectedInstOperands,
78506 /* 221849 */ // GIR_Coverage, 2182,
78507 /* 221849 */ GIR_Done,
78508 /* 221850 */ // Label 5141: @221850
78509 /* 221850 */ GIM_Try, /*On fail goto*//*Label 5142*/ GIMT_Encode4(221881), // Rule ID 6413 //
78510 /* 221855 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78511 /* 221858 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78512 /* 221862 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78513 /* 221866 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78514 /* 221870 */ // (strict_fmul:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VMULPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
78515 /* 221870 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rr),
78516 /* 221875 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78517 /* 221879 */ GIR_RootConstrainSelectedInstOperands,
78518 /* 221880 */ // GIR_Coverage, 6413,
78519 /* 221880 */ GIR_Done,
78520 /* 221881 */ // Label 5142: @221881
78521 /* 221881 */ GIM_Reject,
78522 /* 221882 */ // Label 5136: @221882
78523 /* 221882 */ GIM_Reject,
78524 /* 221883 */ // Label 5054: @221883
78525 /* 221883 */ GIM_Try, /*On fail goto*//*Label 5143*/ GIMT_Encode4(222042),
78526 /* 221888 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
78527 /* 221891 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
78528 /* 221894 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78529 /* 221898 */ GIM_Try, /*On fail goto*//*Label 5144*/ GIMT_Encode4(221956), // Rule ID 24425 //
78530 /* 221903 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
78531 /* 221906 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78532 /* 221910 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78533 /* 221914 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78534 /* 221917 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78535 /* 221921 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78536 /* 221925 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78537 /* 221929 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78538 /* 221931 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78539 /* 221938 */ // (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)
78540 /* 221938 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZrm),
78541 /* 221941 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78542 /* 221943 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78543 /* 221945 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78544 /* 221949 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78545 /* 221954 */ GIR_RootConstrainSelectedInstOperands,
78546 /* 221955 */ // GIR_Coverage, 24425,
78547 /* 221955 */ GIR_EraseRootFromParent_Done,
78548 /* 221956 */ // Label 5144: @221956
78549 /* 221956 */ GIM_Try, /*On fail goto*//*Label 5145*/ GIMT_Encode4(222014), // Rule ID 6393 //
78550 /* 221961 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
78551 /* 221964 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78552 /* 221968 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78553 /* 221972 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78554 /* 221976 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78555 /* 221979 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78556 /* 221983 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78557 /* 221987 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78558 /* 221989 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78559 /* 221996 */ // (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)
78560 /* 221996 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZrm),
78561 /* 221999 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78562 /* 222001 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78563 /* 222003 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78564 /* 222007 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78565 /* 222012 */ GIR_RootConstrainSelectedInstOperands,
78566 /* 222013 */ // GIR_Coverage, 6393,
78567 /* 222013 */ GIR_EraseRootFromParent_Done,
78568 /* 222014 */ // Label 5145: @222014
78569 /* 222014 */ GIM_Try, /*On fail goto*//*Label 5146*/ GIMT_Encode4(222041), // Rule ID 6389 //
78570 /* 222019 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
78571 /* 222022 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78572 /* 222026 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78573 /* 222030 */ // (strict_fmul:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VMULPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
78574 /* 222030 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZrr),
78575 /* 222035 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78576 /* 222039 */ GIR_RootConstrainSelectedInstOperands,
78577 /* 222040 */ // GIR_Coverage, 6389,
78578 /* 222040 */ GIR_Done,
78579 /* 222041 */ // Label 5146: @222041
78580 /* 222041 */ GIM_Reject,
78581 /* 222042 */ // Label 5143: @222042
78582 /* 222042 */ GIM_Reject,
78583 /* 222043 */ // Label 5055: @222043
78584 /* 222043 */ GIM_Try, /*On fail goto*//*Label 5147*/ GIMT_Encode4(222202),
78585 /* 222048 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
78586 /* 222051 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
78587 /* 222054 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78588 /* 222058 */ GIM_Try, /*On fail goto*//*Label 5148*/ GIMT_Encode4(222116), // Rule ID 24481 //
78589 /* 222063 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
78590 /* 222066 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78591 /* 222070 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78592 /* 222074 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78593 /* 222077 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78594 /* 222081 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78595 /* 222085 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78596 /* 222089 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78597 /* 222091 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78598 /* 222098 */ // (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)
78599 /* 222098 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rm),
78600 /* 222101 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78601 /* 222103 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78602 /* 222105 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78603 /* 222109 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78604 /* 222114 */ GIR_RootConstrainSelectedInstOperands,
78605 /* 222115 */ // GIR_Coverage, 24481,
78606 /* 222115 */ GIR_EraseRootFromParent_Done,
78607 /* 222116 */ // Label 5148: @222116
78608 /* 222116 */ GIM_Try, /*On fail goto*//*Label 5149*/ GIMT_Encode4(222174), // Rule ID 6477 //
78609 /* 222121 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
78610 /* 222124 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78611 /* 222128 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78612 /* 222132 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78613 /* 222136 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78614 /* 222139 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78615 /* 222143 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78616 /* 222147 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78617 /* 222149 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78618 /* 222156 */ // (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)
78619 /* 222156 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rm),
78620 /* 222159 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78621 /* 222161 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78622 /* 222163 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78623 /* 222167 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78624 /* 222172 */ GIR_RootConstrainSelectedInstOperands,
78625 /* 222173 */ // GIR_Coverage, 6477,
78626 /* 222173 */ GIR_EraseRootFromParent_Done,
78627 /* 222174 */ // Label 5149: @222174
78628 /* 222174 */ GIM_Try, /*On fail goto*//*Label 5150*/ GIMT_Encode4(222201), // Rule ID 6473 //
78629 /* 222179 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
78630 /* 222182 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78631 /* 222186 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78632 /* 222190 */ // (strict_fmul:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VMULPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
78633 /* 222190 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rr),
78634 /* 222195 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78635 /* 222199 */ GIR_RootConstrainSelectedInstOperands,
78636 /* 222200 */ // GIR_Coverage, 6473,
78637 /* 222200 */ GIR_Done,
78638 /* 222201 */ // Label 5150: @222201
78639 /* 222201 */ GIM_Reject,
78640 /* 222202 */ // Label 5147: @222202
78641 /* 222202 */ GIM_Reject,
78642 /* 222203 */ // Label 5056: @222203
78643 /* 222203 */ GIM_Try, /*On fail goto*//*Label 5151*/ GIMT_Encode4(222362),
78644 /* 222208 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
78645 /* 222211 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
78646 /* 222214 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78647 /* 222218 */ GIM_Try, /*On fail goto*//*Label 5152*/ GIMT_Encode4(222276), // Rule ID 24417 //
78648 /* 222223 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
78649 /* 222226 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78650 /* 222230 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78651 /* 222234 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78652 /* 222237 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78653 /* 222241 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78654 /* 222245 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78655 /* 222249 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78656 /* 222251 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78657 /* 222258 */ // (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)
78658 /* 222258 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZrm),
78659 /* 222261 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78660 /* 222263 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78661 /* 222265 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78662 /* 222269 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78663 /* 222274 */ GIR_RootConstrainSelectedInstOperands,
78664 /* 222275 */ // GIR_Coverage, 24417,
78665 /* 222275 */ GIR_EraseRootFromParent_Done,
78666 /* 222276 */ // Label 5152: @222276
78667 /* 222276 */ GIM_Try, /*On fail goto*//*Label 5153*/ GIMT_Encode4(222334), // Rule ID 6381 //
78668 /* 222281 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
78669 /* 222284 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78670 /* 222288 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78671 /* 222292 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78672 /* 222296 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78673 /* 222299 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78674 /* 222303 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78675 /* 222307 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78676 /* 222309 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78677 /* 222316 */ // (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)
78678 /* 222316 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZrm),
78679 /* 222319 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78680 /* 222321 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78681 /* 222323 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78682 /* 222327 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78683 /* 222332 */ GIR_RootConstrainSelectedInstOperands,
78684 /* 222333 */ // GIR_Coverage, 6381,
78685 /* 222333 */ GIR_EraseRootFromParent_Done,
78686 /* 222334 */ // Label 5153: @222334
78687 /* 222334 */ GIM_Try, /*On fail goto*//*Label 5154*/ GIMT_Encode4(222361), // Rule ID 6377 //
78688 /* 222339 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
78689 /* 222342 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78690 /* 222346 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78691 /* 222350 */ // (strict_fmul:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VMULPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
78692 /* 222350 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZrr),
78693 /* 222355 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78694 /* 222359 */ GIR_RootConstrainSelectedInstOperands,
78695 /* 222360 */ // GIR_Coverage, 6377,
78696 /* 222360 */ GIR_Done,
78697 /* 222361 */ // Label 5154: @222361
78698 /* 222361 */ GIM_Reject,
78699 /* 222362 */ // Label 5151: @222362
78700 /* 222362 */ GIM_Reject,
78701 /* 222363 */ // Label 5057: @222363
78702 /* 222363 */ GIM_Try, /*On fail goto*//*Label 5155*/ GIMT_Encode4(222522),
78703 /* 222368 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
78704 /* 222371 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
78705 /* 222374 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78706 /* 222378 */ GIM_Try, /*On fail goto*//*Label 5156*/ GIMT_Encode4(222436), // Rule ID 24465 //
78707 /* 222383 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
78708 /* 222386 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78709 /* 222390 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78710 /* 222394 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78711 /* 222397 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78712 /* 222401 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78713 /* 222405 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78714 /* 222409 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78715 /* 222411 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78716 /* 222418 */ // (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)
78717 /* 222418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZrm),
78718 /* 222421 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78719 /* 222423 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78720 /* 222425 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78721 /* 222429 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78722 /* 222434 */ GIR_RootConstrainSelectedInstOperands,
78723 /* 222435 */ // GIR_Coverage, 24465,
78724 /* 222435 */ GIR_EraseRootFromParent_Done,
78725 /* 222436 */ // Label 5156: @222436
78726 /* 222436 */ GIM_Try, /*On fail goto*//*Label 5157*/ GIMT_Encode4(222494), // Rule ID 6453 //
78727 /* 222441 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
78728 /* 222444 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78729 /* 222448 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78730 /* 222452 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78731 /* 222456 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78732 /* 222459 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78733 /* 222463 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78734 /* 222467 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78735 /* 222469 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78736 /* 222476 */ // (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)
78737 /* 222476 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZrm),
78738 /* 222479 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78739 /* 222481 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78740 /* 222483 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78741 /* 222487 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78742 /* 222492 */ GIR_RootConstrainSelectedInstOperands,
78743 /* 222493 */ // GIR_Coverage, 6453,
78744 /* 222493 */ GIR_EraseRootFromParent_Done,
78745 /* 222494 */ // Label 5157: @222494
78746 /* 222494 */ GIM_Try, /*On fail goto*//*Label 5158*/ GIMT_Encode4(222521), // Rule ID 6449 //
78747 /* 222499 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
78748 /* 222502 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78749 /* 222506 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78750 /* 222510 */ // (strict_fmul:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VMULPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
78751 /* 222510 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZrr),
78752 /* 222515 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78753 /* 222519 */ GIR_RootConstrainSelectedInstOperands,
78754 /* 222520 */ // GIR_Coverage, 6449,
78755 /* 222520 */ GIR_Done,
78756 /* 222521 */ // Label 5158: @222521
78757 /* 222521 */ GIM_Reject,
78758 /* 222522 */ // Label 5155: @222522
78759 /* 222522 */ GIM_Reject,
78760 /* 222523 */ // Label 5058: @222523
78761 /* 222523 */ GIM_Reject,
78762 /* 222524 */ // Label 72: @222524
78763 /* 222524 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 5172*/ GIMT_Encode4(226213),
78764 /* 222535 */ /*GILLT_s16*//*Label 5159*/ GIMT_Encode4(222619),
78765 /* 222539 */ /*GILLT_s32*//*Label 5160*/ GIMT_Encode4(222717),
78766 /* 222543 */ /*GILLT_s64*//*Label 5161*/ GIMT_Encode4(223436),
78767 /* 222547 */ /*GILLT_s80*//*Label 5162*/ GIMT_Encode4(224299), GIMT_Encode4(0), GIMT_Encode4(0),
78768 /* 222559 */ /*GILLT_v2s64*//*Label 5163*/ GIMT_Encode4(224865), GIMT_Encode4(0),
78769 /* 222567 */ /*GILLT_v4s32*//*Label 5164*/ GIMT_Encode4(225095),
78770 /* 222571 */ /*GILLT_v4s64*//*Label 5165*/ GIMT_Encode4(225325), GIMT_Encode4(0),
78771 /* 222579 */ /*GILLT_v8s16*//*Label 5166*/ GIMT_Encode4(225524),
78772 /* 222583 */ /*GILLT_v8s32*//*Label 5167*/ GIMT_Encode4(225622),
78773 /* 222587 */ /*GILLT_v8s64*//*Label 5168*/ GIMT_Encode4(225821), GIMT_Encode4(0), GIMT_Encode4(0),
78774 /* 222599 */ /*GILLT_v16s16*//*Label 5169*/ GIMT_Encode4(225919),
78775 /* 222603 */ /*GILLT_v16s32*//*Label 5170*/ GIMT_Encode4(226017), GIMT_Encode4(0), GIMT_Encode4(0),
78776 /* 222615 */ /*GILLT_v32s16*//*Label 5171*/ GIMT_Encode4(226115),
78777 /* 222619 */ // Label 5159: @222619
78778 /* 222619 */ GIM_Try, /*On fail goto*//*Label 5173*/ GIMT_Encode4(222716),
78779 /* 222624 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
78780 /* 222627 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
78781 /* 222630 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
78782 /* 222634 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
78783 /* 222638 */ GIM_Try, /*On fail goto*//*Label 5174*/ GIMT_Encode4(222692), // Rule ID 6129 //
78784 /* 222643 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
78785 /* 222646 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78786 /* 222650 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78787 /* 222654 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78788 /* 222657 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78789 /* 222661 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78790 /* 222665 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78791 /* 222667 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78792 /* 222674 */ // (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)
78793 /* 222674 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSHZrm),
78794 /* 222677 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78795 /* 222679 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78796 /* 222681 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78797 /* 222685 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78798 /* 222690 */ GIR_RootConstrainSelectedInstOperands,
78799 /* 222691 */ // GIR_Coverage, 6129,
78800 /* 222691 */ GIR_EraseRootFromParent_Done,
78801 /* 222692 */ // Label 5174: @222692
78802 /* 222692 */ GIM_Try, /*On fail goto*//*Label 5175*/ GIMT_Encode4(222715), // Rule ID 6127 //
78803 /* 222697 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
78804 /* 222700 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
78805 /* 222704 */ // (strict_fdiv:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VDIVSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
78806 /* 222704 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSHZrr),
78807 /* 222709 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78808 /* 222713 */ GIR_RootConstrainSelectedInstOperands,
78809 /* 222714 */ // GIR_Coverage, 6127,
78810 /* 222714 */ GIR_Done,
78811 /* 222715 */ // Label 5175: @222715
78812 /* 222715 */ GIM_Reject,
78813 /* 222716 */ // Label 5173: @222716
78814 /* 222716 */ GIM_Reject,
78815 /* 222717 */ // Label 5160: @222717
78816 /* 222717 */ GIM_Try, /*On fail goto*//*Label 5176*/ GIMT_Encode4(223435),
78817 /* 222722 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
78818 /* 222725 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
78819 /* 222728 */ GIM_Try, /*On fail goto*//*Label 5177*/ GIMT_Encode4(222793), // Rule ID 1030 //
78820 /* 222733 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
78821 /* 222736 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
78822 /* 222740 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78823 /* 222744 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78824 /* 222748 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
78825 /* 222755 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78826 /* 222759 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
78827 /* 222763 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78828 /* 222765 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78829 /* 222772 */ // (strict_fdiv:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (DIVR_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
78830 /* 222772 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m32),
78831 /* 222775 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78832 /* 222777 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78833 /* 222779 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78834 /* 222783 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78835 /* 222786 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78836 /* 222791 */ GIR_RootConstrainSelectedInstOperands,
78837 /* 222792 */ // GIR_Coverage, 1030,
78838 /* 222792 */ GIR_EraseRootFromParent_Done,
78839 /* 222793 */ // Label 5177: @222793
78840 /* 222793 */ GIM_Try, /*On fail goto*//*Label 5178*/ GIMT_Encode4(222858), // Rule ID 1032 //
78841 /* 222798 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
78842 /* 222801 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
78843 /* 222805 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78844 /* 222809 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78845 /* 222813 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
78846 /* 222820 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78847 /* 222824 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
78848 /* 222828 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78849 /* 222830 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78850 /* 222837 */ // (strict_fdiv:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (DIVR_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
78851 /* 222837 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m32),
78852 /* 222840 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78853 /* 222842 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78854 /* 222844 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78855 /* 222848 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78856 /* 222851 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78857 /* 222856 */ GIR_RootConstrainSelectedInstOperands,
78858 /* 222857 */ // GIR_Coverage, 1032,
78859 /* 222857 */ GIR_EraseRootFromParent_Done,
78860 /* 222858 */ // Label 5178: @222858
78861 /* 222858 */ GIM_Try, /*On fail goto*//*Label 5179*/ GIMT_Encode4(222923), // Rule ID 1020 //
78862 /* 222863 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
78863 /* 222866 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
78864 /* 222870 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78865 /* 222874 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78866 /* 222878 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78867 /* 222881 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78868 /* 222885 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78869 /* 222889 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
78870 /* 222893 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78871 /* 222895 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78872 /* 222902 */ // (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)
78873 /* 222902 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp32m),
78874 /* 222905 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78875 /* 222907 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78876 /* 222909 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78877 /* 222913 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78878 /* 222916 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78879 /* 222921 */ GIR_RootConstrainSelectedInstOperands,
78880 /* 222922 */ // GIR_Coverage, 1020,
78881 /* 222922 */ GIR_EraseRootFromParent_Done,
78882 /* 222923 */ // Label 5179: @222923
78883 /* 222923 */ GIM_Try, /*On fail goto*//*Label 5180*/ GIMT_Encode4(222988), // Rule ID 1008 //
78884 /* 222928 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
78885 /* 222931 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
78886 /* 222935 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
78887 /* 222939 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78888 /* 222943 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78889 /* 222947 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
78890 /* 222954 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78891 /* 222958 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78892 /* 222960 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78893 /* 222967 */ // (strict_fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
78894 /* 222967 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m32),
78895 /* 222970 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78896 /* 222972 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78897 /* 222974 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78898 /* 222978 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78899 /* 222981 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78900 /* 222986 */ GIR_RootConstrainSelectedInstOperands,
78901 /* 222987 */ // GIR_Coverage, 1008,
78902 /* 222987 */ GIR_EraseRootFromParent_Done,
78903 /* 222988 */ // Label 5180: @222988
78904 /* 222988 */ GIM_Try, /*On fail goto*//*Label 5181*/ GIMT_Encode4(223053), // Rule ID 1010 //
78905 /* 222993 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
78906 /* 222996 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
78907 /* 223000 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
78908 /* 223004 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78909 /* 223008 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78910 /* 223012 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
78911 /* 223019 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78912 /* 223023 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78913 /* 223025 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78914 /* 223032 */ // (strict_fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
78915 /* 223032 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m32),
78916 /* 223035 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78917 /* 223037 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78918 /* 223039 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78919 /* 223043 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78920 /* 223046 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78921 /* 223051 */ GIR_RootConstrainSelectedInstOperands,
78922 /* 223052 */ // GIR_Coverage, 1010,
78923 /* 223052 */ GIR_EraseRootFromParent_Done,
78924 /* 223053 */ // Label 5181: @223053
78925 /* 223053 */ GIM_Try, /*On fail goto*//*Label 5182*/ GIMT_Encode4(223118), // Rule ID 998 //
78926 /* 223058 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
78927 /* 223061 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
78928 /* 223065 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
78929 /* 223069 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78930 /* 223073 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78931 /* 223077 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78932 /* 223080 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78933 /* 223084 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78934 /* 223088 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78935 /* 223090 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78936 /* 223097 */ // (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)
78937 /* 223097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp32m),
78938 /* 223100 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78939 /* 223102 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78940 /* 223104 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78941 /* 223108 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78942 /* 223111 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78943 /* 223116 */ GIR_RootConstrainSelectedInstOperands,
78944 /* 223117 */ // GIR_Coverage, 998,
78945 /* 223117 */ GIR_EraseRootFromParent_Done,
78946 /* 223118 */ // Label 5182: @223118
78947 /* 223118 */ GIM_Try, /*On fail goto*//*Label 5183*/ GIMT_Encode4(223180), // Rule ID 2280 //
78948 /* 223123 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
78949 /* 223126 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78950 /* 223130 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78951 /* 223134 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78952 /* 223138 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78953 /* 223142 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78954 /* 223145 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78955 /* 223149 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78956 /* 223153 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78957 /* 223155 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78958 /* 223162 */ // (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)
78959 /* 223162 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSrm),
78960 /* 223165 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78961 /* 223167 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78962 /* 223169 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78963 /* 223173 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78964 /* 223178 */ GIR_RootConstrainSelectedInstOperands,
78965 /* 223179 */ // GIR_Coverage, 2280,
78966 /* 223179 */ GIR_EraseRootFromParent_Done,
78967 /* 223180 */ // Label 5183: @223180
78968 /* 223180 */ GIM_Try, /*On fail goto*//*Label 5184*/ GIMT_Encode4(223242), // Rule ID 2288 //
78969 /* 223185 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
78970 /* 223188 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78971 /* 223192 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78972 /* 223196 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78973 /* 223200 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78974 /* 223204 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78975 /* 223207 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78976 /* 223211 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78977 /* 223215 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78978 /* 223217 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78979 /* 223224 */ // (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)
78980 /* 223224 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSSrm),
78981 /* 223227 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78982 /* 223229 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78983 /* 223231 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78984 /* 223235 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78985 /* 223240 */ GIR_RootConstrainSelectedInstOperands,
78986 /* 223241 */ // GIR_Coverage, 2288,
78987 /* 223241 */ GIR_EraseRootFromParent_Done,
78988 /* 223242 */ // Label 5184: @223242
78989 /* 223242 */ GIM_Try, /*On fail goto*//*Label 5185*/ GIMT_Encode4(223304), // Rule ID 6091 //
78990 /* 223247 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
78991 /* 223250 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
78992 /* 223254 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
78993 /* 223258 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78994 /* 223262 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78995 /* 223266 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78996 /* 223269 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78997 /* 223273 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78998 /* 223277 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78999 /* 223279 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79000 /* 223286 */ // (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)
79001 /* 223286 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrm),
79002 /* 223289 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79003 /* 223291 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79004 /* 223293 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79005 /* 223297 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79006 /* 223302 */ GIR_RootConstrainSelectedInstOperands,
79007 /* 223303 */ // GIR_Coverage, 6091,
79008 /* 223303 */ GIR_EraseRootFromParent_Done,
79009 /* 223304 */ // Label 5185: @223304
79010 /* 223304 */ GIM_Try, /*On fail goto*//*Label 5186*/ GIMT_Encode4(223341), // Rule ID 904 //
79011 /* 223309 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
79012 /* 223312 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79013 /* 223316 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79014 /* 223320 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79015 /* 223324 */ // (strict_fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (DIV_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
79016 /* 223324 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp32),
79017 /* 223329 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
79018 /* 223335 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
79019 /* 223339 */ GIR_RootConstrainSelectedInstOperands,
79020 /* 223340 */ // GIR_Coverage, 904,
79021 /* 223340 */ GIR_Done,
79022 /* 223341 */ // Label 5186: @223341
79023 /* 223341 */ GIM_Try, /*On fail goto*//*Label 5187*/ GIMT_Encode4(223372), // Rule ID 2278 //
79024 /* 223346 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
79025 /* 223349 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79026 /* 223353 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79027 /* 223357 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79028 /* 223361 */ // (strict_fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VDIVSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
79029 /* 223361 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSSrr),
79030 /* 223366 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79031 /* 223370 */ GIR_RootConstrainSelectedInstOperands,
79032 /* 223371 */ // GIR_Coverage, 2278,
79033 /* 223371 */ GIR_Done,
79034 /* 223372 */ // Label 5187: @223372
79035 /* 223372 */ GIM_Try, /*On fail goto*//*Label 5188*/ GIMT_Encode4(223403), // Rule ID 2286 //
79036 /* 223377 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
79037 /* 223380 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79038 /* 223384 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79039 /* 223388 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79040 /* 223392 */ // (strict_fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (DIVSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
79041 /* 223392 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVSSrr),
79042 /* 223397 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79043 /* 223401 */ GIR_RootConstrainSelectedInstOperands,
79044 /* 223402 */ // GIR_Coverage, 2286,
79045 /* 223402 */ GIR_Done,
79046 /* 223403 */ // Label 5188: @223403
79047 /* 223403 */ GIM_Try, /*On fail goto*//*Label 5189*/ GIMT_Encode4(223434), // Rule ID 6089 //
79048 /* 223408 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
79049 /* 223411 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79050 /* 223415 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79051 /* 223419 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79052 /* 223423 */ // (strict_fdiv:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VDIVSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
79053 /* 223423 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrr),
79054 /* 223428 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79055 /* 223432 */ GIR_RootConstrainSelectedInstOperands,
79056 /* 223433 */ // GIR_Coverage, 6089,
79057 /* 223433 */ GIR_Done,
79058 /* 223434 */ // Label 5189: @223434
79059 /* 223434 */ GIM_Reject,
79060 /* 223435 */ // Label 5176: @223435
79061 /* 223435 */ GIM_Reject,
79062 /* 223436 */ // Label 5161: @223436
79063 /* 223436 */ GIM_Try, /*On fail goto*//*Label 5190*/ GIMT_Encode4(224298),
79064 /* 223441 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
79065 /* 223444 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
79066 /* 223447 */ GIM_Try, /*On fail goto*//*Label 5191*/ GIMT_Encode4(223512), // Rule ID 1034 //
79067 /* 223452 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
79068 /* 223455 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79069 /* 223459 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79070 /* 223463 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79071 /* 223467 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
79072 /* 223474 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79073 /* 223478 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79074 /* 223482 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79075 /* 223484 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79076 /* 223491 */ // (strict_fdiv:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (DIVR_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
79077 /* 223491 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m64),
79078 /* 223494 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79079 /* 223496 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79080 /* 223498 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79081 /* 223502 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79082 /* 223505 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79083 /* 223510 */ GIR_RootConstrainSelectedInstOperands,
79084 /* 223511 */ // GIR_Coverage, 1034,
79085 /* 223511 */ GIR_EraseRootFromParent_Done,
79086 /* 223512 */ // Label 5191: @223512
79087 /* 223512 */ GIM_Try, /*On fail goto*//*Label 5192*/ GIMT_Encode4(223577), // Rule ID 1036 //
79088 /* 223517 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
79089 /* 223520 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79090 /* 223524 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79091 /* 223528 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79092 /* 223532 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79093 /* 223539 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79094 /* 223543 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79095 /* 223547 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79096 /* 223549 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79097 /* 223556 */ // (strict_fdiv:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (DIVR_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
79098 /* 223556 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m64),
79099 /* 223559 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79100 /* 223561 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79101 /* 223563 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79102 /* 223567 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79103 /* 223570 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79104 /* 223575 */ GIR_RootConstrainSelectedInstOperands,
79105 /* 223576 */ // GIR_Coverage, 1036,
79106 /* 223576 */ GIR_EraseRootFromParent_Done,
79107 /* 223577 */ // Label 5192: @223577
79108 /* 223577 */ GIM_Try, /*On fail goto*//*Label 5193*/ GIMT_Encode4(223642), // Rule ID 1022 //
79109 /* 223582 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
79110 /* 223585 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79111 /* 223589 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79112 /* 223593 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79113 /* 223597 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79114 /* 223600 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79115 /* 223604 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79116 /* 223608 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79117 /* 223612 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79118 /* 223614 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79119 /* 223621 */ // (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)
79120 /* 223621 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp64m),
79121 /* 223624 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79122 /* 223626 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79123 /* 223628 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79124 /* 223632 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79125 /* 223635 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79126 /* 223640 */ GIR_RootConstrainSelectedInstOperands,
79127 /* 223641 */ // GIR_Coverage, 1022,
79128 /* 223641 */ GIR_EraseRootFromParent_Done,
79129 /* 223642 */ // Label 5193: @223642
79130 /* 223642 */ GIM_Try, /*On fail goto*//*Label 5194*/ GIMT_Encode4(223714), // Rule ID 1024 //
79131 /* 223647 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
79132 /* 223650 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79133 /* 223654 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79134 /* 223658 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79135 /* 223662 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79136 /* 223665 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79137 /* 223669 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79138 /* 223676 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79139 /* 223680 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79140 /* 223684 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79141 /* 223686 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79142 /* 223693 */ // (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)
79143 /* 223693 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp64m32),
79144 /* 223696 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79145 /* 223698 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79146 /* 223700 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79147 /* 223704 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79148 /* 223707 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79149 /* 223712 */ GIR_RootConstrainSelectedInstOperands,
79150 /* 223713 */ // GIR_Coverage, 1024,
79151 /* 223713 */ GIR_EraseRootFromParent_Done,
79152 /* 223714 */ // Label 5194: @223714
79153 /* 223714 */ GIM_Try, /*On fail goto*//*Label 5195*/ GIMT_Encode4(223779), // Rule ID 1012 //
79154 /* 223719 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
79155 /* 223722 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79156 /* 223726 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79157 /* 223730 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79158 /* 223734 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79159 /* 223738 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
79160 /* 223745 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79161 /* 223749 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79162 /* 223751 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79163 /* 223758 */ // (strict_fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
79164 /* 223758 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m64),
79165 /* 223761 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79166 /* 223763 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79167 /* 223765 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79168 /* 223769 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79169 /* 223772 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79170 /* 223777 */ GIR_RootConstrainSelectedInstOperands,
79171 /* 223778 */ // GIR_Coverage, 1012,
79172 /* 223778 */ GIR_EraseRootFromParent_Done,
79173 /* 223779 */ // Label 5195: @223779
79174 /* 223779 */ GIM_Try, /*On fail goto*//*Label 5196*/ GIMT_Encode4(223844), // Rule ID 1014 //
79175 /* 223784 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
79176 /* 223787 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79177 /* 223791 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79178 /* 223795 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79179 /* 223799 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79180 /* 223803 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79181 /* 223810 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79182 /* 223814 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79183 /* 223816 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79184 /* 223823 */ // (strict_fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
79185 /* 223823 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m64),
79186 /* 223826 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79187 /* 223828 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79188 /* 223830 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79189 /* 223834 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79190 /* 223837 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79191 /* 223842 */ GIR_RootConstrainSelectedInstOperands,
79192 /* 223843 */ // GIR_Coverage, 1014,
79193 /* 223843 */ GIR_EraseRootFromParent_Done,
79194 /* 223844 */ // Label 5196: @223844
79195 /* 223844 */ GIM_Try, /*On fail goto*//*Label 5197*/ GIMT_Encode4(223909), // Rule ID 1000 //
79196 /* 223849 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
79197 /* 223852 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79198 /* 223856 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79199 /* 223860 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79200 /* 223864 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79201 /* 223868 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79202 /* 223871 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79203 /* 223875 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79204 /* 223879 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79205 /* 223881 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79206 /* 223888 */ // (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)
79207 /* 223888 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64m),
79208 /* 223891 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79209 /* 223893 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79210 /* 223895 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79211 /* 223899 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79212 /* 223902 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79213 /* 223907 */ GIR_RootConstrainSelectedInstOperands,
79214 /* 223908 */ // GIR_Coverage, 1000,
79215 /* 223908 */ GIR_EraseRootFromParent_Done,
79216 /* 223909 */ // Label 5197: @223909
79217 /* 223909 */ GIM_Try, /*On fail goto*//*Label 5198*/ GIMT_Encode4(223981), // Rule ID 1002 //
79218 /* 223914 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
79219 /* 223917 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79220 /* 223921 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79221 /* 223925 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79222 /* 223929 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79223 /* 223933 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79224 /* 223936 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79225 /* 223940 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79226 /* 223947 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79227 /* 223951 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79228 /* 223953 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79229 /* 223960 */ // (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)
79230 /* 223960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64m32),
79231 /* 223963 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79232 /* 223965 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79233 /* 223967 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79234 /* 223971 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79235 /* 223974 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79236 /* 223979 */ GIR_RootConstrainSelectedInstOperands,
79237 /* 223980 */ // GIR_Coverage, 1002,
79238 /* 223980 */ GIR_EraseRootFromParent_Done,
79239 /* 223981 */ // Label 5198: @223981
79240 /* 223981 */ GIM_Try, /*On fail goto*//*Label 5199*/ GIMT_Encode4(224043), // Rule ID 2284 //
79241 /* 223986 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
79242 /* 223989 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79243 /* 223993 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79244 /* 223997 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79245 /* 224001 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79246 /* 224005 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79247 /* 224008 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79248 /* 224012 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79249 /* 224016 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79250 /* 224018 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79251 /* 224025 */ // (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)
79252 /* 224025 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDrm),
79253 /* 224028 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79254 /* 224030 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79255 /* 224032 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79256 /* 224036 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79257 /* 224041 */ GIR_RootConstrainSelectedInstOperands,
79258 /* 224042 */ // GIR_Coverage, 2284,
79259 /* 224042 */ GIR_EraseRootFromParent_Done,
79260 /* 224043 */ // Label 5199: @224043
79261 /* 224043 */ GIM_Try, /*On fail goto*//*Label 5200*/ GIMT_Encode4(224105), // Rule ID 2292 //
79262 /* 224048 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
79263 /* 224051 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79264 /* 224055 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79265 /* 224059 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79266 /* 224063 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79267 /* 224067 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79268 /* 224070 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79269 /* 224074 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79270 /* 224078 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79271 /* 224080 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79272 /* 224087 */ // (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)
79273 /* 224087 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSDrm),
79274 /* 224090 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79275 /* 224092 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79276 /* 224094 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79277 /* 224098 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79278 /* 224103 */ GIR_RootConstrainSelectedInstOperands,
79279 /* 224104 */ // GIR_Coverage, 2292,
79280 /* 224104 */ GIR_EraseRootFromParent_Done,
79281 /* 224105 */ // Label 5200: @224105
79282 /* 224105 */ GIM_Try, /*On fail goto*//*Label 5201*/ GIMT_Encode4(224167), // Rule ID 6110 //
79283 /* 224110 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
79284 /* 224113 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79285 /* 224117 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79286 /* 224121 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79287 /* 224125 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79288 /* 224129 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79289 /* 224132 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79290 /* 224136 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79291 /* 224140 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79292 /* 224142 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79293 /* 224149 */ // (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)
79294 /* 224149 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrm),
79295 /* 224152 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79296 /* 224154 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79297 /* 224156 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79298 /* 224160 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79299 /* 224165 */ GIR_RootConstrainSelectedInstOperands,
79300 /* 224166 */ // GIR_Coverage, 6110,
79301 /* 224166 */ GIR_EraseRootFromParent_Done,
79302 /* 224167 */ // Label 5201: @224167
79303 /* 224167 */ GIM_Try, /*On fail goto*//*Label 5202*/ GIMT_Encode4(224204), // Rule ID 906 //
79304 /* 224172 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
79305 /* 224175 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79306 /* 224179 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79307 /* 224183 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79308 /* 224187 */ // (strict_fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (DIV_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
79309 /* 224187 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64),
79310 /* 224192 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
79311 /* 224198 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
79312 /* 224202 */ GIR_RootConstrainSelectedInstOperands,
79313 /* 224203 */ // GIR_Coverage, 906,
79314 /* 224203 */ GIR_Done,
79315 /* 224204 */ // Label 5202: @224204
79316 /* 224204 */ GIM_Try, /*On fail goto*//*Label 5203*/ GIMT_Encode4(224235), // Rule ID 2282 //
79317 /* 224209 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
79318 /* 224212 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79319 /* 224216 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79320 /* 224220 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79321 /* 224224 */ // (strict_fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VDIVSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
79322 /* 224224 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSDrr),
79323 /* 224229 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79324 /* 224233 */ GIR_RootConstrainSelectedInstOperands,
79325 /* 224234 */ // GIR_Coverage, 2282,
79326 /* 224234 */ GIR_Done,
79327 /* 224235 */ // Label 5203: @224235
79328 /* 224235 */ GIM_Try, /*On fail goto*//*Label 5204*/ GIMT_Encode4(224266), // Rule ID 2290 //
79329 /* 224240 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
79330 /* 224243 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79331 /* 224247 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79332 /* 224251 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79333 /* 224255 */ // (strict_fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (DIVSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
79334 /* 224255 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVSDrr),
79335 /* 224260 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79336 /* 224264 */ GIR_RootConstrainSelectedInstOperands,
79337 /* 224265 */ // GIR_Coverage, 2290,
79338 /* 224265 */ GIR_Done,
79339 /* 224266 */ // Label 5204: @224266
79340 /* 224266 */ GIM_Try, /*On fail goto*//*Label 5205*/ GIMT_Encode4(224297), // Rule ID 6108 //
79341 /* 224271 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
79342 /* 224274 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79343 /* 224278 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79344 /* 224282 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79345 /* 224286 */ // (strict_fdiv:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VDIVSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
79346 /* 224286 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrr),
79347 /* 224291 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79348 /* 224295 */ GIR_RootConstrainSelectedInstOperands,
79349 /* 224296 */ // GIR_Coverage, 6108,
79350 /* 224296 */ GIR_Done,
79351 /* 224297 */ // Label 5205: @224297
79352 /* 224297 */ GIM_Reject,
79353 /* 224298 */ // Label 5190: @224298
79354 /* 224298 */ GIM_Reject,
79355 /* 224299 */ // Label 5162: @224299
79356 /* 224299 */ GIM_Try, /*On fail goto*//*Label 5206*/ GIMT_Encode4(224864),
79357 /* 224304 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
79358 /* 224307 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
79359 /* 224310 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79360 /* 224314 */ GIM_Try, /*On fail goto*//*Label 5207*/ GIMT_Encode4(224375), // Rule ID 1038 //
79361 /* 224319 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79362 /* 224322 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79363 /* 224326 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79364 /* 224330 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
79365 /* 224337 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79366 /* 224341 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79367 /* 224345 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79368 /* 224347 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79369 /* 224354 */ // (strict_fdiv:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (DIVR_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
79370 /* 224354 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m80),
79371 /* 224357 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79372 /* 224359 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79373 /* 224361 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79374 /* 224365 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79375 /* 224368 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79376 /* 224373 */ GIR_RootConstrainSelectedInstOperands,
79377 /* 224374 */ // GIR_Coverage, 1038,
79378 /* 224374 */ GIR_EraseRootFromParent_Done,
79379 /* 224375 */ // Label 5207: @224375
79380 /* 224375 */ GIM_Try, /*On fail goto*//*Label 5208*/ GIMT_Encode4(224436), // Rule ID 1040 //
79381 /* 224380 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79382 /* 224383 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79383 /* 224387 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79384 /* 224391 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79385 /* 224398 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79386 /* 224402 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79387 /* 224406 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79388 /* 224408 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79389 /* 224415 */ // (strict_fdiv:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (DIVR_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
79390 /* 224415 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m80),
79391 /* 224418 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79392 /* 224420 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79393 /* 224422 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79394 /* 224426 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79395 /* 224429 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79396 /* 224434 */ GIR_RootConstrainSelectedInstOperands,
79397 /* 224435 */ // GIR_Coverage, 1040,
79398 /* 224435 */ GIR_EraseRootFromParent_Done,
79399 /* 224436 */ // Label 5208: @224436
79400 /* 224436 */ GIM_Try, /*On fail goto*//*Label 5209*/ GIMT_Encode4(224504), // Rule ID 1026 //
79401 /* 224441 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79402 /* 224444 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79403 /* 224448 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79404 /* 224452 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79405 /* 224455 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79406 /* 224459 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79407 /* 224466 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79408 /* 224470 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79409 /* 224474 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79410 /* 224476 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79411 /* 224483 */ // (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)
79412 /* 224483 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp80m32),
79413 /* 224486 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79414 /* 224488 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79415 /* 224490 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79416 /* 224494 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79417 /* 224497 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79418 /* 224502 */ GIR_RootConstrainSelectedInstOperands,
79419 /* 224503 */ // GIR_Coverage, 1026,
79420 /* 224503 */ GIR_EraseRootFromParent_Done,
79421 /* 224504 */ // Label 5209: @224504
79422 /* 224504 */ GIM_Try, /*On fail goto*//*Label 5210*/ GIMT_Encode4(224572), // Rule ID 1028 //
79423 /* 224509 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79424 /* 224512 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79425 /* 224516 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79426 /* 224520 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79427 /* 224523 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79428 /* 224527 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
79429 /* 224534 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79430 /* 224538 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79431 /* 224542 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79432 /* 224544 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79433 /* 224551 */ // (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)
79434 /* 224551 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp80m64),
79435 /* 224554 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79436 /* 224556 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79437 /* 224558 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79438 /* 224562 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79439 /* 224565 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79440 /* 224570 */ GIR_RootConstrainSelectedInstOperands,
79441 /* 224571 */ // GIR_Coverage, 1028,
79442 /* 224571 */ GIR_EraseRootFromParent_Done,
79443 /* 224572 */ // Label 5210: @224572
79444 /* 224572 */ GIM_Try, /*On fail goto*//*Label 5211*/ GIMT_Encode4(224633), // Rule ID 1016 //
79445 /* 224577 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79446 /* 224580 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79447 /* 224584 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79448 /* 224588 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79449 /* 224592 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
79450 /* 224599 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79451 /* 224603 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79452 /* 224605 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79453 /* 224612 */ // (strict_fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
79454 /* 224612 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m80),
79455 /* 224615 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79456 /* 224617 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79457 /* 224619 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79458 /* 224623 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79459 /* 224626 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79460 /* 224631 */ GIR_RootConstrainSelectedInstOperands,
79461 /* 224632 */ // GIR_Coverage, 1016,
79462 /* 224632 */ GIR_EraseRootFromParent_Done,
79463 /* 224633 */ // Label 5211: @224633
79464 /* 224633 */ GIM_Try, /*On fail goto*//*Label 5212*/ GIMT_Encode4(224694), // Rule ID 1018 //
79465 /* 224638 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79466 /* 224641 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79467 /* 224645 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79468 /* 224649 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79469 /* 224653 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79470 /* 224660 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79471 /* 224664 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79472 /* 224666 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79473 /* 224673 */ // (strict_fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
79474 /* 224673 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m80),
79475 /* 224676 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79476 /* 224678 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79477 /* 224680 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79478 /* 224684 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79479 /* 224687 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79480 /* 224692 */ GIR_RootConstrainSelectedInstOperands,
79481 /* 224693 */ // GIR_Coverage, 1018,
79482 /* 224693 */ GIR_EraseRootFromParent_Done,
79483 /* 224694 */ // Label 5212: @224694
79484 /* 224694 */ GIM_Try, /*On fail goto*//*Label 5213*/ GIMT_Encode4(224762), // Rule ID 1004 //
79485 /* 224699 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79486 /* 224702 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79487 /* 224706 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79488 /* 224710 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79489 /* 224714 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79490 /* 224717 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79491 /* 224721 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79492 /* 224728 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79493 /* 224732 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79494 /* 224734 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79495 /* 224741 */ // (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)
79496 /* 224741 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80m32),
79497 /* 224744 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79498 /* 224746 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79499 /* 224748 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79500 /* 224752 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79501 /* 224755 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79502 /* 224760 */ GIR_RootConstrainSelectedInstOperands,
79503 /* 224761 */ // GIR_Coverage, 1004,
79504 /* 224761 */ GIR_EraseRootFromParent_Done,
79505 /* 224762 */ // Label 5213: @224762
79506 /* 224762 */ GIM_Try, /*On fail goto*//*Label 5214*/ GIMT_Encode4(224830), // Rule ID 1006 //
79507 /* 224767 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79508 /* 224770 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79509 /* 224774 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79510 /* 224778 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79511 /* 224782 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79512 /* 224785 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79513 /* 224789 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
79514 /* 224796 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79515 /* 224800 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79516 /* 224802 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79517 /* 224809 */ // (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)
79518 /* 224809 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80m64),
79519 /* 224812 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79520 /* 224814 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79521 /* 224816 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79522 /* 224820 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79523 /* 224823 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79524 /* 224828 */ GIR_RootConstrainSelectedInstOperands,
79525 /* 224829 */ // GIR_Coverage, 1006,
79526 /* 224829 */ GIR_EraseRootFromParent_Done,
79527 /* 224830 */ // Label 5214: @224830
79528 /* 224830 */ GIM_Try, /*On fail goto*//*Label 5215*/ GIMT_Encode4(224863), // Rule ID 908 //
79529 /* 224835 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79530 /* 224838 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79531 /* 224842 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79532 /* 224846 */ // (strict_fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (DIV_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
79533 /* 224846 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80),
79534 /* 224851 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
79535 /* 224857 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
79536 /* 224861 */ GIR_RootConstrainSelectedInstOperands,
79537 /* 224862 */ // GIR_Coverage, 908,
79538 /* 224862 */ GIR_Done,
79539 /* 224863 */ // Label 5215: @224863
79540 /* 224863 */ GIM_Reject,
79541 /* 224864 */ // Label 5206: @224864
79542 /* 224864 */ GIM_Reject,
79543 /* 224865 */ // Label 5163: @224865
79544 /* 224865 */ GIM_Try, /*On fail goto*//*Label 5216*/ GIMT_Encode4(225094),
79545 /* 224870 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
79546 /* 224873 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
79547 /* 224876 */ GIM_Try, /*On fail goto*//*Label 5217*/ GIMT_Encode4(224938), // Rule ID 2260 //
79548 /* 224881 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
79549 /* 224884 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79550 /* 224888 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79551 /* 224892 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79552 /* 224896 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79553 /* 224900 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79554 /* 224903 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79555 /* 224907 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79556 /* 224911 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79557 /* 224913 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79558 /* 224920 */ // (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)
79559 /* 224920 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDrm),
79560 /* 224923 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79561 /* 224925 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79562 /* 224927 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79563 /* 224931 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79564 /* 224936 */ GIR_RootConstrainSelectedInstOperands,
79565 /* 224937 */ // GIR_Coverage, 2260,
79566 /* 224937 */ GIR_EraseRootFromParent_Done,
79567 /* 224938 */ // Label 5217: @224938
79568 /* 224938 */ GIM_Try, /*On fail goto*//*Label 5218*/ GIMT_Encode4(225000), // Rule ID 6663 //
79569 /* 224943 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
79570 /* 224946 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79571 /* 224950 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79572 /* 224954 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79573 /* 224958 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79574 /* 224962 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79575 /* 224965 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79576 /* 224969 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79577 /* 224973 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79578 /* 224975 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79579 /* 224982 */ // (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)
79580 /* 224982 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ128rm),
79581 /* 224985 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79582 /* 224987 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79583 /* 224989 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79584 /* 224993 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79585 /* 224998 */ GIR_RootConstrainSelectedInstOperands,
79586 /* 224999 */ // GIR_Coverage, 6663,
79587 /* 224999 */ GIR_EraseRootFromParent_Done,
79588 /* 225000 */ // Label 5218: @225000
79589 /* 225000 */ GIM_Try, /*On fail goto*//*Label 5219*/ GIMT_Encode4(225031), // Rule ID 2258 //
79590 /* 225005 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
79591 /* 225008 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79592 /* 225012 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79593 /* 225016 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79594 /* 225020 */ // (strict_fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VDIVPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
79595 /* 225020 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDrr),
79596 /* 225025 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79597 /* 225029 */ GIR_RootConstrainSelectedInstOperands,
79598 /* 225030 */ // GIR_Coverage, 2258,
79599 /* 225030 */ GIR_Done,
79600 /* 225031 */ // Label 5219: @225031
79601 /* 225031 */ GIM_Try, /*On fail goto*//*Label 5220*/ GIMT_Encode4(225062), // Rule ID 2274 //
79602 /* 225036 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
79603 /* 225039 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79604 /* 225043 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79605 /* 225047 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79606 /* 225051 */ // (strict_fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (DIVPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
79607 /* 225051 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVPDrr),
79608 /* 225056 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79609 /* 225060 */ GIR_RootConstrainSelectedInstOperands,
79610 /* 225061 */ // GIR_Coverage, 2274,
79611 /* 225061 */ GIR_Done,
79612 /* 225062 */ // Label 5220: @225062
79613 /* 225062 */ GIM_Try, /*On fail goto*//*Label 5221*/ GIMT_Encode4(225093), // Rule ID 6659 //
79614 /* 225067 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
79615 /* 225070 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79616 /* 225074 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79617 /* 225078 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79618 /* 225082 */ // (strict_fdiv:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VDIVPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
79619 /* 225082 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ128rr),
79620 /* 225087 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79621 /* 225091 */ GIR_RootConstrainSelectedInstOperands,
79622 /* 225092 */ // GIR_Coverage, 6659,
79623 /* 225092 */ GIR_Done,
79624 /* 225093 */ // Label 5221: @225093
79625 /* 225093 */ GIM_Reject,
79626 /* 225094 */ // Label 5216: @225094
79627 /* 225094 */ GIM_Reject,
79628 /* 225095 */ // Label 5164: @225095
79629 /* 225095 */ GIM_Try, /*On fail goto*//*Label 5222*/ GIMT_Encode4(225324),
79630 /* 225100 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
79631 /* 225103 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
79632 /* 225106 */ GIM_Try, /*On fail goto*//*Label 5223*/ GIMT_Encode4(225168), // Rule ID 2256 //
79633 /* 225111 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
79634 /* 225114 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79635 /* 225118 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79636 /* 225122 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79637 /* 225126 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79638 /* 225130 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79639 /* 225133 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79640 /* 225137 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79641 /* 225141 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79642 /* 225143 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79643 /* 225150 */ // (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)
79644 /* 225150 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSrm),
79645 /* 225153 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79646 /* 225155 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79647 /* 225157 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79648 /* 225161 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79649 /* 225166 */ GIR_RootConstrainSelectedInstOperands,
79650 /* 225167 */ // GIR_Coverage, 2256,
79651 /* 225167 */ GIR_EraseRootFromParent_Done,
79652 /* 225168 */ // Label 5223: @225168
79653 /* 225168 */ GIM_Try, /*On fail goto*//*Label 5224*/ GIMT_Encode4(225230), // Rule ID 6639 //
79654 /* 225173 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
79655 /* 225176 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79656 /* 225180 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79657 /* 225184 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79658 /* 225188 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79659 /* 225192 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79660 /* 225195 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79661 /* 225199 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79662 /* 225203 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79663 /* 225205 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79664 /* 225212 */ // (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)
79665 /* 225212 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ128rm),
79666 /* 225215 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79667 /* 225217 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79668 /* 225219 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79669 /* 225223 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79670 /* 225228 */ GIR_RootConstrainSelectedInstOperands,
79671 /* 225229 */ // GIR_Coverage, 6639,
79672 /* 225229 */ GIR_EraseRootFromParent_Done,
79673 /* 225230 */ // Label 5224: @225230
79674 /* 225230 */ GIM_Try, /*On fail goto*//*Label 5225*/ GIMT_Encode4(225261), // Rule ID 2254 //
79675 /* 225235 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
79676 /* 225238 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79677 /* 225242 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79678 /* 225246 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79679 /* 225250 */ // (strict_fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VDIVPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
79680 /* 225250 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSrr),
79681 /* 225255 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79682 /* 225259 */ GIR_RootConstrainSelectedInstOperands,
79683 /* 225260 */ // GIR_Coverage, 2254,
79684 /* 225260 */ GIR_Done,
79685 /* 225261 */ // Label 5225: @225261
79686 /* 225261 */ GIM_Try, /*On fail goto*//*Label 5226*/ GIMT_Encode4(225292), // Rule ID 2270 //
79687 /* 225266 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
79688 /* 225269 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79689 /* 225273 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79690 /* 225277 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79691 /* 225281 */ // (strict_fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (DIVPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
79692 /* 225281 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVPSrr),
79693 /* 225286 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79694 /* 225290 */ GIR_RootConstrainSelectedInstOperands,
79695 /* 225291 */ // GIR_Coverage, 2270,
79696 /* 225291 */ GIR_Done,
79697 /* 225292 */ // Label 5226: @225292
79698 /* 225292 */ GIM_Try, /*On fail goto*//*Label 5227*/ GIMT_Encode4(225323), // Rule ID 6635 //
79699 /* 225297 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
79700 /* 225300 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79701 /* 225304 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79702 /* 225308 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79703 /* 225312 */ // (strict_fdiv:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VDIVPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
79704 /* 225312 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ128rr),
79705 /* 225317 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79706 /* 225321 */ GIR_RootConstrainSelectedInstOperands,
79707 /* 225322 */ // GIR_Coverage, 6635,
79708 /* 225322 */ GIR_Done,
79709 /* 225323 */ // Label 5227: @225323
79710 /* 225323 */ GIM_Reject,
79711 /* 225324 */ // Label 5222: @225324
79712 /* 225324 */ GIM_Reject,
79713 /* 225325 */ // Label 5165: @225325
79714 /* 225325 */ GIM_Try, /*On fail goto*//*Label 5228*/ GIMT_Encode4(225523),
79715 /* 225330 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
79716 /* 225333 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
79717 /* 225336 */ GIM_Try, /*On fail goto*//*Label 5229*/ GIMT_Encode4(225398), // Rule ID 2268 //
79718 /* 225341 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
79719 /* 225344 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79720 /* 225348 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79721 /* 225352 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79722 /* 225356 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79723 /* 225360 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79724 /* 225363 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79725 /* 225367 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79726 /* 225371 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79727 /* 225373 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79728 /* 225380 */ // (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)
79729 /* 225380 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDYrm),
79730 /* 225383 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79731 /* 225385 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79732 /* 225387 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79733 /* 225391 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79734 /* 225396 */ GIR_RootConstrainSelectedInstOperands,
79735 /* 225397 */ // GIR_Coverage, 2268,
79736 /* 225397 */ GIR_EraseRootFromParent_Done,
79737 /* 225398 */ // Label 5229: @225398
79738 /* 225398 */ GIM_Try, /*On fail goto*//*Label 5230*/ GIMT_Encode4(225460), // Rule ID 6675 //
79739 /* 225403 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
79740 /* 225406 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79741 /* 225410 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79742 /* 225414 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79743 /* 225418 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79744 /* 225422 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79745 /* 225425 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79746 /* 225429 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79747 /* 225433 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79748 /* 225435 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79749 /* 225442 */ // (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)
79750 /* 225442 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ256rm),
79751 /* 225445 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79752 /* 225447 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79753 /* 225449 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79754 /* 225453 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79755 /* 225458 */ GIR_RootConstrainSelectedInstOperands,
79756 /* 225459 */ // GIR_Coverage, 6675,
79757 /* 225459 */ GIR_EraseRootFromParent_Done,
79758 /* 225460 */ // Label 5230: @225460
79759 /* 225460 */ GIM_Try, /*On fail goto*//*Label 5231*/ GIMT_Encode4(225491), // Rule ID 2266 //
79760 /* 225465 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
79761 /* 225468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79762 /* 225472 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79763 /* 225476 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79764 /* 225480 */ // (strict_fdiv:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VDIVPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
79765 /* 225480 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDYrr),
79766 /* 225485 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79767 /* 225489 */ GIR_RootConstrainSelectedInstOperands,
79768 /* 225490 */ // GIR_Coverage, 2266,
79769 /* 225490 */ GIR_Done,
79770 /* 225491 */ // Label 5231: @225491
79771 /* 225491 */ GIM_Try, /*On fail goto*//*Label 5232*/ GIMT_Encode4(225522), // Rule ID 6671 //
79772 /* 225496 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
79773 /* 225499 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79774 /* 225503 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79775 /* 225507 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79776 /* 225511 */ // (strict_fdiv:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VDIVPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
79777 /* 225511 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ256rr),
79778 /* 225516 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79779 /* 225520 */ GIR_RootConstrainSelectedInstOperands,
79780 /* 225521 */ // GIR_Coverage, 6671,
79781 /* 225521 */ GIR_Done,
79782 /* 225522 */ // Label 5232: @225522
79783 /* 225522 */ GIM_Reject,
79784 /* 225523 */ // Label 5228: @225523
79785 /* 225523 */ GIM_Reject,
79786 /* 225524 */ // Label 5166: @225524
79787 /* 225524 */ GIM_Try, /*On fail goto*//*Label 5233*/ GIMT_Encode4(225621),
79788 /* 225529 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
79789 /* 225532 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
79790 /* 225535 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79791 /* 225539 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79792 /* 225543 */ GIM_Try, /*On fail goto*//*Label 5234*/ GIMT_Encode4(225597), // Rule ID 6699 //
79793 /* 225548 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
79794 /* 225551 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79795 /* 225555 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79796 /* 225559 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79797 /* 225562 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79798 /* 225566 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79799 /* 225570 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79800 /* 225572 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79801 /* 225579 */ // (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)
79802 /* 225579 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ128rm),
79803 /* 225582 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79804 /* 225584 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79805 /* 225586 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79806 /* 225590 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79807 /* 225595 */ GIR_RootConstrainSelectedInstOperands,
79808 /* 225596 */ // GIR_Coverage, 6699,
79809 /* 225596 */ GIR_EraseRootFromParent_Done,
79810 /* 225597 */ // Label 5234: @225597
79811 /* 225597 */ GIM_Try, /*On fail goto*//*Label 5235*/ GIMT_Encode4(225620), // Rule ID 6695 //
79812 /* 225602 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
79813 /* 225605 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79814 /* 225609 */ // (strict_fdiv:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VDIVPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
79815 /* 225609 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ128rr),
79816 /* 225614 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79817 /* 225618 */ GIR_RootConstrainSelectedInstOperands,
79818 /* 225619 */ // GIR_Coverage, 6695,
79819 /* 225619 */ GIR_Done,
79820 /* 225620 */ // Label 5235: @225620
79821 /* 225620 */ GIM_Reject,
79822 /* 225621 */ // Label 5233: @225621
79823 /* 225621 */ GIM_Reject,
79824 /* 225622 */ // Label 5167: @225622
79825 /* 225622 */ GIM_Try, /*On fail goto*//*Label 5236*/ GIMT_Encode4(225820),
79826 /* 225627 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
79827 /* 225630 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
79828 /* 225633 */ GIM_Try, /*On fail goto*//*Label 5237*/ GIMT_Encode4(225695), // Rule ID 2264 //
79829 /* 225638 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
79830 /* 225641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79831 /* 225645 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79832 /* 225649 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79833 /* 225653 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79834 /* 225657 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79835 /* 225660 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79836 /* 225664 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79837 /* 225668 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79838 /* 225670 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79839 /* 225677 */ // (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)
79840 /* 225677 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSYrm),
79841 /* 225680 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79842 /* 225682 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79843 /* 225684 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79844 /* 225688 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79845 /* 225693 */ GIR_RootConstrainSelectedInstOperands,
79846 /* 225694 */ // GIR_Coverage, 2264,
79847 /* 225694 */ GIR_EraseRootFromParent_Done,
79848 /* 225695 */ // Label 5237: @225695
79849 /* 225695 */ GIM_Try, /*On fail goto*//*Label 5238*/ GIMT_Encode4(225757), // Rule ID 6651 //
79850 /* 225700 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
79851 /* 225703 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79852 /* 225707 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79853 /* 225711 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79854 /* 225715 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79855 /* 225719 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79856 /* 225722 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79857 /* 225726 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79858 /* 225730 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79859 /* 225732 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79860 /* 225739 */ // (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)
79861 /* 225739 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ256rm),
79862 /* 225742 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79863 /* 225744 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79864 /* 225746 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79865 /* 225750 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79866 /* 225755 */ GIR_RootConstrainSelectedInstOperands,
79867 /* 225756 */ // GIR_Coverage, 6651,
79868 /* 225756 */ GIR_EraseRootFromParent_Done,
79869 /* 225757 */ // Label 5238: @225757
79870 /* 225757 */ GIM_Try, /*On fail goto*//*Label 5239*/ GIMT_Encode4(225788), // Rule ID 2262 //
79871 /* 225762 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
79872 /* 225765 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79873 /* 225769 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79874 /* 225773 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79875 /* 225777 */ // (strict_fdiv:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VDIVPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
79876 /* 225777 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSYrr),
79877 /* 225782 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79878 /* 225786 */ GIR_RootConstrainSelectedInstOperands,
79879 /* 225787 */ // GIR_Coverage, 2262,
79880 /* 225787 */ GIR_Done,
79881 /* 225788 */ // Label 5239: @225788
79882 /* 225788 */ GIM_Try, /*On fail goto*//*Label 5240*/ GIMT_Encode4(225819), // Rule ID 6647 //
79883 /* 225793 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
79884 /* 225796 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79885 /* 225800 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79886 /* 225804 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79887 /* 225808 */ // (strict_fdiv:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VDIVPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
79888 /* 225808 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ256rr),
79889 /* 225813 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79890 /* 225817 */ GIR_RootConstrainSelectedInstOperands,
79891 /* 225818 */ // GIR_Coverage, 6647,
79892 /* 225818 */ GIR_Done,
79893 /* 225819 */ // Label 5240: @225819
79894 /* 225819 */ GIM_Reject,
79895 /* 225820 */ // Label 5236: @225820
79896 /* 225820 */ GIM_Reject,
79897 /* 225821 */ // Label 5168: @225821
79898 /* 225821 */ GIM_Try, /*On fail goto*//*Label 5241*/ GIMT_Encode4(225918),
79899 /* 225826 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
79900 /* 225829 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
79901 /* 225832 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79902 /* 225836 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79903 /* 225840 */ GIM_Try, /*On fail goto*//*Label 5242*/ GIMT_Encode4(225894), // Rule ID 6627 //
79904 /* 225845 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
79905 /* 225848 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79906 /* 225852 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79907 /* 225856 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79908 /* 225859 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79909 /* 225863 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79910 /* 225867 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79911 /* 225869 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79912 /* 225876 */ // (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)
79913 /* 225876 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZrm),
79914 /* 225879 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79915 /* 225881 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79916 /* 225883 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79917 /* 225887 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79918 /* 225892 */ GIR_RootConstrainSelectedInstOperands,
79919 /* 225893 */ // GIR_Coverage, 6627,
79920 /* 225893 */ GIR_EraseRootFromParent_Done,
79921 /* 225894 */ // Label 5242: @225894
79922 /* 225894 */ GIM_Try, /*On fail goto*//*Label 5243*/ GIMT_Encode4(225917), // Rule ID 6623 //
79923 /* 225899 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
79924 /* 225902 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79925 /* 225906 */ // (strict_fdiv:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VDIVPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
79926 /* 225906 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZrr),
79927 /* 225911 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79928 /* 225915 */ GIR_RootConstrainSelectedInstOperands,
79929 /* 225916 */ // GIR_Coverage, 6623,
79930 /* 225916 */ GIR_Done,
79931 /* 225917 */ // Label 5243: @225917
79932 /* 225917 */ GIM_Reject,
79933 /* 225918 */ // Label 5241: @225918
79934 /* 225918 */ GIM_Reject,
79935 /* 225919 */ // Label 5169: @225919
79936 /* 225919 */ GIM_Try, /*On fail goto*//*Label 5244*/ GIMT_Encode4(226016),
79937 /* 225924 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
79938 /* 225927 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
79939 /* 225930 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79940 /* 225934 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79941 /* 225938 */ GIM_Try, /*On fail goto*//*Label 5245*/ GIMT_Encode4(225992), // Rule ID 6711 //
79942 /* 225943 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
79943 /* 225946 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79944 /* 225950 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79945 /* 225954 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79946 /* 225957 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79947 /* 225961 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79948 /* 225965 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79949 /* 225967 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79950 /* 225974 */ // (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)
79951 /* 225974 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ256rm),
79952 /* 225977 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79953 /* 225979 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79954 /* 225981 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79955 /* 225985 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79956 /* 225990 */ GIR_RootConstrainSelectedInstOperands,
79957 /* 225991 */ // GIR_Coverage, 6711,
79958 /* 225991 */ GIR_EraseRootFromParent_Done,
79959 /* 225992 */ // Label 5245: @225992
79960 /* 225992 */ GIM_Try, /*On fail goto*//*Label 5246*/ GIMT_Encode4(226015), // Rule ID 6707 //
79961 /* 225997 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
79962 /* 226000 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79963 /* 226004 */ // (strict_fdiv:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VDIVPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
79964 /* 226004 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ256rr),
79965 /* 226009 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79966 /* 226013 */ GIR_RootConstrainSelectedInstOperands,
79967 /* 226014 */ // GIR_Coverage, 6707,
79968 /* 226014 */ GIR_Done,
79969 /* 226015 */ // Label 5246: @226015
79970 /* 226015 */ GIM_Reject,
79971 /* 226016 */ // Label 5244: @226016
79972 /* 226016 */ GIM_Reject,
79973 /* 226017 */ // Label 5170: @226017
79974 /* 226017 */ GIM_Try, /*On fail goto*//*Label 5247*/ GIMT_Encode4(226114),
79975 /* 226022 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
79976 /* 226025 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
79977 /* 226028 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79978 /* 226032 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79979 /* 226036 */ GIM_Try, /*On fail goto*//*Label 5248*/ GIMT_Encode4(226090), // Rule ID 6615 //
79980 /* 226041 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
79981 /* 226044 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79982 /* 226048 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79983 /* 226052 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79984 /* 226055 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79985 /* 226059 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79986 /* 226063 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79987 /* 226065 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79988 /* 226072 */ // (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)
79989 /* 226072 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZrm),
79990 /* 226075 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79991 /* 226077 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79992 /* 226079 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79993 /* 226083 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79994 /* 226088 */ GIR_RootConstrainSelectedInstOperands,
79995 /* 226089 */ // GIR_Coverage, 6615,
79996 /* 226089 */ GIR_EraseRootFromParent_Done,
79997 /* 226090 */ // Label 5248: @226090
79998 /* 226090 */ GIM_Try, /*On fail goto*//*Label 5249*/ GIMT_Encode4(226113), // Rule ID 6611 //
79999 /* 226095 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80000 /* 226098 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80001 /* 226102 */ // (strict_fdiv:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VDIVPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
80002 /* 226102 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZrr),
80003 /* 226107 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80004 /* 226111 */ GIR_RootConstrainSelectedInstOperands,
80005 /* 226112 */ // GIR_Coverage, 6611,
80006 /* 226112 */ GIR_Done,
80007 /* 226113 */ // Label 5249: @226113
80008 /* 226113 */ GIM_Reject,
80009 /* 226114 */ // Label 5247: @226114
80010 /* 226114 */ GIM_Reject,
80011 /* 226115 */ // Label 5171: @226115
80012 /* 226115 */ GIM_Try, /*On fail goto*//*Label 5250*/ GIMT_Encode4(226212),
80013 /* 226120 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
80014 /* 226123 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
80015 /* 226126 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80016 /* 226130 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80017 /* 226134 */ GIM_Try, /*On fail goto*//*Label 5251*/ GIMT_Encode4(226188), // Rule ID 6687 //
80018 /* 226139 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
80019 /* 226142 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80020 /* 226146 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80021 /* 226150 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80022 /* 226153 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80023 /* 226157 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80024 /* 226161 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80025 /* 226163 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80026 /* 226170 */ // (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)
80027 /* 226170 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZrm),
80028 /* 226173 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80029 /* 226175 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80030 /* 226177 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80031 /* 226181 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80032 /* 226186 */ GIR_RootConstrainSelectedInstOperands,
80033 /* 226187 */ // GIR_Coverage, 6687,
80034 /* 226187 */ GIR_EraseRootFromParent_Done,
80035 /* 226188 */ // Label 5251: @226188
80036 /* 226188 */ GIM_Try, /*On fail goto*//*Label 5252*/ GIMT_Encode4(226211), // Rule ID 6683 //
80037 /* 226193 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
80038 /* 226196 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80039 /* 226200 */ // (strict_fdiv:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VDIVPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
80040 /* 226200 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZrr),
80041 /* 226205 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80042 /* 226209 */ GIR_RootConstrainSelectedInstOperands,
80043 /* 226210 */ // GIR_Coverage, 6683,
80044 /* 226210 */ GIR_Done,
80045 /* 226211 */ // Label 5252: @226211
80046 /* 226211 */ GIM_Reject,
80047 /* 226212 */ // Label 5250: @226212
80048 /* 226212 */ GIM_Reject,
80049 /* 226213 */ // Label 5172: @226213
80050 /* 226213 */ GIM_Reject,
80051 /* 226214 */ // Label 73: @226214
80052 /* 226214 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 5265*/ GIMT_Encode4(232201),
80053 /* 226225 */ /*GILLT_s16*//*Label 5253*/ GIMT_Encode4(226309),
80054 /* 226229 */ /*GILLT_s32*//*Label 5254*/ GIMT_Encode4(226554),
80055 /* 226233 */ /*GILLT_s64*//*Label 5255*/ GIMT_Encode4(227291), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
80056 /* 226249 */ /*GILLT_v2s64*//*Label 5256*/ GIMT_Encode4(228028), GIMT_Encode4(0),
80057 /* 226257 */ /*GILLT_v4s32*//*Label 5257*/ GIMT_Encode4(228765),
80058 /* 226261 */ /*GILLT_v4s64*//*Label 5258*/ GIMT_Encode4(229502), GIMT_Encode4(0),
80059 /* 226269 */ /*GILLT_v8s16*//*Label 5259*/ GIMT_Encode4(230239),
80060 /* 226273 */ /*GILLT_v8s32*//*Label 5260*/ GIMT_Encode4(230484),
80061 /* 226277 */ /*GILLT_v8s64*//*Label 5261*/ GIMT_Encode4(231221), GIMT_Encode4(0), GIMT_Encode4(0),
80062 /* 226289 */ /*GILLT_v16s16*//*Label 5262*/ GIMT_Encode4(231466),
80063 /* 226293 */ /*GILLT_v16s32*//*Label 5263*/ GIMT_Encode4(231711), GIMT_Encode4(0), GIMT_Encode4(0),
80064 /* 226305 */ /*GILLT_v32s16*//*Label 5264*/ GIMT_Encode4(231956),
80065 /* 226309 */ // Label 5253: @226309
80066 /* 226309 */ GIM_Try, /*On fail goto*//*Label 5266*/ GIMT_Encode4(226553),
80067 /* 226314 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
80068 /* 226317 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
80069 /* 226320 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
80070 /* 226323 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80071 /* 226327 */ GIM_Try, /*On fail goto*//*Label 5267*/ GIMT_Encode4(226391), // Rule ID 10161 //
80072 /* 226332 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
80073 /* 226335 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80074 /* 226339 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80075 /* 226343 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80076 /* 226346 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80077 /* 226350 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80078 /* 226354 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80079 /* 226358 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80080 /* 226362 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80081 /* 226364 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80082 /* 226371 */ // (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)
80083 /* 226371 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SHZm),
80084 /* 226374 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80085 /* 226376 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80086 /* 226378 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80087 /* 226380 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80088 /* 226384 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80089 /* 226389 */ GIR_RootConstrainSelectedInstOperands,
80090 /* 226390 */ // GIR_Coverage, 10161,
80091 /* 226390 */ GIR_EraseRootFromParent_Done,
80092 /* 226391 */ // Label 5267: @226391
80093 /* 226391 */ GIM_Try, /*On fail goto*//*Label 5268*/ GIMT_Encode4(226455), // Rule ID 10159 //
80094 /* 226396 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
80095 /* 226399 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80096 /* 226403 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80097 /* 226407 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80098 /* 226411 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80099 /* 226414 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80100 /* 226418 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80101 /* 226422 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80102 /* 226426 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80103 /* 226428 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80104 /* 226435 */ // (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)
80105 /* 226435 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SHZm),
80106 /* 226438 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80107 /* 226440 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80108 /* 226442 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80109 /* 226444 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80110 /* 226448 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80111 /* 226453 */ GIR_RootConstrainSelectedInstOperands,
80112 /* 226454 */ // GIR_Coverage, 10159,
80113 /* 226454 */ GIR_EraseRootFromParent_Done,
80114 /* 226455 */ // Label 5268: @226455
80115 /* 226455 */ GIM_Try, /*On fail goto*//*Label 5269*/ GIMT_Encode4(226519), // Rule ID 10156 //
80116 /* 226460 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
80117 /* 226463 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80118 /* 226467 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80119 /* 226471 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80120 /* 226475 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80121 /* 226479 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80122 /* 226482 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80123 /* 226486 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80124 /* 226490 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80125 /* 226492 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80126 /* 226499 */ // (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)
80127 /* 226499 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SHZm),
80128 /* 226502 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80129 /* 226504 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80130 /* 226506 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80131 /* 226508 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80132 /* 226512 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80133 /* 226517 */ GIR_RootConstrainSelectedInstOperands,
80134 /* 226518 */ // GIR_Coverage, 10156,
80135 /* 226518 */ GIR_EraseRootFromParent_Done,
80136 /* 226519 */ // Label 5269: @226519
80137 /* 226519 */ GIM_Try, /*On fail goto*//*Label 5270*/ GIMT_Encode4(226552), // Rule ID 10154 //
80138 /* 226524 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
80139 /* 226527 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80140 /* 226531 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80141 /* 226535 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80142 /* 226539 */ // (strict_fma:{ *:[f16] } FR16X:{ *:[f16] }:$src2, FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src3) => (VFMADD213SHZr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2, FR16X:{ *:[f16] }:$src3)
80143 /* 226539 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SHZr),
80144 /* 226542 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80145 /* 226544 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80146 /* 226546 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80147 /* 226548 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80148 /* 226550 */ GIR_RootConstrainSelectedInstOperands,
80149 /* 226551 */ // GIR_Coverage, 10154,
80150 /* 226551 */ GIR_EraseRootFromParent_Done,
80151 /* 226552 */ // Label 5270: @226552
80152 /* 226552 */ GIM_Reject,
80153 /* 226553 */ // Label 5266: @226553
80154 /* 226553 */ GIM_Reject,
80155 /* 226554 */ // Label 5254: @226554
80156 /* 226554 */ GIM_Try, /*On fail goto*//*Label 5271*/ GIMT_Encode4(227290),
80157 /* 226559 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
80158 /* 226562 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
80159 /* 226565 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
80160 /* 226568 */ GIM_Try, /*On fail goto*//*Label 5272*/ GIMT_Encode4(226636), // Rule ID 1303 //
80161 /* 226573 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
80162 /* 226576 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80163 /* 226580 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80164 /* 226584 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80165 /* 226588 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80166 /* 226591 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80167 /* 226595 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80168 /* 226599 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80169 /* 226603 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80170 /* 226607 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80171 /* 226609 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80172 /* 226616 */ // (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)
80173 /* 226616 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SSm),
80174 /* 226619 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80175 /* 226621 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80176 /* 226623 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80177 /* 226625 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80178 /* 226629 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80179 /* 226634 */ GIR_RootConstrainSelectedInstOperands,
80180 /* 226635 */ // GIR_Coverage, 1303,
80181 /* 226635 */ GIR_EraseRootFromParent_Done,
80182 /* 226636 */ // Label 5272: @226636
80183 /* 226636 */ GIM_Try, /*On fail goto*//*Label 5273*/ GIMT_Encode4(226704), // Rule ID 10143 //
80184 /* 226641 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80185 /* 226644 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80186 /* 226648 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80187 /* 226652 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80188 /* 226656 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80189 /* 226659 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80190 /* 226663 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80191 /* 226667 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80192 /* 226671 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80193 /* 226675 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80194 /* 226677 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80195 /* 226684 */ // (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)
80196 /* 226684 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SSZm),
80197 /* 226687 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80198 /* 226689 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80199 /* 226691 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80200 /* 226693 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80201 /* 226697 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80202 /* 226702 */ GIR_RootConstrainSelectedInstOperands,
80203 /* 226703 */ // GIR_Coverage, 10143,
80204 /* 226703 */ GIR_EraseRootFromParent_Done,
80205 /* 226704 */ // Label 5273: @226704
80206 /* 226704 */ GIM_Try, /*On fail goto*//*Label 5274*/ GIMT_Encode4(226772), // Rule ID 23362 //
80207 /* 226709 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
80208 /* 226712 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80209 /* 226716 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80210 /* 226720 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80211 /* 226724 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80212 /* 226727 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80213 /* 226731 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80214 /* 226735 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80215 /* 226739 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80216 /* 226743 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80217 /* 226745 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80218 /* 226752 */ // (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)
80219 /* 226752 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4mr),
80220 /* 226755 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80221 /* 226757 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80222 /* 226759 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80223 /* 226763 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80224 /* 226765 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80225 /* 226770 */ GIR_RootConstrainSelectedInstOperands,
80226 /* 226771 */ // GIR_Coverage, 23362,
80227 /* 226771 */ GIR_EraseRootFromParent_Done,
80228 /* 226772 */ // Label 5274: @226772
80229 /* 226772 */ GIM_Try, /*On fail goto*//*Label 5275*/ GIMT_Encode4(226840), // Rule ID 1301 //
80230 /* 226777 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
80231 /* 226780 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80232 /* 226784 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80233 /* 226788 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80234 /* 226792 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80235 /* 226796 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80236 /* 226799 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80237 /* 226803 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80238 /* 226807 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80239 /* 226811 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80240 /* 226813 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80241 /* 226820 */ // (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)
80242 /* 226820 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SSm),
80243 /* 226823 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80244 /* 226825 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80245 /* 226827 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80246 /* 226829 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80247 /* 226833 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80248 /* 226838 */ GIR_RootConstrainSelectedInstOperands,
80249 /* 226839 */ // GIR_Coverage, 1301,
80250 /* 226839 */ GIR_EraseRootFromParent_Done,
80251 /* 226840 */ // Label 5275: @226840
80252 /* 226840 */ GIM_Try, /*On fail goto*//*Label 5276*/ GIMT_Encode4(226908), // Rule ID 1365 //
80253 /* 226845 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
80254 /* 226848 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80255 /* 226852 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80256 /* 226856 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80257 /* 226860 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80258 /* 226864 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80259 /* 226867 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80260 /* 226871 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80261 /* 226875 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80262 /* 226879 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80263 /* 226881 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80264 /* 226888 */ // (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)
80265 /* 226888 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4mr),
80266 /* 226891 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80267 /* 226893 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80268 /* 226895 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80269 /* 226899 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80270 /* 226901 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80271 /* 226906 */ GIR_RootConstrainSelectedInstOperands,
80272 /* 226907 */ // GIR_Coverage, 1365,
80273 /* 226907 */ GIR_EraseRootFromParent_Done,
80274 /* 226908 */ // Label 5276: @226908
80275 /* 226908 */ GIM_Try, /*On fail goto*//*Label 5277*/ GIMT_Encode4(226976), // Rule ID 10141 //
80276 /* 226913 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80277 /* 226916 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80278 /* 226920 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80279 /* 226924 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80280 /* 226928 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80281 /* 226932 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80282 /* 226935 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80283 /* 226939 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80284 /* 226943 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80285 /* 226947 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80286 /* 226949 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80287 /* 226956 */ // (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)
80288 /* 226956 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SSZm),
80289 /* 226959 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80290 /* 226961 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80291 /* 226963 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80292 /* 226965 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80293 /* 226969 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80294 /* 226974 */ GIR_RootConstrainSelectedInstOperands,
80295 /* 226975 */ // GIR_Coverage, 10141,
80296 /* 226975 */ GIR_EraseRootFromParent_Done,
80297 /* 226976 */ // Label 5277: @226976
80298 /* 226976 */ GIM_Try, /*On fail goto*//*Label 5278*/ GIMT_Encode4(227044), // Rule ID 1299 //
80299 /* 226981 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
80300 /* 226984 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80301 /* 226988 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80302 /* 226992 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80303 /* 226996 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80304 /* 227000 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80305 /* 227004 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80306 /* 227007 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80307 /* 227011 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80308 /* 227015 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80309 /* 227017 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80310 /* 227024 */ // (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)
80311 /* 227024 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSm),
80312 /* 227027 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80313 /* 227029 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80314 /* 227031 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80315 /* 227033 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80316 /* 227037 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80317 /* 227042 */ GIR_RootConstrainSelectedInstOperands,
80318 /* 227043 */ // GIR_Coverage, 1299,
80319 /* 227043 */ GIR_EraseRootFromParent_Done,
80320 /* 227044 */ // Label 5278: @227044
80321 /* 227044 */ GIM_Try, /*On fail goto*//*Label 5279*/ GIMT_Encode4(227112), // Rule ID 1363 //
80322 /* 227049 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
80323 /* 227052 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80324 /* 227056 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80325 /* 227060 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80326 /* 227064 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80327 /* 227068 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80328 /* 227072 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80329 /* 227075 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80330 /* 227079 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80331 /* 227083 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80332 /* 227085 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80333 /* 227092 */ // (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)
80334 /* 227092 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4rm),
80335 /* 227095 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80336 /* 227097 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80337 /* 227099 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
80338 /* 227101 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80339 /* 227105 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80340 /* 227110 */ GIR_RootConstrainSelectedInstOperands,
80341 /* 227111 */ // GIR_Coverage, 1363,
80342 /* 227111 */ GIR_EraseRootFromParent_Done,
80343 /* 227112 */ // Label 5279: @227112
80344 /* 227112 */ GIM_Try, /*On fail goto*//*Label 5280*/ GIMT_Encode4(227180), // Rule ID 10138 //
80345 /* 227117 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80346 /* 227120 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80347 /* 227124 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80348 /* 227128 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80349 /* 227132 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80350 /* 227136 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80351 /* 227140 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80352 /* 227143 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80353 /* 227147 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80354 /* 227151 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80355 /* 227153 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80356 /* 227160 */ // (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)
80357 /* 227160 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSZm),
80358 /* 227163 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80359 /* 227165 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80360 /* 227167 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80361 /* 227169 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80362 /* 227173 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80363 /* 227178 */ GIR_RootConstrainSelectedInstOperands,
80364 /* 227179 */ // GIR_Coverage, 10138,
80365 /* 227179 */ GIR_EraseRootFromParent_Done,
80366 /* 227180 */ // Label 5280: @227180
80367 /* 227180 */ GIM_Try, /*On fail goto*//*Label 5281*/ GIMT_Encode4(227217), // Rule ID 1297 //
80368 /* 227185 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
80369 /* 227188 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80370 /* 227192 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80371 /* 227196 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80372 /* 227200 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80373 /* 227204 */ // (strict_fma:{ *:[f32] } FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src3) => (VFMADD213SSr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3)
80374 /* 227204 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSr),
80375 /* 227207 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80376 /* 227209 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80377 /* 227211 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80378 /* 227213 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80379 /* 227215 */ GIR_RootConstrainSelectedInstOperands,
80380 /* 227216 */ // GIR_Coverage, 1297,
80381 /* 227216 */ GIR_EraseRootFromParent_Done,
80382 /* 227217 */ // Label 5281: @227217
80383 /* 227217 */ GIM_Try, /*On fail goto*//*Label 5282*/ GIMT_Encode4(227252), // Rule ID 1361 //
80384 /* 227222 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
80385 /* 227225 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80386 /* 227229 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80387 /* 227233 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80388 /* 227237 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80389 /* 227241 */ // (strict_fma:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3) => (VFMADDSS4rr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3)
80390 /* 227241 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4rr),
80391 /* 227246 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80392 /* 227250 */ GIR_RootConstrainSelectedInstOperands,
80393 /* 227251 */ // GIR_Coverage, 1361,
80394 /* 227251 */ GIR_Done,
80395 /* 227252 */ // Label 5282: @227252
80396 /* 227252 */ GIM_Try, /*On fail goto*//*Label 5283*/ GIMT_Encode4(227289), // Rule ID 10136 //
80397 /* 227257 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80398 /* 227260 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80399 /* 227264 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80400 /* 227268 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80401 /* 227272 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80402 /* 227276 */ // (strict_fma:{ *:[f32] } FR32X:{ *:[f32] }:$src2, FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src3) => (VFMADD213SSZr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2, FR32X:{ *:[f32] }:$src3)
80403 /* 227276 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSZr),
80404 /* 227279 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80405 /* 227281 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80406 /* 227283 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80407 /* 227285 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80408 /* 227287 */ GIR_RootConstrainSelectedInstOperands,
80409 /* 227288 */ // GIR_Coverage, 10136,
80410 /* 227288 */ GIR_EraseRootFromParent_Done,
80411 /* 227289 */ // Label 5283: @227289
80412 /* 227289 */ GIM_Reject,
80413 /* 227290 */ // Label 5271: @227290
80414 /* 227290 */ GIM_Reject,
80415 /* 227291 */ // Label 5255: @227291
80416 /* 227291 */ GIM_Try, /*On fail goto*//*Label 5284*/ GIMT_Encode4(228027),
80417 /* 227296 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
80418 /* 227299 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
80419 /* 227302 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
80420 /* 227305 */ GIM_Try, /*On fail goto*//*Label 5285*/ GIMT_Encode4(227373), // Rule ID 1311 //
80421 /* 227310 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
80422 /* 227313 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80423 /* 227317 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80424 /* 227321 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80425 /* 227325 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80426 /* 227328 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80427 /* 227332 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80428 /* 227336 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80429 /* 227340 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80430 /* 227344 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80431 /* 227346 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80432 /* 227353 */ // (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)
80433 /* 227353 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SDm),
80434 /* 227356 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80435 /* 227358 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80436 /* 227360 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80437 /* 227362 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80438 /* 227366 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80439 /* 227371 */ GIR_RootConstrainSelectedInstOperands,
80440 /* 227372 */ // GIR_Coverage, 1311,
80441 /* 227372 */ GIR_EraseRootFromParent_Done,
80442 /* 227373 */ // Label 5285: @227373
80443 /* 227373 */ GIM_Try, /*On fail goto*//*Label 5286*/ GIMT_Encode4(227441), // Rule ID 10152 //
80444 /* 227378 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80445 /* 227381 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80446 /* 227385 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80447 /* 227389 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80448 /* 227393 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80449 /* 227396 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80450 /* 227400 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80451 /* 227404 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80452 /* 227408 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80453 /* 227412 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80454 /* 227414 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80455 /* 227421 */ // (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)
80456 /* 227421 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SDZm),
80457 /* 227424 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80458 /* 227426 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80459 /* 227428 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80460 /* 227430 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80461 /* 227434 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80462 /* 227439 */ GIR_RootConstrainSelectedInstOperands,
80463 /* 227440 */ // GIR_Coverage, 10152,
80464 /* 227440 */ GIR_EraseRootFromParent_Done,
80465 /* 227441 */ // Label 5286: @227441
80466 /* 227441 */ GIM_Try, /*On fail goto*//*Label 5287*/ GIMT_Encode4(227509), // Rule ID 23390 //
80467 /* 227446 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
80468 /* 227449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80469 /* 227453 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80470 /* 227457 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80471 /* 227461 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80472 /* 227464 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80473 /* 227468 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80474 /* 227472 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80475 /* 227476 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80476 /* 227480 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80477 /* 227482 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80478 /* 227489 */ // (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)
80479 /* 227489 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4mr),
80480 /* 227492 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80481 /* 227494 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80482 /* 227496 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80483 /* 227500 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80484 /* 227502 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80485 /* 227507 */ GIR_RootConstrainSelectedInstOperands,
80486 /* 227508 */ // GIR_Coverage, 23390,
80487 /* 227508 */ GIR_EraseRootFromParent_Done,
80488 /* 227509 */ // Label 5287: @227509
80489 /* 227509 */ GIM_Try, /*On fail goto*//*Label 5288*/ GIMT_Encode4(227577), // Rule ID 1309 //
80490 /* 227514 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
80491 /* 227517 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80492 /* 227521 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80493 /* 227525 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80494 /* 227529 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80495 /* 227533 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80496 /* 227536 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80497 /* 227540 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80498 /* 227544 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80499 /* 227548 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80500 /* 227550 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80501 /* 227557 */ // (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)
80502 /* 227557 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SDm),
80503 /* 227560 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80504 /* 227562 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80505 /* 227564 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80506 /* 227566 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80507 /* 227570 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80508 /* 227575 */ GIR_RootConstrainSelectedInstOperands,
80509 /* 227576 */ // GIR_Coverage, 1309,
80510 /* 227576 */ GIR_EraseRootFromParent_Done,
80511 /* 227577 */ // Label 5288: @227577
80512 /* 227577 */ GIM_Try, /*On fail goto*//*Label 5289*/ GIMT_Encode4(227645), // Rule ID 1449 //
80513 /* 227582 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
80514 /* 227585 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80515 /* 227589 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80516 /* 227593 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80517 /* 227597 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80518 /* 227601 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80519 /* 227604 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80520 /* 227608 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80521 /* 227612 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80522 /* 227616 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80523 /* 227618 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80524 /* 227625 */ // (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)
80525 /* 227625 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4mr),
80526 /* 227628 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80527 /* 227630 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80528 /* 227632 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80529 /* 227636 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80530 /* 227638 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80531 /* 227643 */ GIR_RootConstrainSelectedInstOperands,
80532 /* 227644 */ // GIR_Coverage, 1449,
80533 /* 227644 */ GIR_EraseRootFromParent_Done,
80534 /* 227645 */ // Label 5289: @227645
80535 /* 227645 */ GIM_Try, /*On fail goto*//*Label 5290*/ GIMT_Encode4(227713), // Rule ID 10150 //
80536 /* 227650 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80537 /* 227653 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80538 /* 227657 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80539 /* 227661 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80540 /* 227665 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80541 /* 227669 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80542 /* 227672 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80543 /* 227676 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80544 /* 227680 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80545 /* 227684 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80546 /* 227686 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80547 /* 227693 */ // (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)
80548 /* 227693 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SDZm),
80549 /* 227696 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80550 /* 227698 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80551 /* 227700 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80552 /* 227702 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80553 /* 227706 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80554 /* 227711 */ GIR_RootConstrainSelectedInstOperands,
80555 /* 227712 */ // GIR_Coverage, 10150,
80556 /* 227712 */ GIR_EraseRootFromParent_Done,
80557 /* 227713 */ // Label 5290: @227713
80558 /* 227713 */ GIM_Try, /*On fail goto*//*Label 5291*/ GIMT_Encode4(227781), // Rule ID 1307 //
80559 /* 227718 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
80560 /* 227721 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80561 /* 227725 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80562 /* 227729 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80563 /* 227733 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80564 /* 227737 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80565 /* 227741 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80566 /* 227744 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80567 /* 227748 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80568 /* 227752 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80569 /* 227754 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80570 /* 227761 */ // (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)
80571 /* 227761 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDm),
80572 /* 227764 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80573 /* 227766 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80574 /* 227768 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80575 /* 227770 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80576 /* 227774 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80577 /* 227779 */ GIR_RootConstrainSelectedInstOperands,
80578 /* 227780 */ // GIR_Coverage, 1307,
80579 /* 227780 */ GIR_EraseRootFromParent_Done,
80580 /* 227781 */ // Label 5291: @227781
80581 /* 227781 */ GIM_Try, /*On fail goto*//*Label 5292*/ GIMT_Encode4(227849), // Rule ID 1447 //
80582 /* 227786 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
80583 /* 227789 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80584 /* 227793 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80585 /* 227797 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80586 /* 227801 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80587 /* 227805 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80588 /* 227809 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80589 /* 227812 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80590 /* 227816 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80591 /* 227820 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80592 /* 227822 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80593 /* 227829 */ // (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)
80594 /* 227829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4rm),
80595 /* 227832 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80596 /* 227834 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80597 /* 227836 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
80598 /* 227838 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80599 /* 227842 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80600 /* 227847 */ GIR_RootConstrainSelectedInstOperands,
80601 /* 227848 */ // GIR_Coverage, 1447,
80602 /* 227848 */ GIR_EraseRootFromParent_Done,
80603 /* 227849 */ // Label 5292: @227849
80604 /* 227849 */ GIM_Try, /*On fail goto*//*Label 5293*/ GIMT_Encode4(227917), // Rule ID 10147 //
80605 /* 227854 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80606 /* 227857 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80607 /* 227861 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80608 /* 227865 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80609 /* 227869 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80610 /* 227873 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80611 /* 227877 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80612 /* 227880 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80613 /* 227884 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80614 /* 227888 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80615 /* 227890 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80616 /* 227897 */ // (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)
80617 /* 227897 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDZm),
80618 /* 227900 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80619 /* 227902 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80620 /* 227904 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80621 /* 227906 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80622 /* 227910 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80623 /* 227915 */ GIR_RootConstrainSelectedInstOperands,
80624 /* 227916 */ // GIR_Coverage, 10147,
80625 /* 227916 */ GIR_EraseRootFromParent_Done,
80626 /* 227917 */ // Label 5293: @227917
80627 /* 227917 */ GIM_Try, /*On fail goto*//*Label 5294*/ GIMT_Encode4(227954), // Rule ID 1305 //
80628 /* 227922 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
80629 /* 227925 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80630 /* 227929 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80631 /* 227933 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80632 /* 227937 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80633 /* 227941 */ // (strict_fma:{ *:[f64] } FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src3) => (VFMADD213SDr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3)
80634 /* 227941 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDr),
80635 /* 227944 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80636 /* 227946 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80637 /* 227948 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80638 /* 227950 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80639 /* 227952 */ GIR_RootConstrainSelectedInstOperands,
80640 /* 227953 */ // GIR_Coverage, 1305,
80641 /* 227953 */ GIR_EraseRootFromParent_Done,
80642 /* 227954 */ // Label 5294: @227954
80643 /* 227954 */ GIM_Try, /*On fail goto*//*Label 5295*/ GIMT_Encode4(227989), // Rule ID 1445 //
80644 /* 227959 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
80645 /* 227962 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80646 /* 227966 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80647 /* 227970 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80648 /* 227974 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80649 /* 227978 */ // (strict_fma:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3) => (VFMADDSD4rr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3)
80650 /* 227978 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4rr),
80651 /* 227983 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80652 /* 227987 */ GIR_RootConstrainSelectedInstOperands,
80653 /* 227988 */ // GIR_Coverage, 1445,
80654 /* 227988 */ GIR_Done,
80655 /* 227989 */ // Label 5295: @227989
80656 /* 227989 */ GIM_Try, /*On fail goto*//*Label 5296*/ GIMT_Encode4(228026), // Rule ID 10145 //
80657 /* 227994 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80658 /* 227997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80659 /* 228001 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80660 /* 228005 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80661 /* 228009 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80662 /* 228013 */ // (strict_fma:{ *:[f64] } FR64X:{ *:[f64] }:$src2, FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src3) => (VFMADD213SDZr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2, FR64X:{ *:[f64] }:$src3)
80663 /* 228013 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDZr),
80664 /* 228016 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80665 /* 228018 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80666 /* 228020 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80667 /* 228022 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80668 /* 228024 */ GIR_RootConstrainSelectedInstOperands,
80669 /* 228025 */ // GIR_Coverage, 10145,
80670 /* 228025 */ GIR_EraseRootFromParent_Done,
80671 /* 228026 */ // Label 5296: @228026
80672 /* 228026 */ GIM_Reject,
80673 /* 228027 */ // Label 5284: @228027
80674 /* 228027 */ GIM_Reject,
80675 /* 228028 */ // Label 5256: @228028
80676 /* 228028 */ GIM_Try, /*On fail goto*//*Label 5297*/ GIMT_Encode4(228764),
80677 /* 228033 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
80678 /* 228036 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
80679 /* 228039 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
80680 /* 228042 */ GIM_Try, /*On fail goto*//*Label 5298*/ GIMT_Encode4(228110), // Rule ID 1191 //
80681 /* 228047 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
80682 /* 228050 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80683 /* 228054 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80684 /* 228058 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80685 /* 228062 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80686 /* 228065 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80687 /* 228069 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80688 /* 228073 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80689 /* 228077 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80690 /* 228081 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80691 /* 228083 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80692 /* 228090 */ // (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)
80693 /* 228090 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDm),
80694 /* 228093 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80695 /* 228095 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80696 /* 228097 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80697 /* 228099 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80698 /* 228103 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80699 /* 228108 */ GIR_RootConstrainSelectedInstOperands,
80700 /* 228109 */ // GIR_Coverage, 1191,
80701 /* 228109 */ GIR_EraseRootFromParent_Done,
80702 /* 228110 */ // Label 5298: @228110
80703 /* 228110 */ GIM_Try, /*On fail goto*//*Label 5299*/ GIMT_Encode4(228178), // Rule ID 9684 //
80704 /* 228115 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
80705 /* 228118 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80706 /* 228122 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80707 /* 228126 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80708 /* 228130 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80709 /* 228133 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80710 /* 228137 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80711 /* 228141 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80712 /* 228145 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80713 /* 228149 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80714 /* 228151 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80715 /* 228158 */ // (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)
80716 /* 228158 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZ128m),
80717 /* 228161 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80718 /* 228163 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80719 /* 228165 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80720 /* 228167 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80721 /* 228171 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80722 /* 228176 */ GIR_RootConstrainSelectedInstOperands,
80723 /* 228177 */ // GIR_Coverage, 9684,
80724 /* 228177 */ GIR_EraseRootFromParent_Done,
80725 /* 228178 */ // Label 5299: @228178
80726 /* 228178 */ GIM_Try, /*On fail goto*//*Label 5300*/ GIMT_Encode4(228246), // Rule ID 23398 //
80727 /* 228183 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
80728 /* 228186 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80729 /* 228190 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80730 /* 228194 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80731 /* 228198 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80732 /* 228201 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80733 /* 228205 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80734 /* 228209 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80735 /* 228213 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80736 /* 228217 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80737 /* 228219 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80738 /* 228226 */ // (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)
80739 /* 228226 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4mr),
80740 /* 228229 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80741 /* 228231 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80742 /* 228233 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80743 /* 228237 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80744 /* 228239 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80745 /* 228244 */ GIR_RootConstrainSelectedInstOperands,
80746 /* 228245 */ // GIR_Coverage, 23398,
80747 /* 228245 */ GIR_EraseRootFromParent_Done,
80748 /* 228246 */ // Label 5300: @228246
80749 /* 228246 */ GIM_Try, /*On fail goto*//*Label 5301*/ GIMT_Encode4(228314), // Rule ID 1189 //
80750 /* 228251 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
80751 /* 228254 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80752 /* 228258 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80753 /* 228262 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80754 /* 228266 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80755 /* 228270 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80756 /* 228273 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80757 /* 228277 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80758 /* 228281 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80759 /* 228285 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80760 /* 228287 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80761 /* 228294 */ // (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)
80762 /* 228294 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDm),
80763 /* 228297 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80764 /* 228299 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80765 /* 228301 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80766 /* 228303 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80767 /* 228307 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80768 /* 228312 */ GIR_RootConstrainSelectedInstOperands,
80769 /* 228313 */ // GIR_Coverage, 1189,
80770 /* 228313 */ GIR_EraseRootFromParent_Done,
80771 /* 228314 */ // Label 5301: @228314
80772 /* 228314 */ GIM_Try, /*On fail goto*//*Label 5302*/ GIMT_Encode4(228382), // Rule ID 1473 //
80773 /* 228319 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
80774 /* 228322 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80775 /* 228326 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80776 /* 228330 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80777 /* 228334 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80778 /* 228338 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80779 /* 228341 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80780 /* 228345 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80781 /* 228349 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80782 /* 228353 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80783 /* 228355 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80784 /* 228362 */ // (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)
80785 /* 228362 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4mr),
80786 /* 228365 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80787 /* 228367 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80788 /* 228369 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80789 /* 228373 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80790 /* 228375 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80791 /* 228380 */ GIR_RootConstrainSelectedInstOperands,
80792 /* 228381 */ // GIR_Coverage, 1473,
80793 /* 228381 */ GIR_EraseRootFromParent_Done,
80794 /* 228382 */ // Label 5302: @228382
80795 /* 228382 */ GIM_Try, /*On fail goto*//*Label 5303*/ GIMT_Encode4(228450), // Rule ID 9144 //
80796 /* 228387 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
80797 /* 228390 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80798 /* 228394 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80799 /* 228398 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80800 /* 228402 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80801 /* 228406 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80802 /* 228409 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80803 /* 228413 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80804 /* 228417 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80805 /* 228421 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80806 /* 228423 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80807 /* 228430 */ // (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)
80808 /* 228430 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZ128m),
80809 /* 228433 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80810 /* 228435 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80811 /* 228437 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80812 /* 228439 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80813 /* 228443 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80814 /* 228448 */ GIR_RootConstrainSelectedInstOperands,
80815 /* 228449 */ // GIR_Coverage, 9144,
80816 /* 228449 */ GIR_EraseRootFromParent_Done,
80817 /* 228450 */ // Label 5303: @228450
80818 /* 228450 */ GIM_Try, /*On fail goto*//*Label 5304*/ GIMT_Encode4(228518), // Rule ID 1187 //
80819 /* 228455 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
80820 /* 228458 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80821 /* 228462 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80822 /* 228466 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80823 /* 228470 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80824 /* 228474 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80825 /* 228478 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80826 /* 228481 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80827 /* 228485 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80828 /* 228489 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80829 /* 228491 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80830 /* 228498 */ // (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)
80831 /* 228498 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDm),
80832 /* 228501 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80833 /* 228503 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80834 /* 228505 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80835 /* 228507 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80836 /* 228511 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80837 /* 228516 */ GIR_RootConstrainSelectedInstOperands,
80838 /* 228517 */ // GIR_Coverage, 1187,
80839 /* 228517 */ GIR_EraseRootFromParent_Done,
80840 /* 228518 */ // Label 5304: @228518
80841 /* 228518 */ GIM_Try, /*On fail goto*//*Label 5305*/ GIMT_Encode4(228586), // Rule ID 1471 //
80842 /* 228523 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
80843 /* 228526 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80844 /* 228530 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80845 /* 228534 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80846 /* 228538 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80847 /* 228542 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80848 /* 228546 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80849 /* 228549 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80850 /* 228553 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80851 /* 228557 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80852 /* 228559 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80853 /* 228566 */ // (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)
80854 /* 228566 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4rm),
80855 /* 228569 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80856 /* 228571 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80857 /* 228573 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
80858 /* 228575 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80859 /* 228579 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80860 /* 228584 */ GIR_RootConstrainSelectedInstOperands,
80861 /* 228585 */ // GIR_Coverage, 1471,
80862 /* 228585 */ GIR_EraseRootFromParent_Done,
80863 /* 228586 */ // Label 5305: @228586
80864 /* 228586 */ GIM_Try, /*On fail goto*//*Label 5306*/ GIMT_Encode4(228654), // Rule ID 8517 //
80865 /* 228591 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
80866 /* 228594 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80867 /* 228598 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80868 /* 228602 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80869 /* 228606 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80870 /* 228610 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80871 /* 228614 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80872 /* 228617 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80873 /* 228621 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80874 /* 228625 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80875 /* 228627 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80876 /* 228634 */ // (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)
80877 /* 228634 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ128m),
80878 /* 228637 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80879 /* 228639 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80880 /* 228641 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80881 /* 228643 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80882 /* 228647 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80883 /* 228652 */ GIR_RootConstrainSelectedInstOperands,
80884 /* 228653 */ // GIR_Coverage, 8517,
80885 /* 228653 */ GIR_EraseRootFromParent_Done,
80886 /* 228654 */ // Label 5306: @228654
80887 /* 228654 */ GIM_Try, /*On fail goto*//*Label 5307*/ GIMT_Encode4(228691), // Rule ID 1185 //
80888 /* 228659 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
80889 /* 228662 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80890 /* 228666 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80891 /* 228670 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80892 /* 228674 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80893 /* 228678 */ // (strict_fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src3) => (VFMADD213PDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3)
80894 /* 228678 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDr),
80895 /* 228681 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80896 /* 228683 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80897 /* 228685 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80898 /* 228687 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80899 /* 228689 */ GIR_RootConstrainSelectedInstOperands,
80900 /* 228690 */ // GIR_Coverage, 1185,
80901 /* 228690 */ GIR_EraseRootFromParent_Done,
80902 /* 228691 */ // Label 5307: @228691
80903 /* 228691 */ GIM_Try, /*On fail goto*//*Label 5308*/ GIMT_Encode4(228726), // Rule ID 1469 //
80904 /* 228696 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
80905 /* 228699 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80906 /* 228703 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80907 /* 228707 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80908 /* 228711 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80909 /* 228715 */ // (strict_fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3) => (VFMADDPD4rr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3)
80910 /* 228715 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4rr),
80911 /* 228720 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80912 /* 228724 */ GIR_RootConstrainSelectedInstOperands,
80913 /* 228725 */ // GIR_Coverage, 1469,
80914 /* 228725 */ GIR_Done,
80915 /* 228726 */ // Label 5308: @228726
80916 /* 228726 */ GIM_Try, /*On fail goto*//*Label 5309*/ GIMT_Encode4(228763), // Rule ID 8513 //
80917 /* 228731 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
80918 /* 228734 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80919 /* 228738 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80920 /* 228742 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80921 /* 228746 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80922 /* 228750 */ // (strict_fma:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src2, VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src3) => (VFMADD213PDZ128r:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2, VR128X:{ *:[v2f64] }:$src3)
80923 /* 228750 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ128r),
80924 /* 228753 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80925 /* 228755 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80926 /* 228757 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80927 /* 228759 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80928 /* 228761 */ GIR_RootConstrainSelectedInstOperands,
80929 /* 228762 */ // GIR_Coverage, 8513,
80930 /* 228762 */ GIR_EraseRootFromParent_Done,
80931 /* 228763 */ // Label 5309: @228763
80932 /* 228763 */ GIM_Reject,
80933 /* 228764 */ // Label 5297: @228764
80934 /* 228764 */ GIM_Reject,
80935 /* 228765 */ // Label 5257: @228765
80936 /* 228765 */ GIM_Try, /*On fail goto*//*Label 5310*/ GIMT_Encode4(229501),
80937 /* 228770 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
80938 /* 228773 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
80939 /* 228776 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
80940 /* 228779 */ GIM_Try, /*On fail goto*//*Label 5311*/ GIMT_Encode4(228847), // Rule ID 1143 //
80941 /* 228784 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
80942 /* 228787 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80943 /* 228791 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80944 /* 228795 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80945 /* 228799 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80946 /* 228802 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80947 /* 228806 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80948 /* 228810 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80949 /* 228814 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80950 /* 228818 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80951 /* 228820 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80952 /* 228827 */ // (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)
80953 /* 228827 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSm),
80954 /* 228830 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80955 /* 228832 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80956 /* 228834 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80957 /* 228836 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80958 /* 228840 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80959 /* 228845 */ GIR_RootConstrainSelectedInstOperands,
80960 /* 228846 */ // GIR_Coverage, 1143,
80961 /* 228846 */ GIR_EraseRootFromParent_Done,
80962 /* 228847 */ // Label 5311: @228847
80963 /* 228847 */ GIM_Try, /*On fail goto*//*Label 5312*/ GIMT_Encode4(228915), // Rule ID 9652 //
80964 /* 228852 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
80965 /* 228855 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80966 /* 228859 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80967 /* 228863 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80968 /* 228867 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80969 /* 228870 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80970 /* 228874 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80971 /* 228878 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80972 /* 228882 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80973 /* 228886 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80974 /* 228888 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80975 /* 228895 */ // (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)
80976 /* 228895 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZ128m),
80977 /* 228898 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80978 /* 228900 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80979 /* 228902 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80980 /* 228904 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80981 /* 228908 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80982 /* 228913 */ GIR_RootConstrainSelectedInstOperands,
80983 /* 228914 */ // GIR_Coverage, 9652,
80984 /* 228914 */ GIR_EraseRootFromParent_Done,
80985 /* 228915 */ // Label 5312: @228915
80986 /* 228915 */ GIM_Try, /*On fail goto*//*Label 5313*/ GIMT_Encode4(228983), // Rule ID 23370 //
80987 /* 228920 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
80988 /* 228923 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80989 /* 228927 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80990 /* 228931 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80991 /* 228935 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80992 /* 228938 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80993 /* 228942 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80994 /* 228946 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80995 /* 228950 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80996 /* 228954 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80997 /* 228956 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80998 /* 228963 */ // (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)
80999 /* 228963 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4mr),
81000 /* 228966 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81001 /* 228968 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81002 /* 228970 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81003 /* 228974 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81004 /* 228976 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81005 /* 228981 */ GIR_RootConstrainSelectedInstOperands,
81006 /* 228982 */ // GIR_Coverage, 23370,
81007 /* 228982 */ GIR_EraseRootFromParent_Done,
81008 /* 228983 */ // Label 5313: @228983
81009 /* 228983 */ GIM_Try, /*On fail goto*//*Label 5314*/ GIMT_Encode4(229051), // Rule ID 1141 //
81010 /* 228988 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81011 /* 228991 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81012 /* 228995 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81013 /* 228999 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81014 /* 229003 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81015 /* 229007 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81016 /* 229010 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81017 /* 229014 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81018 /* 229018 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81019 /* 229022 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81020 /* 229024 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81021 /* 229031 */ // (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)
81022 /* 229031 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSm),
81023 /* 229034 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81024 /* 229036 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81025 /* 229038 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81026 /* 229040 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81027 /* 229044 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81028 /* 229049 */ GIR_RootConstrainSelectedInstOperands,
81029 /* 229050 */ // GIR_Coverage, 1141,
81030 /* 229050 */ GIR_EraseRootFromParent_Done,
81031 /* 229051 */ // Label 5314: @229051
81032 /* 229051 */ GIM_Try, /*On fail goto*//*Label 5315*/ GIMT_Encode4(229119), // Rule ID 1389 //
81033 /* 229056 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81034 /* 229059 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81035 /* 229063 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81036 /* 229067 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81037 /* 229071 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81038 /* 229075 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81039 /* 229078 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81040 /* 229082 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81041 /* 229086 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81042 /* 229090 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81043 /* 229092 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81044 /* 229099 */ // (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)
81045 /* 229099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4mr),
81046 /* 229102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81047 /* 229104 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81048 /* 229106 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81049 /* 229110 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81050 /* 229112 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81051 /* 229117 */ GIR_RootConstrainSelectedInstOperands,
81052 /* 229118 */ // GIR_Coverage, 1389,
81053 /* 229118 */ GIR_EraseRootFromParent_Done,
81054 /* 229119 */ // Label 5315: @229119
81055 /* 229119 */ GIM_Try, /*On fail goto*//*Label 5316*/ GIMT_Encode4(229187), // Rule ID 9112 //
81056 /* 229124 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81057 /* 229127 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81058 /* 229131 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81059 /* 229135 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81060 /* 229139 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81061 /* 229143 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81062 /* 229146 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81063 /* 229150 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81064 /* 229154 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81065 /* 229158 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81066 /* 229160 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81067 /* 229167 */ // (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)
81068 /* 229167 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZ128m),
81069 /* 229170 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81070 /* 229172 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81071 /* 229174 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81072 /* 229176 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81073 /* 229180 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81074 /* 229185 */ GIR_RootConstrainSelectedInstOperands,
81075 /* 229186 */ // GIR_Coverage, 9112,
81076 /* 229186 */ GIR_EraseRootFromParent_Done,
81077 /* 229187 */ // Label 5316: @229187
81078 /* 229187 */ GIM_Try, /*On fail goto*//*Label 5317*/ GIMT_Encode4(229255), // Rule ID 1139 //
81079 /* 229192 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81080 /* 229195 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81081 /* 229199 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81082 /* 229203 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81083 /* 229207 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81084 /* 229211 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81085 /* 229215 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81086 /* 229218 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81087 /* 229222 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81088 /* 229226 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81089 /* 229228 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81090 /* 229235 */ // (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)
81091 /* 229235 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSm),
81092 /* 229238 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81093 /* 229240 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81094 /* 229242 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81095 /* 229244 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81096 /* 229248 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81097 /* 229253 */ GIR_RootConstrainSelectedInstOperands,
81098 /* 229254 */ // GIR_Coverage, 1139,
81099 /* 229254 */ GIR_EraseRootFromParent_Done,
81100 /* 229255 */ // Label 5317: @229255
81101 /* 229255 */ GIM_Try, /*On fail goto*//*Label 5318*/ GIMT_Encode4(229323), // Rule ID 1387 //
81102 /* 229260 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81103 /* 229263 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81104 /* 229267 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81105 /* 229271 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81106 /* 229275 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81107 /* 229279 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81108 /* 229283 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81109 /* 229286 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81110 /* 229290 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81111 /* 229294 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81112 /* 229296 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81113 /* 229303 */ // (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)
81114 /* 229303 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4rm),
81115 /* 229306 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81116 /* 229308 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81117 /* 229310 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
81118 /* 229312 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81119 /* 229316 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81120 /* 229321 */ GIR_RootConstrainSelectedInstOperands,
81121 /* 229322 */ // GIR_Coverage, 1387,
81122 /* 229322 */ GIR_EraseRootFromParent_Done,
81123 /* 229323 */ // Label 5318: @229323
81124 /* 229323 */ GIM_Try, /*On fail goto*//*Label 5319*/ GIMT_Encode4(229391), // Rule ID 8478 //
81125 /* 229328 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81126 /* 229331 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81127 /* 229335 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81128 /* 229339 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81129 /* 229343 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81130 /* 229347 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81131 /* 229351 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81132 /* 229354 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81133 /* 229358 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81134 /* 229362 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81135 /* 229364 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81136 /* 229371 */ // (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)
81137 /* 229371 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ128m),
81138 /* 229374 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81139 /* 229376 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81140 /* 229378 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81141 /* 229380 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81142 /* 229384 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81143 /* 229389 */ GIR_RootConstrainSelectedInstOperands,
81144 /* 229390 */ // GIR_Coverage, 8478,
81145 /* 229390 */ GIR_EraseRootFromParent_Done,
81146 /* 229391 */ // Label 5319: @229391
81147 /* 229391 */ GIM_Try, /*On fail goto*//*Label 5320*/ GIMT_Encode4(229428), // Rule ID 1137 //
81148 /* 229396 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81149 /* 229399 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81150 /* 229403 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81151 /* 229407 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81152 /* 229411 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81153 /* 229415 */ // (strict_fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src3) => (VFMADD213PSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3)
81154 /* 229415 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSr),
81155 /* 229418 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81156 /* 229420 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81157 /* 229422 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81158 /* 229424 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81159 /* 229426 */ GIR_RootConstrainSelectedInstOperands,
81160 /* 229427 */ // GIR_Coverage, 1137,
81161 /* 229427 */ GIR_EraseRootFromParent_Done,
81162 /* 229428 */ // Label 5320: @229428
81163 /* 229428 */ GIM_Try, /*On fail goto*//*Label 5321*/ GIMT_Encode4(229463), // Rule ID 1385 //
81164 /* 229433 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81165 /* 229436 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81166 /* 229440 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81167 /* 229444 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81168 /* 229448 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81169 /* 229452 */ // (strict_fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3) => (VFMADDPS4rr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3)
81170 /* 229452 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4rr),
81171 /* 229457 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81172 /* 229461 */ GIR_RootConstrainSelectedInstOperands,
81173 /* 229462 */ // GIR_Coverage, 1385,
81174 /* 229462 */ GIR_Done,
81175 /* 229463 */ // Label 5321: @229463
81176 /* 229463 */ GIM_Try, /*On fail goto*//*Label 5322*/ GIMT_Encode4(229500), // Rule ID 8474 //
81177 /* 229468 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81178 /* 229471 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81179 /* 229475 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81180 /* 229479 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81181 /* 229483 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81182 /* 229487 */ // (strict_fma:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src2, VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src3) => (VFMADD213PSZ128r:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2, VR128X:{ *:[v4f32] }:$src3)
81183 /* 229487 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ128r),
81184 /* 229490 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81185 /* 229492 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81186 /* 229494 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81187 /* 229496 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81188 /* 229498 */ GIR_RootConstrainSelectedInstOperands,
81189 /* 229499 */ // GIR_Coverage, 8474,
81190 /* 229499 */ GIR_EraseRootFromParent_Done,
81191 /* 229500 */ // Label 5322: @229500
81192 /* 229500 */ GIM_Reject,
81193 /* 229501 */ // Label 5310: @229501
81194 /* 229501 */ GIM_Reject,
81195 /* 229502 */ // Label 5258: @229502
81196 /* 229502 */ GIM_Try, /*On fail goto*//*Label 5323*/ GIMT_Encode4(230238),
81197 /* 229507 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
81198 /* 229510 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
81199 /* 229513 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
81200 /* 229516 */ GIM_Try, /*On fail goto*//*Label 5324*/ GIMT_Encode4(229584), // Rule ID 1199 //
81201 /* 229521 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81202 /* 229524 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81203 /* 229528 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81204 /* 229532 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81205 /* 229536 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81206 /* 229539 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81207 /* 229543 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81208 /* 229547 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81209 /* 229551 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81210 /* 229555 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81211 /* 229557 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81212 /* 229564 */ // (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)
81213 /* 229564 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDYm),
81214 /* 229567 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81215 /* 229569 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81216 /* 229571 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
81217 /* 229573 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81218 /* 229577 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81219 /* 229582 */ GIR_RootConstrainSelectedInstOperands,
81220 /* 229583 */ // GIR_Coverage, 1199,
81221 /* 229583 */ GIR_EraseRootFromParent_Done,
81222 /* 229584 */ // Label 5324: @229584
81223 /* 229584 */ GIM_Try, /*On fail goto*//*Label 5325*/ GIMT_Encode4(229652), // Rule ID 9674 //
81224 /* 229589 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81225 /* 229592 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81226 /* 229596 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81227 /* 229600 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81228 /* 229604 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81229 /* 229607 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81230 /* 229611 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81231 /* 229615 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81232 /* 229619 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81233 /* 229623 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81234 /* 229625 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81235 /* 229632 */ // (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)
81236 /* 229632 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZ256m),
81237 /* 229635 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81238 /* 229637 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81239 /* 229639 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
81240 /* 229641 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81241 /* 229645 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81242 /* 229650 */ GIR_RootConstrainSelectedInstOperands,
81243 /* 229651 */ // GIR_Coverage, 9674,
81244 /* 229651 */ GIR_EraseRootFromParent_Done,
81245 /* 229652 */ // Label 5325: @229652
81246 /* 229652 */ GIM_Try, /*On fail goto*//*Label 5326*/ GIMT_Encode4(229720), // Rule ID 23400 //
81247 /* 229657 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81248 /* 229660 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81249 /* 229664 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81250 /* 229668 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81251 /* 229672 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81252 /* 229675 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81253 /* 229679 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81254 /* 229683 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81255 /* 229687 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81256 /* 229691 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81257 /* 229693 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81258 /* 229700 */ // (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)
81259 /* 229700 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Ymr),
81260 /* 229703 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81261 /* 229705 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81262 /* 229707 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81263 /* 229711 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81264 /* 229713 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81265 /* 229718 */ GIR_RootConstrainSelectedInstOperands,
81266 /* 229719 */ // GIR_Coverage, 23400,
81267 /* 229719 */ GIR_EraseRootFromParent_Done,
81268 /* 229720 */ // Label 5326: @229720
81269 /* 229720 */ GIM_Try, /*On fail goto*//*Label 5327*/ GIMT_Encode4(229788), // Rule ID 1197 //
81270 /* 229725 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81271 /* 229728 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81272 /* 229732 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81273 /* 229736 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81274 /* 229740 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81275 /* 229744 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81276 /* 229747 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81277 /* 229751 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81278 /* 229755 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81279 /* 229759 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81280 /* 229761 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81281 /* 229768 */ // (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)
81282 /* 229768 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDYm),
81283 /* 229771 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81284 /* 229773 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81285 /* 229775 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81286 /* 229777 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81287 /* 229781 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81288 /* 229786 */ GIR_RootConstrainSelectedInstOperands,
81289 /* 229787 */ // GIR_Coverage, 1197,
81290 /* 229787 */ GIR_EraseRootFromParent_Done,
81291 /* 229788 */ // Label 5327: @229788
81292 /* 229788 */ GIM_Try, /*On fail goto*//*Label 5328*/ GIMT_Encode4(229856), // Rule ID 1479 //
81293 /* 229793 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81294 /* 229796 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81295 /* 229800 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81296 /* 229804 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81297 /* 229808 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81298 /* 229812 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81299 /* 229815 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81300 /* 229819 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81301 /* 229823 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81302 /* 229827 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81303 /* 229829 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81304 /* 229836 */ // (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)
81305 /* 229836 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Ymr),
81306 /* 229839 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81307 /* 229841 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81308 /* 229843 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81309 /* 229847 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81310 /* 229849 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81311 /* 229854 */ GIR_RootConstrainSelectedInstOperands,
81312 /* 229855 */ // GIR_Coverage, 1479,
81313 /* 229855 */ GIR_EraseRootFromParent_Done,
81314 /* 229856 */ // Label 5328: @229856
81315 /* 229856 */ GIM_Try, /*On fail goto*//*Label 5329*/ GIMT_Encode4(229924), // Rule ID 9134 //
81316 /* 229861 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81317 /* 229864 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81318 /* 229868 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81319 /* 229872 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81320 /* 229876 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81321 /* 229880 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81322 /* 229883 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81323 /* 229887 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81324 /* 229891 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81325 /* 229895 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81326 /* 229897 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81327 /* 229904 */ // (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)
81328 /* 229904 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZ256m),
81329 /* 229907 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81330 /* 229909 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81331 /* 229911 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81332 /* 229913 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81333 /* 229917 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81334 /* 229922 */ GIR_RootConstrainSelectedInstOperands,
81335 /* 229923 */ // GIR_Coverage, 9134,
81336 /* 229923 */ GIR_EraseRootFromParent_Done,
81337 /* 229924 */ // Label 5329: @229924
81338 /* 229924 */ GIM_Try, /*On fail goto*//*Label 5330*/ GIMT_Encode4(229992), // Rule ID 1195 //
81339 /* 229929 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81340 /* 229932 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81341 /* 229936 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81342 /* 229940 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81343 /* 229944 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81344 /* 229948 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81345 /* 229952 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81346 /* 229955 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81347 /* 229959 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81348 /* 229963 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81349 /* 229965 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81350 /* 229972 */ // (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)
81351 /* 229972 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDYm),
81352 /* 229975 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81353 /* 229977 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81354 /* 229979 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81355 /* 229981 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81356 /* 229985 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81357 /* 229990 */ GIR_RootConstrainSelectedInstOperands,
81358 /* 229991 */ // GIR_Coverage, 1195,
81359 /* 229991 */ GIR_EraseRootFromParent_Done,
81360 /* 229992 */ // Label 5330: @229992
81361 /* 229992 */ GIM_Try, /*On fail goto*//*Label 5331*/ GIMT_Encode4(230060), // Rule ID 1477 //
81362 /* 229997 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81363 /* 230000 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81364 /* 230004 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81365 /* 230008 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81366 /* 230012 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81367 /* 230016 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81368 /* 230020 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81369 /* 230023 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81370 /* 230027 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81371 /* 230031 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81372 /* 230033 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81373 /* 230040 */ // (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)
81374 /* 230040 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Yrm),
81375 /* 230043 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81376 /* 230045 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81377 /* 230047 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
81378 /* 230049 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81379 /* 230053 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81380 /* 230058 */ GIR_RootConstrainSelectedInstOperands,
81381 /* 230059 */ // GIR_Coverage, 1477,
81382 /* 230059 */ GIR_EraseRootFromParent_Done,
81383 /* 230060 */ // Label 5331: @230060
81384 /* 230060 */ GIM_Try, /*On fail goto*//*Label 5332*/ GIMT_Encode4(230128), // Rule ID 8505 //
81385 /* 230065 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81386 /* 230068 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81387 /* 230072 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81388 /* 230076 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81389 /* 230080 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81390 /* 230084 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81391 /* 230088 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81392 /* 230091 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81393 /* 230095 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81394 /* 230099 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81395 /* 230101 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81396 /* 230108 */ // (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)
81397 /* 230108 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ256m),
81398 /* 230111 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81399 /* 230113 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81400 /* 230115 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81401 /* 230117 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81402 /* 230121 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81403 /* 230126 */ GIR_RootConstrainSelectedInstOperands,
81404 /* 230127 */ // GIR_Coverage, 8505,
81405 /* 230127 */ GIR_EraseRootFromParent_Done,
81406 /* 230128 */ // Label 5332: @230128
81407 /* 230128 */ GIM_Try, /*On fail goto*//*Label 5333*/ GIMT_Encode4(230165), // Rule ID 1193 //
81408 /* 230133 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81409 /* 230136 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81410 /* 230140 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81411 /* 230144 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81412 /* 230148 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81413 /* 230152 */ // (strict_fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src3) => (VFMADD213PDYr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3)
81414 /* 230152 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDYr),
81415 /* 230155 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81416 /* 230157 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81417 /* 230159 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81418 /* 230161 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81419 /* 230163 */ GIR_RootConstrainSelectedInstOperands,
81420 /* 230164 */ // GIR_Coverage, 1193,
81421 /* 230164 */ GIR_EraseRootFromParent_Done,
81422 /* 230165 */ // Label 5333: @230165
81423 /* 230165 */ GIM_Try, /*On fail goto*//*Label 5334*/ GIMT_Encode4(230200), // Rule ID 1475 //
81424 /* 230170 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81425 /* 230173 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81426 /* 230177 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81427 /* 230181 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81428 /* 230185 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81429 /* 230189 */ // (strict_fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3) => (VFMADDPD4Yrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3)
81430 /* 230189 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Yrr),
81431 /* 230194 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81432 /* 230198 */ GIR_RootConstrainSelectedInstOperands,
81433 /* 230199 */ // GIR_Coverage, 1475,
81434 /* 230199 */ GIR_Done,
81435 /* 230200 */ // Label 5334: @230200
81436 /* 230200 */ GIM_Try, /*On fail goto*//*Label 5335*/ GIMT_Encode4(230237), // Rule ID 8501 //
81437 /* 230205 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81438 /* 230208 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81439 /* 230212 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81440 /* 230216 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81441 /* 230220 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81442 /* 230224 */ // (strict_fma:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src2, VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src3) => (VFMADD213PDZ256r:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2, VR256X:{ *:[v4f64] }:$src3)
81443 /* 230224 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ256r),
81444 /* 230227 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81445 /* 230229 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81446 /* 230231 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81447 /* 230233 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81448 /* 230235 */ GIR_RootConstrainSelectedInstOperands,
81449 /* 230236 */ // GIR_Coverage, 8501,
81450 /* 230236 */ GIR_EraseRootFromParent_Done,
81451 /* 230237 */ // Label 5335: @230237
81452 /* 230237 */ GIM_Reject,
81453 /* 230238 */ // Label 5323: @230238
81454 /* 230238 */ GIM_Reject,
81455 /* 230239 */ // Label 5259: @230239
81456 /* 230239 */ GIM_Try, /*On fail goto*//*Label 5336*/ GIMT_Encode4(230483),
81457 /* 230244 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
81458 /* 230247 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
81459 /* 230250 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
81460 /* 230253 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81461 /* 230257 */ GIM_Try, /*On fail goto*//*Label 5337*/ GIMT_Encode4(230321), // Rule ID 9620 //
81462 /* 230262 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
81463 /* 230265 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81464 /* 230269 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81465 /* 230273 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81466 /* 230276 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81467 /* 230280 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81468 /* 230284 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81469 /* 230288 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81470 /* 230292 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81471 /* 230294 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81472 /* 230301 */ // (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)
81473 /* 230301 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZ128m),
81474 /* 230304 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81475 /* 230306 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81476 /* 230308 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
81477 /* 230310 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81478 /* 230314 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81479 /* 230319 */ GIR_RootConstrainSelectedInstOperands,
81480 /* 230320 */ // GIR_Coverage, 9620,
81481 /* 230320 */ GIR_EraseRootFromParent_Done,
81482 /* 230321 */ // Label 5337: @230321
81483 /* 230321 */ GIM_Try, /*On fail goto*//*Label 5338*/ GIMT_Encode4(230385), // Rule ID 9080 //
81484 /* 230326 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
81485 /* 230329 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81486 /* 230333 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81487 /* 230337 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81488 /* 230341 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81489 /* 230344 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81490 /* 230348 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81491 /* 230352 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81492 /* 230356 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81493 /* 230358 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81494 /* 230365 */ // (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)
81495 /* 230365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZ128m),
81496 /* 230368 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81497 /* 230370 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81498 /* 230372 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81499 /* 230374 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81500 /* 230378 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81501 /* 230383 */ GIR_RootConstrainSelectedInstOperands,
81502 /* 230384 */ // GIR_Coverage, 9080,
81503 /* 230384 */ GIR_EraseRootFromParent_Done,
81504 /* 230385 */ // Label 5338: @230385
81505 /* 230385 */ GIM_Try, /*On fail goto*//*Label 5339*/ GIMT_Encode4(230449), // Rule ID 8439 //
81506 /* 230390 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
81507 /* 230393 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81508 /* 230397 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81509 /* 230401 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81510 /* 230405 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81511 /* 230409 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81512 /* 230412 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81513 /* 230416 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81514 /* 230420 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81515 /* 230422 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81516 /* 230429 */ // (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)
81517 /* 230429 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ128m),
81518 /* 230432 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81519 /* 230434 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81520 /* 230436 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81521 /* 230438 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81522 /* 230442 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81523 /* 230447 */ GIR_RootConstrainSelectedInstOperands,
81524 /* 230448 */ // GIR_Coverage, 8439,
81525 /* 230448 */ GIR_EraseRootFromParent_Done,
81526 /* 230449 */ // Label 5339: @230449
81527 /* 230449 */ GIM_Try, /*On fail goto*//*Label 5340*/ GIMT_Encode4(230482), // Rule ID 8435 //
81528 /* 230454 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
81529 /* 230457 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81530 /* 230461 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81531 /* 230465 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81532 /* 230469 */ // (strict_fma:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src2, VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src3) => (VFMADD213PHZ128r:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2, VR128X:{ *:[v8f16] }:$src3)
81533 /* 230469 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ128r),
81534 /* 230472 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81535 /* 230474 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81536 /* 230476 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81537 /* 230478 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81538 /* 230480 */ GIR_RootConstrainSelectedInstOperands,
81539 /* 230481 */ // GIR_Coverage, 8435,
81540 /* 230481 */ GIR_EraseRootFromParent_Done,
81541 /* 230482 */ // Label 5340: @230482
81542 /* 230482 */ GIM_Reject,
81543 /* 230483 */ // Label 5336: @230483
81544 /* 230483 */ GIM_Reject,
81545 /* 230484 */ // Label 5260: @230484
81546 /* 230484 */ GIM_Try, /*On fail goto*//*Label 5341*/ GIMT_Encode4(231220),
81547 /* 230489 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
81548 /* 230492 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
81549 /* 230495 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
81550 /* 230498 */ GIM_Try, /*On fail goto*//*Label 5342*/ GIMT_Encode4(230566), // Rule ID 1151 //
81551 /* 230503 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81552 /* 230506 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81553 /* 230510 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81554 /* 230514 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81555 /* 230518 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81556 /* 230521 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81557 /* 230525 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81558 /* 230529 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81559 /* 230533 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81560 /* 230537 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81561 /* 230539 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81562 /* 230546 */ // (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)
81563 /* 230546 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSYm),
81564 /* 230549 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81565 /* 230551 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81566 /* 230553 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
81567 /* 230555 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81568 /* 230559 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81569 /* 230564 */ GIR_RootConstrainSelectedInstOperands,
81570 /* 230565 */ // GIR_Coverage, 1151,
81571 /* 230565 */ GIR_EraseRootFromParent_Done,
81572 /* 230566 */ // Label 5342: @230566
81573 /* 230566 */ GIM_Try, /*On fail goto*//*Label 5343*/ GIMT_Encode4(230634), // Rule ID 9642 //
81574 /* 230571 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81575 /* 230574 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81576 /* 230578 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81577 /* 230582 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81578 /* 230586 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81579 /* 230589 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81580 /* 230593 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81581 /* 230597 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81582 /* 230601 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81583 /* 230605 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81584 /* 230607 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81585 /* 230614 */ // (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)
81586 /* 230614 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZ256m),
81587 /* 230617 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81588 /* 230619 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81589 /* 230621 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
81590 /* 230623 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81591 /* 230627 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81592 /* 230632 */ GIR_RootConstrainSelectedInstOperands,
81593 /* 230633 */ // GIR_Coverage, 9642,
81594 /* 230633 */ GIR_EraseRootFromParent_Done,
81595 /* 230634 */ // Label 5343: @230634
81596 /* 230634 */ GIM_Try, /*On fail goto*//*Label 5344*/ GIMT_Encode4(230702), // Rule ID 23372 //
81597 /* 230639 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81598 /* 230642 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81599 /* 230646 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81600 /* 230650 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81601 /* 230654 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81602 /* 230657 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81603 /* 230661 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81604 /* 230665 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81605 /* 230669 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81606 /* 230673 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81607 /* 230675 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81608 /* 230682 */ // (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)
81609 /* 230682 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Ymr),
81610 /* 230685 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81611 /* 230687 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81612 /* 230689 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81613 /* 230693 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81614 /* 230695 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81615 /* 230700 */ GIR_RootConstrainSelectedInstOperands,
81616 /* 230701 */ // GIR_Coverage, 23372,
81617 /* 230701 */ GIR_EraseRootFromParent_Done,
81618 /* 230702 */ // Label 5344: @230702
81619 /* 230702 */ GIM_Try, /*On fail goto*//*Label 5345*/ GIMT_Encode4(230770), // Rule ID 1149 //
81620 /* 230707 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81621 /* 230710 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81622 /* 230714 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81623 /* 230718 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81624 /* 230722 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81625 /* 230726 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81626 /* 230729 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81627 /* 230733 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81628 /* 230737 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81629 /* 230741 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81630 /* 230743 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81631 /* 230750 */ // (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)
81632 /* 230750 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSYm),
81633 /* 230753 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81634 /* 230755 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81635 /* 230757 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81636 /* 230759 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81637 /* 230763 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81638 /* 230768 */ GIR_RootConstrainSelectedInstOperands,
81639 /* 230769 */ // GIR_Coverage, 1149,
81640 /* 230769 */ GIR_EraseRootFromParent_Done,
81641 /* 230770 */ // Label 5345: @230770
81642 /* 230770 */ GIM_Try, /*On fail goto*//*Label 5346*/ GIMT_Encode4(230838), // Rule ID 1395 //
81643 /* 230775 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81644 /* 230778 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81645 /* 230782 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81646 /* 230786 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81647 /* 230790 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81648 /* 230794 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81649 /* 230797 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81650 /* 230801 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81651 /* 230805 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81652 /* 230809 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81653 /* 230811 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81654 /* 230818 */ // (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)
81655 /* 230818 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Ymr),
81656 /* 230821 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81657 /* 230823 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81658 /* 230825 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81659 /* 230829 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81660 /* 230831 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81661 /* 230836 */ GIR_RootConstrainSelectedInstOperands,
81662 /* 230837 */ // GIR_Coverage, 1395,
81663 /* 230837 */ GIR_EraseRootFromParent_Done,
81664 /* 230838 */ // Label 5346: @230838
81665 /* 230838 */ GIM_Try, /*On fail goto*//*Label 5347*/ GIMT_Encode4(230906), // Rule ID 9102 //
81666 /* 230843 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81667 /* 230846 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81668 /* 230850 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81669 /* 230854 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81670 /* 230858 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81671 /* 230862 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81672 /* 230865 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81673 /* 230869 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81674 /* 230873 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81675 /* 230877 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81676 /* 230879 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81677 /* 230886 */ // (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)
81678 /* 230886 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZ256m),
81679 /* 230889 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81680 /* 230891 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81681 /* 230893 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81682 /* 230895 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81683 /* 230899 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81684 /* 230904 */ GIR_RootConstrainSelectedInstOperands,
81685 /* 230905 */ // GIR_Coverage, 9102,
81686 /* 230905 */ GIR_EraseRootFromParent_Done,
81687 /* 230906 */ // Label 5347: @230906
81688 /* 230906 */ GIM_Try, /*On fail goto*//*Label 5348*/ GIMT_Encode4(230974), // Rule ID 1147 //
81689 /* 230911 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81690 /* 230914 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81691 /* 230918 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81692 /* 230922 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81693 /* 230926 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81694 /* 230930 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81695 /* 230934 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81696 /* 230937 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81697 /* 230941 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81698 /* 230945 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81699 /* 230947 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81700 /* 230954 */ // (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)
81701 /* 230954 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSYm),
81702 /* 230957 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81703 /* 230959 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81704 /* 230961 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81705 /* 230963 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81706 /* 230967 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81707 /* 230972 */ GIR_RootConstrainSelectedInstOperands,
81708 /* 230973 */ // GIR_Coverage, 1147,
81709 /* 230973 */ GIR_EraseRootFromParent_Done,
81710 /* 230974 */ // Label 5348: @230974
81711 /* 230974 */ GIM_Try, /*On fail goto*//*Label 5349*/ GIMT_Encode4(231042), // Rule ID 1393 //
81712 /* 230979 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81713 /* 230982 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81714 /* 230986 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81715 /* 230990 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81716 /* 230994 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81717 /* 230998 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81718 /* 231002 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81719 /* 231005 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81720 /* 231009 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81721 /* 231013 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81722 /* 231015 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81723 /* 231022 */ // (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)
81724 /* 231022 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Yrm),
81725 /* 231025 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81726 /* 231027 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81727 /* 231029 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
81728 /* 231031 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81729 /* 231035 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81730 /* 231040 */ GIR_RootConstrainSelectedInstOperands,
81731 /* 231041 */ // GIR_Coverage, 1393,
81732 /* 231041 */ GIR_EraseRootFromParent_Done,
81733 /* 231042 */ // Label 5349: @231042
81734 /* 231042 */ GIM_Try, /*On fail goto*//*Label 5350*/ GIMT_Encode4(231110), // Rule ID 8466 //
81735 /* 231047 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81736 /* 231050 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81737 /* 231054 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81738 /* 231058 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81739 /* 231062 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81740 /* 231066 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81741 /* 231070 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81742 /* 231073 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81743 /* 231077 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81744 /* 231081 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81745 /* 231083 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81746 /* 231090 */ // (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)
81747 /* 231090 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ256m),
81748 /* 231093 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81749 /* 231095 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81750 /* 231097 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81751 /* 231099 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81752 /* 231103 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81753 /* 231108 */ GIR_RootConstrainSelectedInstOperands,
81754 /* 231109 */ // GIR_Coverage, 8466,
81755 /* 231109 */ GIR_EraseRootFromParent_Done,
81756 /* 231110 */ // Label 5350: @231110
81757 /* 231110 */ GIM_Try, /*On fail goto*//*Label 5351*/ GIMT_Encode4(231147), // Rule ID 1145 //
81758 /* 231115 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81759 /* 231118 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81760 /* 231122 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81761 /* 231126 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81762 /* 231130 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81763 /* 231134 */ // (strict_fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src3) => (VFMADD213PSYr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3)
81764 /* 231134 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSYr),
81765 /* 231137 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81766 /* 231139 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81767 /* 231141 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81768 /* 231143 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81769 /* 231145 */ GIR_RootConstrainSelectedInstOperands,
81770 /* 231146 */ // GIR_Coverage, 1145,
81771 /* 231146 */ GIR_EraseRootFromParent_Done,
81772 /* 231147 */ // Label 5351: @231147
81773 /* 231147 */ GIM_Try, /*On fail goto*//*Label 5352*/ GIMT_Encode4(231182), // Rule ID 1391 //
81774 /* 231152 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81775 /* 231155 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81776 /* 231159 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81777 /* 231163 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81778 /* 231167 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81779 /* 231171 */ // (strict_fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3) => (VFMADDPS4Yrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3)
81780 /* 231171 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Yrr),
81781 /* 231176 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81782 /* 231180 */ GIR_RootConstrainSelectedInstOperands,
81783 /* 231181 */ // GIR_Coverage, 1391,
81784 /* 231181 */ GIR_Done,
81785 /* 231182 */ // Label 5352: @231182
81786 /* 231182 */ GIM_Try, /*On fail goto*//*Label 5353*/ GIMT_Encode4(231219), // Rule ID 8462 //
81787 /* 231187 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81788 /* 231190 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81789 /* 231194 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81790 /* 231198 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81791 /* 231202 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81792 /* 231206 */ // (strict_fma:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src2, VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src3) => (VFMADD213PSZ256r:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2, VR256X:{ *:[v8f32] }:$src3)
81793 /* 231206 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ256r),
81794 /* 231209 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81795 /* 231211 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81796 /* 231213 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81797 /* 231215 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81798 /* 231217 */ GIR_RootConstrainSelectedInstOperands,
81799 /* 231218 */ // GIR_Coverage, 8462,
81800 /* 231218 */ GIR_EraseRootFromParent_Done,
81801 /* 231219 */ // Label 5353: @231219
81802 /* 231219 */ GIM_Reject,
81803 /* 231220 */ // Label 5341: @231220
81804 /* 231220 */ GIM_Reject,
81805 /* 231221 */ // Label 5261: @231221
81806 /* 231221 */ GIM_Try, /*On fail goto*//*Label 5354*/ GIMT_Encode4(231465),
81807 /* 231226 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
81808 /* 231229 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
81809 /* 231232 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
81810 /* 231235 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81811 /* 231239 */ GIM_Try, /*On fail goto*//*Label 5355*/ GIMT_Encode4(231303), // Rule ID 9662 //
81812 /* 231244 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
81813 /* 231247 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81814 /* 231251 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81815 /* 231255 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81816 /* 231258 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81817 /* 231262 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81818 /* 231266 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81819 /* 231270 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81820 /* 231274 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81821 /* 231276 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81822 /* 231283 */ // (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)
81823 /* 231283 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZm),
81824 /* 231286 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81825 /* 231288 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81826 /* 231290 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
81827 /* 231292 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81828 /* 231296 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81829 /* 231301 */ GIR_RootConstrainSelectedInstOperands,
81830 /* 231302 */ // GIR_Coverage, 9662,
81831 /* 231302 */ GIR_EraseRootFromParent_Done,
81832 /* 231303 */ // Label 5355: @231303
81833 /* 231303 */ GIM_Try, /*On fail goto*//*Label 5356*/ GIMT_Encode4(231367), // Rule ID 9122 //
81834 /* 231308 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
81835 /* 231311 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81836 /* 231315 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81837 /* 231319 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81838 /* 231323 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81839 /* 231326 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81840 /* 231330 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81841 /* 231334 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81842 /* 231338 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81843 /* 231340 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81844 /* 231347 */ // (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)
81845 /* 231347 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZm),
81846 /* 231350 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81847 /* 231352 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81848 /* 231354 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81849 /* 231356 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81850 /* 231360 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81851 /* 231365 */ GIR_RootConstrainSelectedInstOperands,
81852 /* 231366 */ // GIR_Coverage, 9122,
81853 /* 231366 */ GIR_EraseRootFromParent_Done,
81854 /* 231367 */ // Label 5356: @231367
81855 /* 231367 */ GIM_Try, /*On fail goto*//*Label 5357*/ GIMT_Encode4(231431), // Rule ID 8490 //
81856 /* 231372 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
81857 /* 231375 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81858 /* 231379 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81859 /* 231383 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81860 /* 231387 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81861 /* 231391 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81862 /* 231394 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81863 /* 231398 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81864 /* 231402 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81865 /* 231404 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81866 /* 231411 */ // (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)
81867 /* 231411 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZm),
81868 /* 231414 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81869 /* 231416 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81870 /* 231418 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81871 /* 231420 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81872 /* 231424 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81873 /* 231429 */ GIR_RootConstrainSelectedInstOperands,
81874 /* 231430 */ // GIR_Coverage, 8490,
81875 /* 231430 */ GIR_EraseRootFromParent_Done,
81876 /* 231431 */ // Label 5357: @231431
81877 /* 231431 */ GIM_Try, /*On fail goto*//*Label 5358*/ GIMT_Encode4(231464), // Rule ID 8486 //
81878 /* 231436 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
81879 /* 231439 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81880 /* 231443 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81881 /* 231447 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81882 /* 231451 */ // (strict_fma:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src2, VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src3) => (VFMADD213PDZr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2, VR512:{ *:[v8f64] }:$src3)
81883 /* 231451 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZr),
81884 /* 231454 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81885 /* 231456 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81886 /* 231458 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81887 /* 231460 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81888 /* 231462 */ GIR_RootConstrainSelectedInstOperands,
81889 /* 231463 */ // GIR_Coverage, 8486,
81890 /* 231463 */ GIR_EraseRootFromParent_Done,
81891 /* 231464 */ // Label 5358: @231464
81892 /* 231464 */ GIM_Reject,
81893 /* 231465 */ // Label 5354: @231465
81894 /* 231465 */ GIM_Reject,
81895 /* 231466 */ // Label 5262: @231466
81896 /* 231466 */ GIM_Try, /*On fail goto*//*Label 5359*/ GIMT_Encode4(231710),
81897 /* 231471 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
81898 /* 231474 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
81899 /* 231477 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
81900 /* 231480 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81901 /* 231484 */ GIM_Try, /*On fail goto*//*Label 5360*/ GIMT_Encode4(231548), // Rule ID 9610 //
81902 /* 231489 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
81903 /* 231492 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81904 /* 231496 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81905 /* 231500 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81906 /* 231503 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81907 /* 231507 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81908 /* 231511 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81909 /* 231515 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81910 /* 231519 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81911 /* 231521 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81912 /* 231528 */ // (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)
81913 /* 231528 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZ256m),
81914 /* 231531 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81915 /* 231533 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81916 /* 231535 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
81917 /* 231537 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81918 /* 231541 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81919 /* 231546 */ GIR_RootConstrainSelectedInstOperands,
81920 /* 231547 */ // GIR_Coverage, 9610,
81921 /* 231547 */ GIR_EraseRootFromParent_Done,
81922 /* 231548 */ // Label 5360: @231548
81923 /* 231548 */ GIM_Try, /*On fail goto*//*Label 5361*/ GIMT_Encode4(231612), // Rule ID 9070 //
81924 /* 231553 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
81925 /* 231556 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81926 /* 231560 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81927 /* 231564 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81928 /* 231568 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81929 /* 231571 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81930 /* 231575 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81931 /* 231579 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81932 /* 231583 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81933 /* 231585 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81934 /* 231592 */ // (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)
81935 /* 231592 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZ256m),
81936 /* 231595 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81937 /* 231597 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81938 /* 231599 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81939 /* 231601 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81940 /* 231605 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81941 /* 231610 */ GIR_RootConstrainSelectedInstOperands,
81942 /* 231611 */ // GIR_Coverage, 9070,
81943 /* 231611 */ GIR_EraseRootFromParent_Done,
81944 /* 231612 */ // Label 5361: @231612
81945 /* 231612 */ GIM_Try, /*On fail goto*//*Label 5362*/ GIMT_Encode4(231676), // Rule ID 8427 //
81946 /* 231617 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
81947 /* 231620 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81948 /* 231624 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81949 /* 231628 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81950 /* 231632 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81951 /* 231636 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81952 /* 231639 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81953 /* 231643 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81954 /* 231647 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81955 /* 231649 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81956 /* 231656 */ // (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)
81957 /* 231656 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ256m),
81958 /* 231659 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81959 /* 231661 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81960 /* 231663 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81961 /* 231665 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81962 /* 231669 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81963 /* 231674 */ GIR_RootConstrainSelectedInstOperands,
81964 /* 231675 */ // GIR_Coverage, 8427,
81965 /* 231675 */ GIR_EraseRootFromParent_Done,
81966 /* 231676 */ // Label 5362: @231676
81967 /* 231676 */ GIM_Try, /*On fail goto*//*Label 5363*/ GIMT_Encode4(231709), // Rule ID 8423 //
81968 /* 231681 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
81969 /* 231684 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81970 /* 231688 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81971 /* 231692 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81972 /* 231696 */ // (strict_fma:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src2, VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src3) => (VFMADD213PHZ256r:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2, VR256X:{ *:[v16f16] }:$src3)
81973 /* 231696 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ256r),
81974 /* 231699 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81975 /* 231701 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81976 /* 231703 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81977 /* 231705 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81978 /* 231707 */ GIR_RootConstrainSelectedInstOperands,
81979 /* 231708 */ // GIR_Coverage, 8423,
81980 /* 231708 */ GIR_EraseRootFromParent_Done,
81981 /* 231709 */ // Label 5363: @231709
81982 /* 231709 */ GIM_Reject,
81983 /* 231710 */ // Label 5359: @231710
81984 /* 231710 */ GIM_Reject,
81985 /* 231711 */ // Label 5263: @231711
81986 /* 231711 */ GIM_Try, /*On fail goto*//*Label 5364*/ GIMT_Encode4(231955),
81987 /* 231716 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
81988 /* 231719 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
81989 /* 231722 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
81990 /* 231725 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81991 /* 231729 */ GIM_Try, /*On fail goto*//*Label 5365*/ GIMT_Encode4(231793), // Rule ID 9630 //
81992 /* 231734 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
81993 /* 231737 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81994 /* 231741 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81995 /* 231745 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81996 /* 231748 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81997 /* 231752 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81998 /* 231756 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81999 /* 231760 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82000 /* 231764 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82001 /* 231766 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82002 /* 231773 */ // (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)
82003 /* 231773 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZm),
82004 /* 231776 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82005 /* 231778 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82006 /* 231780 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
82007 /* 231782 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82008 /* 231786 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82009 /* 231791 */ GIR_RootConstrainSelectedInstOperands,
82010 /* 231792 */ // GIR_Coverage, 9630,
82011 /* 231792 */ GIR_EraseRootFromParent_Done,
82012 /* 231793 */ // Label 5365: @231793
82013 /* 231793 */ GIM_Try, /*On fail goto*//*Label 5366*/ GIMT_Encode4(231857), // Rule ID 9090 //
82014 /* 231798 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
82015 /* 231801 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82016 /* 231805 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
82017 /* 231809 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82018 /* 231813 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82019 /* 231816 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82020 /* 231820 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82021 /* 231824 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82022 /* 231828 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82023 /* 231830 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82024 /* 231837 */ // (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)
82025 /* 231837 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZm),
82026 /* 231840 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82027 /* 231842 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
82028 /* 231844 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82029 /* 231846 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82030 /* 231850 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82031 /* 231855 */ GIR_RootConstrainSelectedInstOperands,
82032 /* 231856 */ // GIR_Coverage, 9090,
82033 /* 231856 */ GIR_EraseRootFromParent_Done,
82034 /* 231857 */ // Label 5366: @231857
82035 /* 231857 */ GIM_Try, /*On fail goto*//*Label 5367*/ GIMT_Encode4(231921), // Rule ID 8451 //
82036 /* 231862 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
82037 /* 231865 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82038 /* 231869 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82039 /* 231873 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
82040 /* 231877 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82041 /* 231881 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82042 /* 231884 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82043 /* 231888 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82044 /* 231892 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82045 /* 231894 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82046 /* 231901 */ // (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)
82047 /* 231901 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZm),
82048 /* 231904 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82049 /* 231906 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82050 /* 231908 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82051 /* 231910 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82052 /* 231914 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82053 /* 231919 */ GIR_RootConstrainSelectedInstOperands,
82054 /* 231920 */ // GIR_Coverage, 8451,
82055 /* 231920 */ GIR_EraseRootFromParent_Done,
82056 /* 231921 */ // Label 5367: @231921
82057 /* 231921 */ GIM_Try, /*On fail goto*//*Label 5368*/ GIMT_Encode4(231954), // Rule ID 8447 //
82058 /* 231926 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
82059 /* 231929 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82060 /* 231933 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82061 /* 231937 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82062 /* 231941 */ // (strict_fma:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src2, VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src3) => (VFMADD213PSZr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2, VR512:{ *:[v16f32] }:$src3)
82063 /* 231941 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZr),
82064 /* 231944 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82065 /* 231946 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82066 /* 231948 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82067 /* 231950 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82068 /* 231952 */ GIR_RootConstrainSelectedInstOperands,
82069 /* 231953 */ // GIR_Coverage, 8447,
82070 /* 231953 */ GIR_EraseRootFromParent_Done,
82071 /* 231954 */ // Label 5368: @231954
82072 /* 231954 */ GIM_Reject,
82073 /* 231955 */ // Label 5364: @231955
82074 /* 231955 */ GIM_Reject,
82075 /* 231956 */ // Label 5264: @231956
82076 /* 231956 */ GIM_Try, /*On fail goto*//*Label 5369*/ GIMT_Encode4(232200),
82077 /* 231961 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
82078 /* 231964 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
82079 /* 231967 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
82080 /* 231970 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82081 /* 231974 */ GIM_Try, /*On fail goto*//*Label 5370*/ GIMT_Encode4(232038), // Rule ID 9598 //
82082 /* 231979 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
82083 /* 231982 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82084 /* 231986 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82085 /* 231990 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82086 /* 231993 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82087 /* 231997 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82088 /* 232001 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82089 /* 232005 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82090 /* 232009 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82091 /* 232011 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82092 /* 232018 */ // (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)
82093 /* 232018 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZm),
82094 /* 232021 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82095 /* 232023 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82096 /* 232025 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
82097 /* 232027 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82098 /* 232031 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82099 /* 232036 */ GIR_RootConstrainSelectedInstOperands,
82100 /* 232037 */ // GIR_Coverage, 9598,
82101 /* 232037 */ GIR_EraseRootFromParent_Done,
82102 /* 232038 */ // Label 5370: @232038
82103 /* 232038 */ GIM_Try, /*On fail goto*//*Label 5371*/ GIMT_Encode4(232102), // Rule ID 9058 //
82104 /* 232043 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
82105 /* 232046 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82106 /* 232050 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
82107 /* 232054 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82108 /* 232058 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82109 /* 232061 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82110 /* 232065 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82111 /* 232069 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82112 /* 232073 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82113 /* 232075 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82114 /* 232082 */ // (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)
82115 /* 232082 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZm),
82116 /* 232085 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82117 /* 232087 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
82118 /* 232089 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82119 /* 232091 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82120 /* 232095 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82121 /* 232100 */ GIR_RootConstrainSelectedInstOperands,
82122 /* 232101 */ // GIR_Coverage, 9058,
82123 /* 232101 */ GIR_EraseRootFromParent_Done,
82124 /* 232102 */ // Label 5371: @232102
82125 /* 232102 */ GIM_Try, /*On fail goto*//*Label 5372*/ GIMT_Encode4(232166), // Rule ID 8412 //
82126 /* 232107 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
82127 /* 232110 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82128 /* 232114 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82129 /* 232118 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
82130 /* 232122 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82131 /* 232126 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82132 /* 232129 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82133 /* 232133 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82134 /* 232137 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82135 /* 232139 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82136 /* 232146 */ // (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)
82137 /* 232146 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZm),
82138 /* 232149 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82139 /* 232151 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82140 /* 232153 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82141 /* 232155 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82142 /* 232159 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82143 /* 232164 */ GIR_RootConstrainSelectedInstOperands,
82144 /* 232165 */ // GIR_Coverage, 8412,
82145 /* 232165 */ GIR_EraseRootFromParent_Done,
82146 /* 232166 */ // Label 5372: @232166
82147 /* 232166 */ GIM_Try, /*On fail goto*//*Label 5373*/ GIMT_Encode4(232199), // Rule ID 8408 //
82148 /* 232171 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
82149 /* 232174 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82150 /* 232178 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82151 /* 232182 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82152 /* 232186 */ // (strict_fma:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src2, VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src3) => (VFMADD213PHZr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2, VR512:{ *:[v32f16] }:$src3)
82153 /* 232186 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZr),
82154 /* 232189 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82155 /* 232191 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82156 /* 232193 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82157 /* 232195 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82158 /* 232197 */ GIR_RootConstrainSelectedInstOperands,
82159 /* 232198 */ // GIR_Coverage, 8408,
82160 /* 232198 */ GIR_EraseRootFromParent_Done,
82161 /* 232199 */ // Label 5373: @232199
82162 /* 232199 */ GIM_Reject,
82163 /* 232200 */ // Label 5369: @232200
82164 /* 232200 */ GIM_Reject,
82165 /* 232201 */ // Label 5265: @232201
82166 /* 232201 */ GIM_Reject,
82167 /* 232202 */ // Label 74: @232202
82168 /* 232202 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 5387*/ GIMT_Encode4(234370),
82169 /* 232213 */ /*GILLT_s16*//*Label 5374*/ GIMT_Encode4(232297),
82170 /* 232217 */ /*GILLT_s32*//*Label 5375*/ GIMT_Encode4(232418),
82171 /* 232221 */ /*GILLT_s64*//*Label 5376*/ GIMT_Encode4(232774),
82172 /* 232225 */ /*GILLT_s80*//*Label 5377*/ GIMT_Encode4(233130), GIMT_Encode4(0), GIMT_Encode4(0),
82173 /* 232237 */ /*GILLT_v2s64*//*Label 5378*/ GIMT_Encode4(233167), GIMT_Encode4(0),
82174 /* 232245 */ /*GILLT_v4s32*//*Label 5379*/ GIMT_Encode4(233370),
82175 /* 232249 */ /*GILLT_v4s64*//*Label 5380*/ GIMT_Encode4(233573), GIMT_Encode4(0),
82176 /* 232257 */ /*GILLT_v8s16*//*Label 5381*/ GIMT_Encode4(233749),
82177 /* 232261 */ /*GILLT_v8s32*//*Label 5382*/ GIMT_Encode4(233838),
82178 /* 232265 */ /*GILLT_v8s64*//*Label 5383*/ GIMT_Encode4(234014), GIMT_Encode4(0), GIMT_Encode4(0),
82179 /* 232277 */ /*GILLT_v16s16*//*Label 5384*/ GIMT_Encode4(234103),
82180 /* 232281 */ /*GILLT_v16s32*//*Label 5385*/ GIMT_Encode4(234192), GIMT_Encode4(0), GIMT_Encode4(0),
82181 /* 232293 */ /*GILLT_v32s16*//*Label 5386*/ GIMT_Encode4(234281),
82182 /* 232297 */ // Label 5374: @232297
82183 /* 232297 */ GIM_Try, /*On fail goto*//*Label 5388*/ GIMT_Encode4(232417),
82184 /* 232302 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
82185 /* 232305 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
82186 /* 232309 */ GIM_Try, /*On fail goto*//*Label 5389*/ GIMT_Encode4(232378), // Rule ID 21431 //
82187 /* 232314 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_OptForSize),
82188 /* 232317 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82189 /* 232321 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82190 /* 232325 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82191 /* 232328 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82192 /* 232332 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82193 /* 232336 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82194 /* 232338 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82195 /* 232345 */ // (strict_fsqrt:{ *:[f16] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSHZm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
82196 /* 232345 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
82197 /* 232348 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82198 /* 232352 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
82199 /* 232357 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82200 /* 232359 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSHZm),
82201 /* 232362 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82202 /* 232364 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82203 /* 232367 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82204 /* 232371 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82205 /* 232376 */ GIR_RootConstrainSelectedInstOperands,
82206 /* 232377 */ // GIR_Coverage, 21431,
82207 /* 232377 */ GIR_EraseRootFromParent_Done,
82208 /* 232378 */ // Label 5389: @232378
82209 /* 232378 */ GIM_Try, /*On fail goto*//*Label 5390*/ GIMT_Encode4(232416), // Rule ID 21429 //
82210 /* 232383 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
82211 /* 232386 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
82212 /* 232390 */ // (strict_fsqrt:{ *:[f16] } FR16X:{ *:[f16] }:$src) => (VSQRTSHZr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), FR16X:{ *:[f16] }:$src)
82213 /* 232390 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
82214 /* 232393 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82215 /* 232397 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
82216 /* 232402 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82217 /* 232404 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSHZr),
82218 /* 232407 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82219 /* 232409 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82220 /* 232412 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
82221 /* 232414 */ GIR_RootConstrainSelectedInstOperands,
82222 /* 232415 */ // GIR_Coverage, 21429,
82223 /* 232415 */ GIR_EraseRootFromParent_Done,
82224 /* 232416 */ // Label 5390: @232416
82225 /* 232416 */ GIM_Reject,
82226 /* 232417 */ // Label 5388: @232417
82227 /* 232417 */ GIM_Reject,
82228 /* 232418 */ // Label 5375: @232418
82229 /* 232418 */ GIM_Try, /*On fail goto*//*Label 5391*/ GIMT_Encode4(232773),
82230 /* 232423 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
82231 /* 232426 */ GIM_Try, /*On fail goto*//*Label 5392*/ GIMT_Encode4(232482), // Rule ID 2448 //
82232 /* 232431 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseSSE1),
82233 /* 232434 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
82234 /* 232438 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82235 /* 232442 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82236 /* 232446 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82237 /* 232449 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82238 /* 232453 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82239 /* 232457 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82240 /* 232459 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82241 /* 232466 */ // (strict_fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SQRTSSm:{ *:[f32] } addr:{ *:[iPTR] }:$src1)
82242 /* 232466 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SQRTSSm),
82243 /* 232469 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82244 /* 232471 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
82245 /* 232475 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82246 /* 232480 */ GIR_RootConstrainSelectedInstOperands,
82247 /* 232481 */ // GIR_Coverage, 2448,
82248 /* 232481 */ GIR_EraseRootFromParent_Done,
82249 /* 232482 */ // Label 5392: @232482
82250 /* 232482 */ GIM_Try, /*On fail goto*//*Label 5393*/ GIMT_Encode4(232555), // Rule ID 18266 //
82251 /* 232487 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseAVX),
82252 /* 232490 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
82253 /* 232494 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82254 /* 232498 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82255 /* 232502 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82256 /* 232505 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82257 /* 232509 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82258 /* 232513 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82259 /* 232515 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82260 /* 232522 */ // (strict_fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSSm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
82261 /* 232522 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
82262 /* 232525 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82263 /* 232529 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
82264 /* 232534 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82265 /* 232536 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSm),
82266 /* 232539 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82267 /* 232541 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82268 /* 232544 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82269 /* 232548 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82270 /* 232553 */ GIR_RootConstrainSelectedInstOperands,
82271 /* 232554 */ // GIR_Coverage, 18266,
82272 /* 232554 */ GIR_EraseRootFromParent_Done,
82273 /* 232555 */ // Label 5393: @232555
82274 /* 232555 */ GIM_Try, /*On fail goto*//*Label 5394*/ GIMT_Encode4(232628), // Rule ID 21435 //
82275 /* 232560 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_OptForSize),
82276 /* 232563 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
82277 /* 232567 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82278 /* 232571 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82279 /* 232575 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82280 /* 232578 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82281 /* 232582 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82282 /* 232586 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82283 /* 232588 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82284 /* 232595 */ // (strict_fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSSZm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
82285 /* 232595 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
82286 /* 232598 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82287 /* 232602 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
82288 /* 232607 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82289 /* 232609 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSZm),
82290 /* 232612 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82291 /* 232614 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82292 /* 232617 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82293 /* 232621 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82294 /* 232626 */ GIR_RootConstrainSelectedInstOperands,
82295 /* 232627 */ // GIR_Coverage, 21435,
82296 /* 232627 */ GIR_EraseRootFromParent_Done,
82297 /* 232628 */ // Label 5394: @232628
82298 /* 232628 */ GIM_Try, /*On fail goto*//*Label 5395*/ GIMT_Encode4(232661), // Rule ID 1048 //
82299 /* 232633 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
82300 /* 232636 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
82301 /* 232640 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
82302 /* 232644 */ // (strict_fsqrt:{ *:[f32] } RFP32:{ *:[f32] }:$src) => (SQRT_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src)
82303 /* 232644 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp32),
82304 /* 232649 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
82305 /* 232655 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
82306 /* 232659 */ GIR_RootConstrainSelectedInstOperands,
82307 /* 232660 */ // GIR_Coverage, 1048,
82308 /* 232660 */ GIR_Done,
82309 /* 232661 */ // Label 5395: @232661
82310 /* 232661 */ GIM_Try, /*On fail goto*//*Label 5396*/ GIMT_Encode4(232688), // Rule ID 2446 //
82311 /* 232666 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
82312 /* 232669 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
82313 /* 232673 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
82314 /* 232677 */ // (strict_fsqrt:{ *:[f32] } FR32:{ *:[f32] }:$src1) => (SQRTSSr:{ *:[f32] } FR32:{ *:[f32] }:$src1)
82315 /* 232677 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTSSr),
82316 /* 232682 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82317 /* 232686 */ GIR_RootConstrainSelectedInstOperands,
82318 /* 232687 */ // GIR_Coverage, 2446,
82319 /* 232687 */ GIR_Done,
82320 /* 232688 */ // Label 5396: @232688
82321 /* 232688 */ GIM_Try, /*On fail goto*//*Label 5397*/ GIMT_Encode4(232730), // Rule ID 18264 //
82322 /* 232693 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
82323 /* 232696 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
82324 /* 232700 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
82325 /* 232704 */ // (strict_fsqrt:{ *:[f32] } FR32:{ *:[f32] }:$src) => (VSQRTSSr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR32:{ *:[f32] }:$src)
82326 /* 232704 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
82327 /* 232707 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82328 /* 232711 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
82329 /* 232716 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82330 /* 232718 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSr),
82331 /* 232721 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82332 /* 232723 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82333 /* 232726 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
82334 /* 232728 */ GIR_RootConstrainSelectedInstOperands,
82335 /* 232729 */ // GIR_Coverage, 18264,
82336 /* 232729 */ GIR_EraseRootFromParent_Done,
82337 /* 232730 */ // Label 5397: @232730
82338 /* 232730 */ GIM_Try, /*On fail goto*//*Label 5398*/ GIMT_Encode4(232772), // Rule ID 21433 //
82339 /* 232735 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
82340 /* 232738 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
82341 /* 232742 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
82342 /* 232746 */ // (strict_fsqrt:{ *:[f32] } FR32X:{ *:[f32] }:$src) => (VSQRTSSZr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR32X:{ *:[f32] }:$src)
82343 /* 232746 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
82344 /* 232749 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82345 /* 232753 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
82346 /* 232758 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82347 /* 232760 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSZr),
82348 /* 232763 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82349 /* 232765 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82350 /* 232768 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
82351 /* 232770 */ GIR_RootConstrainSelectedInstOperands,
82352 /* 232771 */ // GIR_Coverage, 21433,
82353 /* 232771 */ GIR_EraseRootFromParent_Done,
82354 /* 232772 */ // Label 5398: @232772
82355 /* 232772 */ GIM_Reject,
82356 /* 232773 */ // Label 5391: @232773
82357 /* 232773 */ GIM_Reject,
82358 /* 232774 */ // Label 5376: @232774
82359 /* 232774 */ GIM_Try, /*On fail goto*//*Label 5399*/ GIMT_Encode4(233129),
82360 /* 232779 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
82361 /* 232782 */ GIM_Try, /*On fail goto*//*Label 5400*/ GIMT_Encode4(232838), // Rule ID 2464 //
82362 /* 232787 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseSSE2),
82363 /* 232790 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
82364 /* 232794 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82365 /* 232798 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82366 /* 232802 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82367 /* 232805 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82368 /* 232809 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82369 /* 232813 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82370 /* 232815 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82371 /* 232822 */ // (strict_fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SQRTSDm:{ *:[f64] } addr:{ *:[iPTR] }:$src1)
82372 /* 232822 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SQRTSDm),
82373 /* 232825 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82374 /* 232827 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
82375 /* 232831 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82376 /* 232836 */ GIR_RootConstrainSelectedInstOperands,
82377 /* 232837 */ // GIR_Coverage, 2464,
82378 /* 232837 */ GIR_EraseRootFromParent_Done,
82379 /* 232838 */ // Label 5400: @232838
82380 /* 232838 */ GIM_Try, /*On fail goto*//*Label 5401*/ GIMT_Encode4(232911), // Rule ID 18270 //
82381 /* 232843 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseAVX),
82382 /* 232846 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
82383 /* 232850 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82384 /* 232854 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82385 /* 232858 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82386 /* 232861 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82387 /* 232865 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82388 /* 232869 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82389 /* 232871 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82390 /* 232878 */ // (strict_fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSDm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
82391 /* 232878 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
82392 /* 232881 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82393 /* 232885 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
82394 /* 232890 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82395 /* 232892 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDm),
82396 /* 232895 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82397 /* 232897 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82398 /* 232900 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82399 /* 232904 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82400 /* 232909 */ GIR_RootConstrainSelectedInstOperands,
82401 /* 232910 */ // GIR_Coverage, 18270,
82402 /* 232910 */ GIR_EraseRootFromParent_Done,
82403 /* 232911 */ // Label 5401: @232911
82404 /* 232911 */ GIM_Try, /*On fail goto*//*Label 5402*/ GIMT_Encode4(232984), // Rule ID 21439 //
82405 /* 232916 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_OptForSize),
82406 /* 232919 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
82407 /* 232923 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82408 /* 232927 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82409 /* 232931 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82410 /* 232934 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82411 /* 232938 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82412 /* 232942 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82413 /* 232944 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82414 /* 232951 */ // (strict_fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSDZm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
82415 /* 232951 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
82416 /* 232954 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82417 /* 232958 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
82418 /* 232963 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82419 /* 232965 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDZm),
82420 /* 232968 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82421 /* 232970 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82422 /* 232973 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82423 /* 232977 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82424 /* 232982 */ GIR_RootConstrainSelectedInstOperands,
82425 /* 232983 */ // GIR_Coverage, 21439,
82426 /* 232983 */ GIR_EraseRootFromParent_Done,
82427 /* 232984 */ // Label 5402: @232984
82428 /* 232984 */ GIM_Try, /*On fail goto*//*Label 5403*/ GIMT_Encode4(233017), // Rule ID 1050 //
82429 /* 232989 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
82430 /* 232992 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
82431 /* 232996 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
82432 /* 233000 */ // (strict_fsqrt:{ *:[f64] } RFP64:{ *:[f64] }:$src) => (SQRT_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src)
82433 /* 233000 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp64),
82434 /* 233005 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
82435 /* 233011 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
82436 /* 233015 */ GIR_RootConstrainSelectedInstOperands,
82437 /* 233016 */ // GIR_Coverage, 1050,
82438 /* 233016 */ GIR_Done,
82439 /* 233017 */ // Label 5403: @233017
82440 /* 233017 */ GIM_Try, /*On fail goto*//*Label 5404*/ GIMT_Encode4(233044), // Rule ID 2462 //
82441 /* 233022 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
82442 /* 233025 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
82443 /* 233029 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
82444 /* 233033 */ // (strict_fsqrt:{ *:[f64] } FR64:{ *:[f64] }:$src1) => (SQRTSDr:{ *:[f64] } FR64:{ *:[f64] }:$src1)
82445 /* 233033 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTSDr),
82446 /* 233038 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82447 /* 233042 */ GIR_RootConstrainSelectedInstOperands,
82448 /* 233043 */ // GIR_Coverage, 2462,
82449 /* 233043 */ GIR_Done,
82450 /* 233044 */ // Label 5404: @233044
82451 /* 233044 */ GIM_Try, /*On fail goto*//*Label 5405*/ GIMT_Encode4(233086), // Rule ID 18268 //
82452 /* 233049 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
82453 /* 233052 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
82454 /* 233056 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
82455 /* 233060 */ // (strict_fsqrt:{ *:[f64] } FR64:{ *:[f64] }:$src) => (VSQRTSDr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR64:{ *:[f64] }:$src)
82456 /* 233060 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
82457 /* 233063 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82458 /* 233067 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
82459 /* 233072 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82460 /* 233074 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDr),
82461 /* 233077 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82462 /* 233079 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82463 /* 233082 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
82464 /* 233084 */ GIR_RootConstrainSelectedInstOperands,
82465 /* 233085 */ // GIR_Coverage, 18268,
82466 /* 233085 */ GIR_EraseRootFromParent_Done,
82467 /* 233086 */ // Label 5405: @233086
82468 /* 233086 */ GIM_Try, /*On fail goto*//*Label 5406*/ GIMT_Encode4(233128), // Rule ID 21437 //
82469 /* 233091 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
82470 /* 233094 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
82471 /* 233098 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
82472 /* 233102 */ // (strict_fsqrt:{ *:[f64] } FR64X:{ *:[f64] }:$src) => (VSQRTSDZr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR64X:{ *:[f64] }:$src)
82473 /* 233102 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
82474 /* 233105 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82475 /* 233109 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
82476 /* 233114 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82477 /* 233116 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDZr),
82478 /* 233119 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82479 /* 233121 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82480 /* 233124 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
82481 /* 233126 */ GIR_RootConstrainSelectedInstOperands,
82482 /* 233127 */ // GIR_Coverage, 21437,
82483 /* 233127 */ GIR_EraseRootFromParent_Done,
82484 /* 233128 */ // Label 5406: @233128
82485 /* 233128 */ GIM_Reject,
82486 /* 233129 */ // Label 5399: @233129
82487 /* 233129 */ GIM_Reject,
82488 /* 233130 */ // Label 5377: @233130
82489 /* 233130 */ GIM_Try, /*On fail goto*//*Label 5407*/ GIMT_Encode4(233166), // Rule ID 1052 //
82490 /* 233135 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
82491 /* 233138 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
82492 /* 233141 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
82493 /* 233145 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
82494 /* 233149 */ // (strict_fsqrt:{ *:[f80] } RFP80:{ *:[f80] }:$src) => (SQRT_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src)
82495 /* 233149 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp80),
82496 /* 233154 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
82497 /* 233160 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
82498 /* 233164 */ GIR_RootConstrainSelectedInstOperands,
82499 /* 233165 */ // GIR_Coverage, 1052,
82500 /* 233165 */ GIR_Done,
82501 /* 233166 */ // Label 5407: @233166
82502 /* 233166 */ GIM_Reject,
82503 /* 233167 */ // Label 5378: @233167
82504 /* 233167 */ GIM_Try, /*On fail goto*//*Label 5408*/ GIMT_Encode4(233369),
82505 /* 233172 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
82506 /* 233175 */ GIM_Try, /*On fail goto*//*Label 5409*/ GIMT_Encode4(233231), // Rule ID 2468 //
82507 /* 233180 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
82508 /* 233183 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82509 /* 233187 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82510 /* 233191 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82511 /* 233195 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82512 /* 233198 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82513 /* 233202 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82514 /* 233206 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82515 /* 233208 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82516 /* 233215 */ // (strict_fsqrt:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
82517 /* 233215 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDm),
82518 /* 233218 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82519 /* 233220 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82520 /* 233224 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82521 /* 233229 */ GIR_RootConstrainSelectedInstOperands,
82522 /* 233230 */ // GIR_Coverage, 2468,
82523 /* 233230 */ GIR_EraseRootFromParent_Done,
82524 /* 233231 */ // Label 5409: @233231
82525 /* 233231 */ GIM_Try, /*On fail goto*//*Label 5410*/ GIMT_Encode4(233287), // Rule ID 12090 //
82526 /* 233236 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
82527 /* 233239 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82528 /* 233243 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82529 /* 233247 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82530 /* 233251 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82531 /* 233254 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82532 /* 233258 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82533 /* 233262 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82534 /* 233264 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82535 /* 233271 */ // (strict_fsqrt:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZ128m:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
82536 /* 233271 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ128m),
82537 /* 233274 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82538 /* 233276 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82539 /* 233280 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82540 /* 233285 */ GIR_RootConstrainSelectedInstOperands,
82541 /* 233286 */ // GIR_Coverage, 12090,
82542 /* 233286 */ GIR_EraseRootFromParent_Done,
82543 /* 233287 */ // Label 5410: @233287
82544 /* 233287 */ GIM_Try, /*On fail goto*//*Label 5411*/ GIMT_Encode4(233314), // Rule ID 2466 //
82545 /* 233292 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
82546 /* 233295 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82547 /* 233299 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82548 /* 233303 */ // (strict_fsqrt:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src) => (VSQRTPDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
82549 /* 233303 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDr),
82550 /* 233308 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82551 /* 233312 */ GIR_RootConstrainSelectedInstOperands,
82552 /* 233313 */ // GIR_Coverage, 2466,
82553 /* 233313 */ GIR_Done,
82554 /* 233314 */ // Label 5411: @233314
82555 /* 233314 */ GIM_Try, /*On fail goto*//*Label 5412*/ GIMT_Encode4(233341), // Rule ID 2474 //
82556 /* 233319 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
82557 /* 233322 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82558 /* 233326 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82559 /* 233330 */ // (strict_fsqrt:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src) => (SQRTPDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
82560 /* 233330 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTPDr),
82561 /* 233335 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82562 /* 233339 */ GIR_RootConstrainSelectedInstOperands,
82563 /* 233340 */ // GIR_Coverage, 2474,
82564 /* 233340 */ GIR_Done,
82565 /* 233341 */ // Label 5412: @233341
82566 /* 233341 */ GIM_Try, /*On fail goto*//*Label 5413*/ GIMT_Encode4(233368), // Rule ID 12086 //
82567 /* 233346 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
82568 /* 233349 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82569 /* 233353 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82570 /* 233357 */ // (strict_fsqrt:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src) => (VSQRTPDZ128r:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src)
82571 /* 233357 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ128r),
82572 /* 233362 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82573 /* 233366 */ GIR_RootConstrainSelectedInstOperands,
82574 /* 233367 */ // GIR_Coverage, 12086,
82575 /* 233367 */ GIR_Done,
82576 /* 233368 */ // Label 5413: @233368
82577 /* 233368 */ GIM_Reject,
82578 /* 233369 */ // Label 5408: @233369
82579 /* 233369 */ GIM_Reject,
82580 /* 233370 */ // Label 5379: @233370
82581 /* 233370 */ GIM_Try, /*On fail goto*//*Label 5414*/ GIMT_Encode4(233572),
82582 /* 233375 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
82583 /* 233378 */ GIM_Try, /*On fail goto*//*Label 5415*/ GIMT_Encode4(233434), // Rule ID 2452 //
82584 /* 233383 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
82585 /* 233386 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82586 /* 233390 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82587 /* 233394 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82588 /* 233398 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82589 /* 233401 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82590 /* 233405 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82591 /* 233409 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82592 /* 233411 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82593 /* 233418 */ // (strict_fsqrt:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
82594 /* 233418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSm),
82595 /* 233421 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82596 /* 233423 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82597 /* 233427 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82598 /* 233432 */ GIR_RootConstrainSelectedInstOperands,
82599 /* 233433 */ // GIR_Coverage, 2452,
82600 /* 233433 */ GIR_EraseRootFromParent_Done,
82601 /* 233434 */ // Label 5415: @233434
82602 /* 233434 */ GIM_Try, /*On fail goto*//*Label 5416*/ GIMT_Encode4(233490), // Rule ID 12066 //
82603 /* 233439 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
82604 /* 233442 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82605 /* 233446 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82606 /* 233450 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82607 /* 233454 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82608 /* 233457 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82609 /* 233461 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82610 /* 233465 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82611 /* 233467 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82612 /* 233474 */ // (strict_fsqrt:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZ128m:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
82613 /* 233474 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ128m),
82614 /* 233477 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82615 /* 233479 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82616 /* 233483 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82617 /* 233488 */ GIR_RootConstrainSelectedInstOperands,
82618 /* 233489 */ // GIR_Coverage, 12066,
82619 /* 233489 */ GIR_EraseRootFromParent_Done,
82620 /* 233490 */ // Label 5416: @233490
82621 /* 233490 */ GIM_Try, /*On fail goto*//*Label 5417*/ GIMT_Encode4(233517), // Rule ID 2450 //
82622 /* 233495 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
82623 /* 233498 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82624 /* 233502 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82625 /* 233506 */ // (strict_fsqrt:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src) => (VSQRTPSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
82626 /* 233506 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSr),
82627 /* 233511 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82628 /* 233515 */ GIR_RootConstrainSelectedInstOperands,
82629 /* 233516 */ // GIR_Coverage, 2450,
82630 /* 233516 */ GIR_Done,
82631 /* 233517 */ // Label 5417: @233517
82632 /* 233517 */ GIM_Try, /*On fail goto*//*Label 5418*/ GIMT_Encode4(233544), // Rule ID 2458 //
82633 /* 233522 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
82634 /* 233525 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82635 /* 233529 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82636 /* 233533 */ // (strict_fsqrt:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src) => (SQRTPSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
82637 /* 233533 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTPSr),
82638 /* 233538 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82639 /* 233542 */ GIR_RootConstrainSelectedInstOperands,
82640 /* 233543 */ // GIR_Coverage, 2458,
82641 /* 233543 */ GIR_Done,
82642 /* 233544 */ // Label 5418: @233544
82643 /* 233544 */ GIM_Try, /*On fail goto*//*Label 5419*/ GIMT_Encode4(233571), // Rule ID 12062 //
82644 /* 233549 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
82645 /* 233552 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82646 /* 233556 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82647 /* 233560 */ // (strict_fsqrt:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src) => (VSQRTPSZ128r:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src)
82648 /* 233560 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ128r),
82649 /* 233565 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82650 /* 233569 */ GIR_RootConstrainSelectedInstOperands,
82651 /* 233570 */ // GIR_Coverage, 12062,
82652 /* 233570 */ GIR_Done,
82653 /* 233571 */ // Label 5419: @233571
82654 /* 233571 */ GIM_Reject,
82655 /* 233572 */ // Label 5414: @233572
82656 /* 233572 */ GIM_Reject,
82657 /* 233573 */ // Label 5380: @233573
82658 /* 233573 */ GIM_Try, /*On fail goto*//*Label 5420*/ GIMT_Encode4(233748),
82659 /* 233578 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
82660 /* 233581 */ GIM_Try, /*On fail goto*//*Label 5421*/ GIMT_Encode4(233637), // Rule ID 2472 //
82661 /* 233586 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
82662 /* 233589 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82663 /* 233593 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82664 /* 233597 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82665 /* 233601 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82666 /* 233604 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82667 /* 233608 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82668 /* 233612 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82669 /* 233614 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82670 /* 233621 */ // (strict_fsqrt:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDYm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
82671 /* 233621 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDYm),
82672 /* 233624 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82673 /* 233626 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82674 /* 233630 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82675 /* 233635 */ GIR_RootConstrainSelectedInstOperands,
82676 /* 233636 */ // GIR_Coverage, 2472,
82677 /* 233636 */ GIR_EraseRootFromParent_Done,
82678 /* 233637 */ // Label 5421: @233637
82679 /* 233637 */ GIM_Try, /*On fail goto*//*Label 5422*/ GIMT_Encode4(233693), // Rule ID 12102 //
82680 /* 233642 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
82681 /* 233645 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82682 /* 233649 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82683 /* 233653 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82684 /* 233657 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82685 /* 233660 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82686 /* 233664 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82687 /* 233668 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82688 /* 233670 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82689 /* 233677 */ // (strict_fsqrt:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZ256m:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
82690 /* 233677 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ256m),
82691 /* 233680 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82692 /* 233682 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82693 /* 233686 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82694 /* 233691 */ GIR_RootConstrainSelectedInstOperands,
82695 /* 233692 */ // GIR_Coverage, 12102,
82696 /* 233692 */ GIR_EraseRootFromParent_Done,
82697 /* 233693 */ // Label 5422: @233693
82698 /* 233693 */ GIM_Try, /*On fail goto*//*Label 5423*/ GIMT_Encode4(233720), // Rule ID 2470 //
82699 /* 233698 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
82700 /* 233701 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82701 /* 233705 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82702 /* 233709 */ // (strict_fsqrt:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src) => (VSQRTPDYr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src)
82703 /* 233709 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDYr),
82704 /* 233714 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82705 /* 233718 */ GIR_RootConstrainSelectedInstOperands,
82706 /* 233719 */ // GIR_Coverage, 2470,
82707 /* 233719 */ GIR_Done,
82708 /* 233720 */ // Label 5423: @233720
82709 /* 233720 */ GIM_Try, /*On fail goto*//*Label 5424*/ GIMT_Encode4(233747), // Rule ID 12098 //
82710 /* 233725 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
82711 /* 233728 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82712 /* 233732 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82713 /* 233736 */ // (strict_fsqrt:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src) => (VSQRTPDZ256r:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src)
82714 /* 233736 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ256r),
82715 /* 233741 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82716 /* 233745 */ GIR_RootConstrainSelectedInstOperands,
82717 /* 233746 */ // GIR_Coverage, 12098,
82718 /* 233746 */ GIR_Done,
82719 /* 233747 */ // Label 5424: @233747
82720 /* 233747 */ GIM_Reject,
82721 /* 233748 */ // Label 5420: @233748
82722 /* 233748 */ GIM_Reject,
82723 /* 233749 */ // Label 5381: @233749
82724 /* 233749 */ GIM_Try, /*On fail goto*//*Label 5425*/ GIMT_Encode4(233837),
82725 /* 233754 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
82726 /* 233757 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82727 /* 233761 */ GIM_Try, /*On fail goto*//*Label 5426*/ GIMT_Encode4(233813), // Rule ID 12018 //
82728 /* 233766 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
82729 /* 233769 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82730 /* 233773 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82731 /* 233777 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82732 /* 233780 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82733 /* 233784 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82734 /* 233788 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82735 /* 233790 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82736 /* 233797 */ // (strict_fsqrt:{ *:[v8f16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZ128m:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
82737 /* 233797 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ128m),
82738 /* 233800 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82739 /* 233802 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82740 /* 233806 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82741 /* 233811 */ GIR_RootConstrainSelectedInstOperands,
82742 /* 233812 */ // GIR_Coverage, 12018,
82743 /* 233812 */ GIR_EraseRootFromParent_Done,
82744 /* 233813 */ // Label 5426: @233813
82745 /* 233813 */ GIM_Try, /*On fail goto*//*Label 5427*/ GIMT_Encode4(233836), // Rule ID 12014 //
82746 /* 233818 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
82747 /* 233821 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82748 /* 233825 */ // (strict_fsqrt:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src) => (VSQRTPHZ128r:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src)
82749 /* 233825 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ128r),
82750 /* 233830 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82751 /* 233834 */ GIR_RootConstrainSelectedInstOperands,
82752 /* 233835 */ // GIR_Coverage, 12014,
82753 /* 233835 */ GIR_Done,
82754 /* 233836 */ // Label 5427: @233836
82755 /* 233836 */ GIM_Reject,
82756 /* 233837 */ // Label 5425: @233837
82757 /* 233837 */ GIM_Reject,
82758 /* 233838 */ // Label 5382: @233838
82759 /* 233838 */ GIM_Try, /*On fail goto*//*Label 5428*/ GIMT_Encode4(234013),
82760 /* 233843 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
82761 /* 233846 */ GIM_Try, /*On fail goto*//*Label 5429*/ GIMT_Encode4(233902), // Rule ID 2456 //
82762 /* 233851 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
82763 /* 233854 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82764 /* 233858 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82765 /* 233862 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82766 /* 233866 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82767 /* 233869 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82768 /* 233873 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82769 /* 233877 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82770 /* 233879 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82771 /* 233886 */ // (strict_fsqrt:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSYm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
82772 /* 233886 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSYm),
82773 /* 233889 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82774 /* 233891 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82775 /* 233895 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82776 /* 233900 */ GIR_RootConstrainSelectedInstOperands,
82777 /* 233901 */ // GIR_Coverage, 2456,
82778 /* 233901 */ GIR_EraseRootFromParent_Done,
82779 /* 233902 */ // Label 5429: @233902
82780 /* 233902 */ GIM_Try, /*On fail goto*//*Label 5430*/ GIMT_Encode4(233958), // Rule ID 12078 //
82781 /* 233907 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
82782 /* 233910 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82783 /* 233914 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82784 /* 233918 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82785 /* 233922 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82786 /* 233925 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82787 /* 233929 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82788 /* 233933 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82789 /* 233935 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82790 /* 233942 */ // (strict_fsqrt:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZ256m:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
82791 /* 233942 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ256m),
82792 /* 233945 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82793 /* 233947 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82794 /* 233951 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82795 /* 233956 */ GIR_RootConstrainSelectedInstOperands,
82796 /* 233957 */ // GIR_Coverage, 12078,
82797 /* 233957 */ GIR_EraseRootFromParent_Done,
82798 /* 233958 */ // Label 5430: @233958
82799 /* 233958 */ GIM_Try, /*On fail goto*//*Label 5431*/ GIMT_Encode4(233985), // Rule ID 2454 //
82800 /* 233963 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
82801 /* 233966 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82802 /* 233970 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82803 /* 233974 */ // (strict_fsqrt:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src) => (VSQRTPSYr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src)
82804 /* 233974 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSYr),
82805 /* 233979 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82806 /* 233983 */ GIR_RootConstrainSelectedInstOperands,
82807 /* 233984 */ // GIR_Coverage, 2454,
82808 /* 233984 */ GIR_Done,
82809 /* 233985 */ // Label 5431: @233985
82810 /* 233985 */ GIM_Try, /*On fail goto*//*Label 5432*/ GIMT_Encode4(234012), // Rule ID 12074 //
82811 /* 233990 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
82812 /* 233993 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82813 /* 233997 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82814 /* 234001 */ // (strict_fsqrt:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src) => (VSQRTPSZ256r:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src)
82815 /* 234001 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ256r),
82816 /* 234006 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82817 /* 234010 */ GIR_RootConstrainSelectedInstOperands,
82818 /* 234011 */ // GIR_Coverage, 12074,
82819 /* 234011 */ GIR_Done,
82820 /* 234012 */ // Label 5432: @234012
82821 /* 234012 */ GIM_Reject,
82822 /* 234013 */ // Label 5428: @234013
82823 /* 234013 */ GIM_Reject,
82824 /* 234014 */ // Label 5383: @234014
82825 /* 234014 */ GIM_Try, /*On fail goto*//*Label 5433*/ GIMT_Encode4(234102),
82826 /* 234019 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
82827 /* 234022 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82828 /* 234026 */ GIM_Try, /*On fail goto*//*Label 5434*/ GIMT_Encode4(234078), // Rule ID 12054 //
82829 /* 234031 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
82830 /* 234034 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82831 /* 234038 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82832 /* 234042 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82833 /* 234045 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82834 /* 234049 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82835 /* 234053 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82836 /* 234055 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82837 /* 234062 */ // (strict_fsqrt:{ *:[v8f64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
82838 /* 234062 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZm),
82839 /* 234065 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82840 /* 234067 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82841 /* 234071 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82842 /* 234076 */ GIR_RootConstrainSelectedInstOperands,
82843 /* 234077 */ // GIR_Coverage, 12054,
82844 /* 234077 */ GIR_EraseRootFromParent_Done,
82845 /* 234078 */ // Label 5434: @234078
82846 /* 234078 */ GIM_Try, /*On fail goto*//*Label 5435*/ GIMT_Encode4(234101), // Rule ID 12050 //
82847 /* 234083 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
82848 /* 234086 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82849 /* 234090 */ // (strict_fsqrt:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src) => (VSQRTPDZr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src)
82850 /* 234090 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZr),
82851 /* 234095 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82852 /* 234099 */ GIR_RootConstrainSelectedInstOperands,
82853 /* 234100 */ // GIR_Coverage, 12050,
82854 /* 234100 */ GIR_Done,
82855 /* 234101 */ // Label 5435: @234101
82856 /* 234101 */ GIM_Reject,
82857 /* 234102 */ // Label 5433: @234102
82858 /* 234102 */ GIM_Reject,
82859 /* 234103 */ // Label 5384: @234103
82860 /* 234103 */ GIM_Try, /*On fail goto*//*Label 5436*/ GIMT_Encode4(234191),
82861 /* 234108 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
82862 /* 234111 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82863 /* 234115 */ GIM_Try, /*On fail goto*//*Label 5437*/ GIMT_Encode4(234167), // Rule ID 12030 //
82864 /* 234120 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
82865 /* 234123 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82866 /* 234127 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82867 /* 234131 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82868 /* 234134 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82869 /* 234138 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82870 /* 234142 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82871 /* 234144 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82872 /* 234151 */ // (strict_fsqrt:{ *:[v16f16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZ256m:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
82873 /* 234151 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ256m),
82874 /* 234154 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82875 /* 234156 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82876 /* 234160 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82877 /* 234165 */ GIR_RootConstrainSelectedInstOperands,
82878 /* 234166 */ // GIR_Coverage, 12030,
82879 /* 234166 */ GIR_EraseRootFromParent_Done,
82880 /* 234167 */ // Label 5437: @234167
82881 /* 234167 */ GIM_Try, /*On fail goto*//*Label 5438*/ GIMT_Encode4(234190), // Rule ID 12026 //
82882 /* 234172 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
82883 /* 234175 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82884 /* 234179 */ // (strict_fsqrt:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src) => (VSQRTPHZ256r:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src)
82885 /* 234179 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ256r),
82886 /* 234184 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82887 /* 234188 */ GIR_RootConstrainSelectedInstOperands,
82888 /* 234189 */ // GIR_Coverage, 12026,
82889 /* 234189 */ GIR_Done,
82890 /* 234190 */ // Label 5438: @234190
82891 /* 234190 */ GIM_Reject,
82892 /* 234191 */ // Label 5436: @234191
82893 /* 234191 */ GIM_Reject,
82894 /* 234192 */ // Label 5385: @234192
82895 /* 234192 */ GIM_Try, /*On fail goto*//*Label 5439*/ GIMT_Encode4(234280),
82896 /* 234197 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
82897 /* 234200 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82898 /* 234204 */ GIM_Try, /*On fail goto*//*Label 5440*/ GIMT_Encode4(234256), // Rule ID 12042 //
82899 /* 234209 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
82900 /* 234212 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82901 /* 234216 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82902 /* 234220 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82903 /* 234223 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82904 /* 234227 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82905 /* 234231 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82906 /* 234233 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82907 /* 234240 */ // (strict_fsqrt:{ *:[v16f32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
82908 /* 234240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZm),
82909 /* 234243 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82910 /* 234245 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82911 /* 234249 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82912 /* 234254 */ GIR_RootConstrainSelectedInstOperands,
82913 /* 234255 */ // GIR_Coverage, 12042,
82914 /* 234255 */ GIR_EraseRootFromParent_Done,
82915 /* 234256 */ // Label 5440: @234256
82916 /* 234256 */ GIM_Try, /*On fail goto*//*Label 5441*/ GIMT_Encode4(234279), // Rule ID 12038 //
82917 /* 234261 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
82918 /* 234264 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82919 /* 234268 */ // (strict_fsqrt:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src) => (VSQRTPSZr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src)
82920 /* 234268 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZr),
82921 /* 234273 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82922 /* 234277 */ GIR_RootConstrainSelectedInstOperands,
82923 /* 234278 */ // GIR_Coverage, 12038,
82924 /* 234278 */ GIR_Done,
82925 /* 234279 */ // Label 5441: @234279
82926 /* 234279 */ GIM_Reject,
82927 /* 234280 */ // Label 5439: @234280
82928 /* 234280 */ GIM_Reject,
82929 /* 234281 */ // Label 5386: @234281
82930 /* 234281 */ GIM_Try, /*On fail goto*//*Label 5442*/ GIMT_Encode4(234369),
82931 /* 234286 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
82932 /* 234289 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82933 /* 234293 */ GIM_Try, /*On fail goto*//*Label 5443*/ GIMT_Encode4(234345), // Rule ID 12006 //
82934 /* 234298 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
82935 /* 234301 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82936 /* 234305 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82937 /* 234309 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82938 /* 234312 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82939 /* 234316 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82940 /* 234320 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82941 /* 234322 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82942 /* 234329 */ // (strict_fsqrt:{ *:[v32f16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
82943 /* 234329 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZm),
82944 /* 234332 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82945 /* 234334 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82946 /* 234338 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82947 /* 234343 */ GIR_RootConstrainSelectedInstOperands,
82948 /* 234344 */ // GIR_Coverage, 12006,
82949 /* 234344 */ GIR_EraseRootFromParent_Done,
82950 /* 234345 */ // Label 5443: @234345
82951 /* 234345 */ GIM_Try, /*On fail goto*//*Label 5444*/ GIMT_Encode4(234368), // Rule ID 12002 //
82952 /* 234350 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
82953 /* 234353 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82954 /* 234357 */ // (strict_fsqrt:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src) => (VSQRTPHZr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src)
82955 /* 234357 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZr),
82956 /* 234362 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82957 /* 234366 */ GIR_RootConstrainSelectedInstOperands,
82958 /* 234367 */ // GIR_Coverage, 12002,
82959 /* 234367 */ GIR_Done,
82960 /* 234368 */ // Label 5444: @234368
82961 /* 234368 */ GIM_Reject,
82962 /* 234369 */ // Label 5442: @234369
82963 /* 234369 */ GIM_Reject,
82964 /* 234370 */ // Label 5387: @234370
82965 /* 234370 */ GIM_Reject,
82966 /* 234371 */ // Label 75: @234371
82967 /* 234371 */ GIM_Try, /*On fail goto*//*Label 5445*/ GIMT_Encode4(234383), // Rule ID 17062 //
82968 /* 234376 */ // (trap) => (TRAP)
82969 /* 234376 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::TRAP),
82970 /* 234381 */ GIR_RootConstrainSelectedInstOperands,
82971 /* 234382 */ // GIR_Coverage, 17062,
82972 /* 234382 */ GIR_Done,
82973 /* 234383 */ // Label 5445: @234383
82974 /* 234383 */ GIM_Reject,
82975 /* 234384 */ // Label 76: @234384
82976 /* 234384 */ GIM_Try, /*On fail goto*//*Label 5446*/ GIMT_Encode4(234399), // Rule ID 22438 //
82977 /* 234389 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotPS),
82978 /* 234392 */ // (debugtrap) => (INT3)
82979 /* 234392 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::INT3),
82980 /* 234397 */ GIR_RootConstrainSelectedInstOperands,
82981 /* 234398 */ // GIR_Coverage, 22438,
82982 /* 234398 */ GIR_Done,
82983 /* 234399 */ // Label 5446: @234399
82984 /* 234399 */ GIM_Try, /*On fail goto*//*Label 5447*/ GIMT_Encode4(234419), // Rule ID 22439 //
82985 /* 234404 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsPS),
82986 /* 234407 */ // (debugtrap) => (INT 65:{ *:[i8] })
82987 /* 234407 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INT),
82988 /* 234410 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/65,
82989 /* 234413 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
82990 /* 234417 */ GIR_RootConstrainSelectedInstOperands,
82991 /* 234418 */ // GIR_Coverage, 22439,
82992 /* 234418 */ GIR_EraseRootFromParent_Done,
82993 /* 234419 */ // Label 5447: @234419
82994 /* 234419 */ GIM_Reject,
82995 /* 234420 */ // Label 77: @234420
82996 /* 234420 */ GIM_Try, /*On fail goto*//*Label 5448*/ GIMT_Encode4(234435), // Rule ID 17064 //
82997 /* 234425 */ // MIs[0] kind
82998 /* 234425 */ GIM_CheckIsImm, /*MI*/0, /*Op*/0,
82999 /* 234428 */ // (ubsantrap (timm:{ *:[i32] }):$kind) => (UBSAN_UD1 (timm:{ *:[i32] }):$kind)
83000 /* 234428 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::UBSAN_UD1),
83001 /* 234433 */ GIR_RootConstrainSelectedInstOperands,
83002 /* 234434 */ // GIR_Coverage, 17064,
83003 /* 234434 */ GIR_Done,
83004 /* 234435 */ // Label 5448: @234435
83005 /* 234435 */ GIM_Reject,
83006 /* 234436 */ // Label 78: @234436
83007 /* 234436 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 5452*/ GIMT_Encode4(234894),
83008 /* 234447 */ /*GILLT_s32*//*Label 5449*/ GIMT_Encode4(234459),
83009 /* 234451 */ /*GILLT_s64*//*Label 5450*/ GIMT_Encode4(234604),
83010 /* 234455 */ /*GILLT_s80*//*Label 5451*/ GIMT_Encode4(234749),
83011 /* 234459 */ // Label 5449: @234459
83012 /* 234459 */ GIM_Try, /*On fail goto*//*Label 5453*/ GIMT_Encode4(234507), // Rule ID 1086 //
83013 /* 234464 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
83014 /* 234467 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
83015 /* 234474 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
83016 /* 234478 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83017 /* 234482 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83018 /* 234489 */ // (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild16>> => (ILD_Fp16m32:{ *:[f32] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
83019 /* 234489 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp16m32),
83020 /* 234492 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83021 /* 234494 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83022 /* 234498 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83023 /* 234501 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83024 /* 234505 */ GIR_RootConstrainSelectedInstOperands,
83025 /* 234506 */ // GIR_Coverage, 1086,
83026 /* 234506 */ GIR_EraseRootFromParent_Done,
83027 /* 234507 */ // Label 5453: @234507
83028 /* 234507 */ GIM_Try, /*On fail goto*//*Label 5454*/ GIMT_Encode4(234555), // Rule ID 1087 //
83029 /* 234512 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
83030 /* 234515 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
83031 /* 234522 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
83032 /* 234526 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83033 /* 234530 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83034 /* 234537 */ // (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild32>> => (ILD_Fp32m32:{ *:[f32] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
83035 /* 234537 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp32m32),
83036 /* 234540 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83037 /* 234542 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83038 /* 234546 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83039 /* 234549 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83040 /* 234553 */ GIR_RootConstrainSelectedInstOperands,
83041 /* 234554 */ // GIR_Coverage, 1087,
83042 /* 234554 */ GIR_EraseRootFromParent_Done,
83043 /* 234555 */ // Label 5454: @234555
83044 /* 234555 */ GIM_Try, /*On fail goto*//*Label 5455*/ GIMT_Encode4(234603), // Rule ID 1088 //
83045 /* 234560 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
83046 /* 234563 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
83047 /* 234570 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
83048 /* 234574 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83049 /* 234578 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83050 /* 234585 */ // (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild64>> => (ILD_Fp64m32:{ *:[f32] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
83051 /* 234585 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp64m32),
83052 /* 234588 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83053 /* 234590 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83054 /* 234594 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83055 /* 234597 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83056 /* 234601 */ GIR_RootConstrainSelectedInstOperands,
83057 /* 234602 */ // GIR_Coverage, 1088,
83058 /* 234602 */ GIR_EraseRootFromParent_Done,
83059 /* 234603 */ // Label 5455: @234603
83060 /* 234603 */ GIM_Reject,
83061 /* 234604 */ // Label 5450: @234604
83062 /* 234604 */ GIM_Try, /*On fail goto*//*Label 5456*/ GIMT_Encode4(234652), // Rule ID 1089 //
83063 /* 234609 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
83064 /* 234612 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
83065 /* 234619 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
83066 /* 234623 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83067 /* 234627 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83068 /* 234634 */ // (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild16>> => (ILD_Fp16m64:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
83069 /* 234634 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp16m64),
83070 /* 234637 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83071 /* 234639 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83072 /* 234643 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83073 /* 234646 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83074 /* 234650 */ GIR_RootConstrainSelectedInstOperands,
83075 /* 234651 */ // GIR_Coverage, 1089,
83076 /* 234651 */ GIR_EraseRootFromParent_Done,
83077 /* 234652 */ // Label 5456: @234652
83078 /* 234652 */ GIM_Try, /*On fail goto*//*Label 5457*/ GIMT_Encode4(234700), // Rule ID 1090 //
83079 /* 234657 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
83080 /* 234660 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
83081 /* 234667 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
83082 /* 234671 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83083 /* 234675 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83084 /* 234682 */ // (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild32>> => (ILD_Fp32m64:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
83085 /* 234682 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp32m64),
83086 /* 234685 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83087 /* 234687 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83088 /* 234691 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83089 /* 234694 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83090 /* 234698 */ GIR_RootConstrainSelectedInstOperands,
83091 /* 234699 */ // GIR_Coverage, 1090,
83092 /* 234699 */ GIR_EraseRootFromParent_Done,
83093 /* 234700 */ // Label 5457: @234700
83094 /* 234700 */ GIM_Try, /*On fail goto*//*Label 5458*/ GIMT_Encode4(234748), // Rule ID 1091 //
83095 /* 234705 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
83096 /* 234708 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
83097 /* 234715 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
83098 /* 234719 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83099 /* 234723 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83100 /* 234730 */ // (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild64>> => (ILD_Fp64m64:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
83101 /* 234730 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp64m64),
83102 /* 234733 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83103 /* 234735 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83104 /* 234739 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83105 /* 234742 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83106 /* 234746 */ GIR_RootConstrainSelectedInstOperands,
83107 /* 234747 */ // GIR_Coverage, 1091,
83108 /* 234747 */ GIR_EraseRootFromParent_Done,
83109 /* 234748 */ // Label 5458: @234748
83110 /* 234748 */ GIM_Reject,
83111 /* 234749 */ // Label 5451: @234749
83112 /* 234749 */ GIM_Try, /*On fail goto*//*Label 5459*/ GIMT_Encode4(234797), // Rule ID 1092 //
83113 /* 234754 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
83114 /* 234757 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
83115 /* 234764 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
83116 /* 234768 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83117 /* 234772 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83118 /* 234779 */ // (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild16>> => (ILD_Fp16m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
83119 /* 234779 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp16m80),
83120 /* 234782 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83121 /* 234784 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83122 /* 234788 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83123 /* 234791 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83124 /* 234795 */ GIR_RootConstrainSelectedInstOperands,
83125 /* 234796 */ // GIR_Coverage, 1092,
83126 /* 234796 */ GIR_EraseRootFromParent_Done,
83127 /* 234797 */ // Label 5459: @234797
83128 /* 234797 */ GIM_Try, /*On fail goto*//*Label 5460*/ GIMT_Encode4(234845), // Rule ID 1093 //
83129 /* 234802 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
83130 /* 234805 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
83131 /* 234812 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
83132 /* 234816 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83133 /* 234820 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83134 /* 234827 */ // (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild32>> => (ILD_Fp32m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
83135 /* 234827 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp32m80),
83136 /* 234830 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83137 /* 234832 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83138 /* 234836 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83139 /* 234839 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83140 /* 234843 */ GIR_RootConstrainSelectedInstOperands,
83141 /* 234844 */ // GIR_Coverage, 1093,
83142 /* 234844 */ GIR_EraseRootFromParent_Done,
83143 /* 234845 */ // Label 5460: @234845
83144 /* 234845 */ GIM_Try, /*On fail goto*//*Label 5461*/ GIMT_Encode4(234893), // Rule ID 1094 //
83145 /* 234850 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
83146 /* 234853 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
83147 /* 234860 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
83148 /* 234864 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83149 /* 234868 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83150 /* 234875 */ // (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild64>> => (ILD_Fp64m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
83151 /* 234875 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp64m80),
83152 /* 234878 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83153 /* 234880 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83154 /* 234884 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83155 /* 234887 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83156 /* 234891 */ GIR_RootConstrainSelectedInstOperands,
83157 /* 234892 */ // GIR_Coverage, 1094,
83158 /* 234892 */ GIR_EraseRootFromParent_Done,
83159 /* 234893 */ // Label 5461: @234893
83160 /* 234893 */ GIM_Reject,
83161 /* 234894 */ // Label 5452: @234894
83162 /* 234894 */ GIM_Reject,
83163 /* 234895 */ // Label 79: @234895
83164 /* 234895 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 5465*/ GIMT_Encode4(235758),
83165 /* 234906 */ /*GILLT_s32*//*Label 5462*/ GIMT_Encode4(234918),
83166 /* 234910 */ /*GILLT_s64*//*Label 5463*/ GIMT_Encode4(235198),
83167 /* 234914 */ /*GILLT_s80*//*Label 5464*/ GIMT_Encode4(235478),
83168 /* 234918 */ // Label 5462: @234918
83169 /* 234918 */ GIM_Try, /*On fail goto*//*Label 5466*/ GIMT_Encode4(234963), // Rule ID 873 //
83170 /* 234923 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
83171 /* 234930 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
83172 /* 234934 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83173 /* 234938 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83174 /* 234945 */ // (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)
83175 /* 234945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP32_TO_INT16_IN_MEM),
83176 /* 234948 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83177 /* 234952 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83178 /* 234954 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
83179 /* 234957 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83180 /* 234961 */ GIR_RootConstrainSelectedInstOperands,
83181 /* 234962 */ // GIR_Coverage, 873,
83182 /* 234962 */ GIR_EraseRootFromParent_Done,
83183 /* 234963 */ // Label 5466: @234963
83184 /* 234963 */ GIM_Try, /*On fail goto*//*Label 5467*/ GIMT_Encode4(235008), // Rule ID 874 //
83185 /* 234968 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
83186 /* 234975 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
83187 /* 234979 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83188 /* 234983 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83189 /* 234990 */ // (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)
83190 /* 234990 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP32_TO_INT32_IN_MEM),
83191 /* 234993 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83192 /* 234997 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83193 /* 234999 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
83194 /* 235002 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83195 /* 235006 */ GIR_RootConstrainSelectedInstOperands,
83196 /* 235007 */ // GIR_Coverage, 874,
83197 /* 235007 */ GIR_EraseRootFromParent_Done,
83198 /* 235008 */ // Label 5467: @235008
83199 /* 235008 */ GIM_Try, /*On fail goto*//*Label 5468*/ GIMT_Encode4(235053), // Rule ID 875 //
83200 /* 235013 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
83201 /* 235020 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
83202 /* 235024 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83203 /* 235028 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83204 /* 235035 */ // (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)
83205 /* 235035 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP32_TO_INT64_IN_MEM),
83206 /* 235038 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83207 /* 235042 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83208 /* 235044 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
83209 /* 235047 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83210 /* 235051 */ GIR_RootConstrainSelectedInstOperands,
83211 /* 235052 */ // GIR_Coverage, 875,
83212 /* 235052 */ GIR_EraseRootFromParent_Done,
83213 /* 235053 */ // Label 5468: @235053
83214 /* 235053 */ GIM_Try, /*On fail goto*//*Label 5469*/ GIMT_Encode4(235101), // Rule ID 1107 //
83215 /* 235058 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
83216 /* 235061 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
83217 /* 235068 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
83218 /* 235072 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83219 /* 235076 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83220 /* 235083 */ // (X86fp_to_mem RFP32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i16mem>> => (ISTT_Fp16m32:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP32:{ *:[f32] }:$src)
83221 /* 235083 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp16m32),
83222 /* 235086 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
83223 /* 235090 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83224 /* 235092 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83225 /* 235095 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83226 /* 235099 */ GIR_RootConstrainSelectedInstOperands,
83227 /* 235100 */ // GIR_Coverage, 1107,
83228 /* 235100 */ GIR_EraseRootFromParent_Done,
83229 /* 235101 */ // Label 5469: @235101
83230 /* 235101 */ GIM_Try, /*On fail goto*//*Label 5470*/ GIMT_Encode4(235149), // Rule ID 1108 //
83231 /* 235106 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
83232 /* 235109 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
83233 /* 235116 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
83234 /* 235120 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83235 /* 235124 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83236 /* 235131 */ // (X86fp_to_mem RFP32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i32mem>> => (ISTT_Fp32m32:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP32:{ *:[f32] }:$src)
83237 /* 235131 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp32m32),
83238 /* 235134 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
83239 /* 235138 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83240 /* 235140 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83241 /* 235143 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83242 /* 235147 */ GIR_RootConstrainSelectedInstOperands,
83243 /* 235148 */ // GIR_Coverage, 1108,
83244 /* 235148 */ GIR_EraseRootFromParent_Done,
83245 /* 235149 */ // Label 5470: @235149
83246 /* 235149 */ GIM_Try, /*On fail goto*//*Label 5471*/ GIMT_Encode4(235197), // Rule ID 1109 //
83247 /* 235154 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
83248 /* 235157 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
83249 /* 235164 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
83250 /* 235168 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83251 /* 235172 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83252 /* 235179 */ // (X86fp_to_mem RFP32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i64mem>> => (ISTT_Fp64m32:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP32:{ *:[f32] }:$src)
83253 /* 235179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp64m32),
83254 /* 235182 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
83255 /* 235186 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83256 /* 235188 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83257 /* 235191 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83258 /* 235195 */ GIR_RootConstrainSelectedInstOperands,
83259 /* 235196 */ // GIR_Coverage, 1109,
83260 /* 235196 */ GIR_EraseRootFromParent_Done,
83261 /* 235197 */ // Label 5471: @235197
83262 /* 235197 */ GIM_Reject,
83263 /* 235198 */ // Label 5463: @235198
83264 /* 235198 */ GIM_Try, /*On fail goto*//*Label 5472*/ GIMT_Encode4(235243), // Rule ID 876 //
83265 /* 235203 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
83266 /* 235210 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
83267 /* 235214 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83268 /* 235218 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83269 /* 235225 */ // (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)
83270 /* 235225 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP64_TO_INT16_IN_MEM),
83271 /* 235228 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83272 /* 235232 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83273 /* 235234 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
83274 /* 235237 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83275 /* 235241 */ GIR_RootConstrainSelectedInstOperands,
83276 /* 235242 */ // GIR_Coverage, 876,
83277 /* 235242 */ GIR_EraseRootFromParent_Done,
83278 /* 235243 */ // Label 5472: @235243
83279 /* 235243 */ GIM_Try, /*On fail goto*//*Label 5473*/ GIMT_Encode4(235288), // Rule ID 877 //
83280 /* 235248 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
83281 /* 235255 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
83282 /* 235259 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83283 /* 235263 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83284 /* 235270 */ // (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)
83285 /* 235270 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP64_TO_INT32_IN_MEM),
83286 /* 235273 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83287 /* 235277 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83288 /* 235279 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
83289 /* 235282 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83290 /* 235286 */ GIR_RootConstrainSelectedInstOperands,
83291 /* 235287 */ // GIR_Coverage, 877,
83292 /* 235287 */ GIR_EraseRootFromParent_Done,
83293 /* 235288 */ // Label 5473: @235288
83294 /* 235288 */ GIM_Try, /*On fail goto*//*Label 5474*/ GIMT_Encode4(235333), // Rule ID 878 //
83295 /* 235293 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
83296 /* 235300 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
83297 /* 235304 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83298 /* 235308 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83299 /* 235315 */ // (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)
83300 /* 235315 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP64_TO_INT64_IN_MEM),
83301 /* 235318 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83302 /* 235322 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83303 /* 235324 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
83304 /* 235327 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83305 /* 235331 */ GIR_RootConstrainSelectedInstOperands,
83306 /* 235332 */ // GIR_Coverage, 878,
83307 /* 235332 */ GIR_EraseRootFromParent_Done,
83308 /* 235333 */ // Label 5474: @235333
83309 /* 235333 */ GIM_Try, /*On fail goto*//*Label 5475*/ GIMT_Encode4(235381), // Rule ID 1110 //
83310 /* 235338 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
83311 /* 235341 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
83312 /* 235348 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
83313 /* 235352 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83314 /* 235356 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83315 /* 235363 */ // (X86fp_to_mem RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i16mem>> => (ISTT_Fp16m64:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP64:{ *:[f64] }:$src)
83316 /* 235363 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp16m64),
83317 /* 235366 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
83318 /* 235370 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83319 /* 235372 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83320 /* 235375 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83321 /* 235379 */ GIR_RootConstrainSelectedInstOperands,
83322 /* 235380 */ // GIR_Coverage, 1110,
83323 /* 235380 */ GIR_EraseRootFromParent_Done,
83324 /* 235381 */ // Label 5475: @235381
83325 /* 235381 */ GIM_Try, /*On fail goto*//*Label 5476*/ GIMT_Encode4(235429), // Rule ID 1111 //
83326 /* 235386 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
83327 /* 235389 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
83328 /* 235396 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
83329 /* 235400 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83330 /* 235404 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83331 /* 235411 */ // (X86fp_to_mem RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i32mem>> => (ISTT_Fp32m64:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP64:{ *:[f64] }:$src)
83332 /* 235411 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp32m64),
83333 /* 235414 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
83334 /* 235418 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83335 /* 235420 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83336 /* 235423 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83337 /* 235427 */ GIR_RootConstrainSelectedInstOperands,
83338 /* 235428 */ // GIR_Coverage, 1111,
83339 /* 235428 */ GIR_EraseRootFromParent_Done,
83340 /* 235429 */ // Label 5476: @235429
83341 /* 235429 */ GIM_Try, /*On fail goto*//*Label 5477*/ GIMT_Encode4(235477), // Rule ID 1112 //
83342 /* 235434 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
83343 /* 235437 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
83344 /* 235444 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
83345 /* 235448 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83346 /* 235452 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83347 /* 235459 */ // (X86fp_to_mem RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i64mem>> => (ISTT_Fp64m64:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP64:{ *:[f64] }:$src)
83348 /* 235459 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp64m64),
83349 /* 235462 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
83350 /* 235466 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83351 /* 235468 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83352 /* 235471 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83353 /* 235475 */ GIR_RootConstrainSelectedInstOperands,
83354 /* 235476 */ // GIR_Coverage, 1112,
83355 /* 235476 */ GIR_EraseRootFromParent_Done,
83356 /* 235477 */ // Label 5477: @235477
83357 /* 235477 */ GIM_Reject,
83358 /* 235478 */ // Label 5464: @235478
83359 /* 235478 */ GIM_Try, /*On fail goto*//*Label 5478*/ GIMT_Encode4(235523), // Rule ID 879 //
83360 /* 235483 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
83361 /* 235490 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
83362 /* 235494 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83363 /* 235498 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83364 /* 235505 */ // (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)
83365 /* 235505 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP80_TO_INT16_IN_MEM),
83366 /* 235508 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83367 /* 235512 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83368 /* 235514 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
83369 /* 235517 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83370 /* 235521 */ GIR_RootConstrainSelectedInstOperands,
83371 /* 235522 */ // GIR_Coverage, 879,
83372 /* 235522 */ GIR_EraseRootFromParent_Done,
83373 /* 235523 */ // Label 5478: @235523
83374 /* 235523 */ GIM_Try, /*On fail goto*//*Label 5479*/ GIMT_Encode4(235568), // Rule ID 880 //
83375 /* 235528 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
83376 /* 235535 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
83377 /* 235539 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83378 /* 235543 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83379 /* 235550 */ // (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)
83380 /* 235550 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP80_TO_INT32_IN_MEM),
83381 /* 235553 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83382 /* 235557 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83383 /* 235559 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
83384 /* 235562 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83385 /* 235566 */ GIR_RootConstrainSelectedInstOperands,
83386 /* 235567 */ // GIR_Coverage, 880,
83387 /* 235567 */ GIR_EraseRootFromParent_Done,
83388 /* 235568 */ // Label 5479: @235568
83389 /* 235568 */ GIM_Try, /*On fail goto*//*Label 5480*/ GIMT_Encode4(235613), // Rule ID 881 //
83390 /* 235573 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
83391 /* 235580 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
83392 /* 235584 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83393 /* 235588 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83394 /* 235595 */ // (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)
83395 /* 235595 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP80_TO_INT64_IN_MEM),
83396 /* 235598 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83397 /* 235602 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83398 /* 235604 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
83399 /* 235607 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83400 /* 235611 */ GIR_RootConstrainSelectedInstOperands,
83401 /* 235612 */ // GIR_Coverage, 881,
83402 /* 235612 */ GIR_EraseRootFromParent_Done,
83403 /* 235613 */ // Label 5480: @235613
83404 /* 235613 */ GIM_Try, /*On fail goto*//*Label 5481*/ GIMT_Encode4(235661), // Rule ID 1113 //
83405 /* 235618 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
83406 /* 235621 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
83407 /* 235628 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
83408 /* 235632 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83409 /* 235636 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83410 /* 235643 */ // (X86fp_to_mem RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i16mem>> => (ISTT_Fp16m80:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP80:{ *:[f80] }:$src)
83411 /* 235643 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp16m80),
83412 /* 235646 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
83413 /* 235650 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83414 /* 235652 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83415 /* 235655 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83416 /* 235659 */ GIR_RootConstrainSelectedInstOperands,
83417 /* 235660 */ // GIR_Coverage, 1113,
83418 /* 235660 */ GIR_EraseRootFromParent_Done,
83419 /* 235661 */ // Label 5481: @235661
83420 /* 235661 */ GIM_Try, /*On fail goto*//*Label 5482*/ GIMT_Encode4(235709), // Rule ID 1114 //
83421 /* 235666 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
83422 /* 235669 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
83423 /* 235676 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
83424 /* 235680 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83425 /* 235684 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83426 /* 235691 */ // (X86fp_to_mem RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i32mem>> => (ISTT_Fp32m80:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP80:{ *:[f80] }:$src)
83427 /* 235691 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp32m80),
83428 /* 235694 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
83429 /* 235698 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83430 /* 235700 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83431 /* 235703 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83432 /* 235707 */ GIR_RootConstrainSelectedInstOperands,
83433 /* 235708 */ // GIR_Coverage, 1114,
83434 /* 235708 */ GIR_EraseRootFromParent_Done,
83435 /* 235709 */ // Label 5482: @235709
83436 /* 235709 */ GIM_Try, /*On fail goto*//*Label 5483*/ GIMT_Encode4(235757), // Rule ID 1115 //
83437 /* 235714 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
83438 /* 235717 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
83439 /* 235724 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
83440 /* 235728 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83441 /* 235732 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83442 /* 235739 */ // (X86fp_to_mem RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i64mem>> => (ISTT_Fp64m80:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP80:{ *:[f80] }:$src)
83443 /* 235739 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp64m80),
83444 /* 235742 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
83445 /* 235746 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83446 /* 235748 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83447 /* 235751 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83448 /* 235755 */ GIR_RootConstrainSelectedInstOperands,
83449 /* 235756 */ // GIR_Coverage, 1115,
83450 /* 235756 */ GIR_EraseRootFromParent_Done,
83451 /* 235757 */ // Label 5483: @235757
83452 /* 235757 */ GIM_Reject,
83453 /* 235758 */ // Label 5465: @235758
83454 /* 235758 */ GIM_Reject,
83455 /* 235759 */ // Label 80: @235759
83456 /* 235759 */ GIM_Try, /*On fail goto*//*Label 5484*/ GIMT_Encode4(235794), // Rule ID 1132 //
83457 /* 235764 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/0,
83458 /* 235768 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83459 /* 235775 */ // (X86fp_cwd_set16 addr:{ *:[iPTR] }:$dst) => (FLDCW16m:{ *:[i16] } addr:{ *:[iPTR] }:$dst)
83460 /* 235775 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FLDCW16m),
83461 /* 235778 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83462 /* 235782 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83463 /* 235785 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPCW*/1,
83464 /* 235788 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83465 /* 235792 */ GIR_RootConstrainSelectedInstOperands,
83466 /* 235793 */ // GIR_Coverage, 1132,
83467 /* 235793 */ GIR_EraseRootFromParent_Done,
83468 /* 235794 */ // Label 5484: @235794
83469 /* 235794 */ GIM_Reject,
83470 /* 235795 */ // Label 81: @235795
83471 /* 235795 */ GIM_Try, /*On fail goto*//*Label 5485*/ GIMT_Encode4(235827), // Rule ID 1131 //
83472 /* 235800 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/0,
83473 /* 235804 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83474 /* 235811 */ // (X86fp_cwd_get16 addr:{ *:[iPTR] }:$dst) => (FNSTCW16m:{ *:[i16] } addr:{ *:[iPTR] }:$dst)
83475 /* 235811 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FNSTCW16m),
83476 /* 235814 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83477 /* 235818 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83478 /* 235821 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83479 /* 235825 */ GIR_RootConstrainSelectedInstOperands,
83480 /* 235826 */ // GIR_Coverage, 1131,
83481 /* 235826 */ GIR_EraseRootFromParent_Done,
83482 /* 235827 */ // Label 5485: @235827
83483 /* 235827 */ GIM_Reject,
83484 /* 235828 */ // Label 82: @235828
83485 /* 235828 */ GIM_Reject,
83486 /* 235829 */ }; // Size: 235829 bytes
83487 return MatchTable0;
83488}
83489#undef GIMT_Encode2
83490#undef GIMT_Encode4
83491#undef GIMT_Encode8
83492
83493
83494#endif // GET_GLOBALISEL_IMPL
83495
83496#ifdef GET_GLOBALISEL_PREDICATES_DECL
83497
83498PredicateBitset AvailableModuleFeatures;
83499mutable PredicateBitset AvailableFunctionFeatures;
83500PredicateBitset getAvailableFeatures() const {
83501 return AvailableModuleFeatures | AvailableFunctionFeatures;
83502}
83503PredicateBitset
83504computeAvailableModuleFeatures(const X86Subtarget *Subtarget) const;
83505PredicateBitset
83506computeAvailableFunctionFeatures(const X86Subtarget *Subtarget,
83507 const MachineFunction *MF) const;
83508void setupGeneratedPerFunctionState(MachineFunction &MF) override;
83509
83510#endif // GET_GLOBALISEL_PREDICATES_DECL
83511
83512#ifdef GET_GLOBALISEL_PREDICATES_INIT
83513
83514AvailableModuleFeatures(computeAvailableModuleFeatures(&STI)),
83515AvailableFunctionFeatures()
83516
83517#endif // GET_GLOBALISEL_PREDICATES_INIT
83518
83519